dataflow.platform.models.mcp¶
MCP Platform Models - Specialized Platform for MCP Operations
This module provides specialized platform models for MCP (Model Context Protocol) operations, inheriting from BasePlatform and extending with MCP-specific capabilities.
Key Features: - Inherits all BasePlatform capabilities - MCP-specific configuration and capabilities - Plugin management system - API and discovery configuration - Server management capabilities
Classes¶
FastAPI application configuration. |
|
Discovery system configuration. |
|
Health check status. |
|
Specialized platform for MCP operations - inherits all base capabilities. |
|
MCP transport protocols. |
|
Plugin configuration model. |
|
Server management configuration. |
|
Where the server came from. |
|
Server operational status. |
Module Contents¶
- class dataflow.platform.models.mcp.APIConfig(/, **data: Any)¶
Bases:
pydantic.BaseModelFastAPI application configuration.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class dataflow.platform.models.mcp.DiscoveryConfig(/, **data: Any)¶
Bases:
pydantic.BaseModelDiscovery system configuration.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class dataflow.platform.models.mcp.HealthStatus¶
-
Health check status.
- HEALTHY = 'healthy'¶
- UNHEALTHY = 'unhealthy'¶
- UNKNOWN = 'unknown'¶
- WARNING = 'warning'¶
- class dataflow.platform.models.mcp.MCPPlatform¶
Bases:
dataflow.platform.models.base.BasePlatformSpecialized platform for MCP operations - inherits all base capabilities.
This platform extends BasePlatform with MCP-specific functionality: - Plugin management system - Server discovery and management - API configuration - MCP transport protocol support
Inheritance Features: - Inherits all BasePlatform fields and validation - Extends capability flags with MCP-specific ones - Adds MCP-specific configuration models - Maintains platform inheritance patterns
Examples
Basic MCP platform:
platform = MCPPlatform() # Uses all defaults, inherits platform_id from class default
With custom plugins:
platform = MCPPlatform( plugins=[ PluginConfig( name="mcp-browser", entry_point="haive.mcp:MCPBrowserPlugin" ), PluginConfig( name="hap-agents", entry_point="haive.agp:HAPPlugin" ) ] )
Full configuration:
platform = MCPPlatform( platform_id="production-mcp", platform_name="Production MCP Platform", description="Production MCP management system", api_config=APIConfig(host="mcp.company.com", port=443), discovery_config=DiscoveryConfig(auto_discover=True) )
- add_plugin(plugin_config: PluginConfig) None¶
Add a plugin to the platform.
- Parameters:
plugin_config – Plugin configuration to add
- Raises:
ValueError – If plugin name already exists
- get_enabled_plugins() List[PluginConfig]¶
Get list of enabled plugins.
- Returns:
List of enabled plugin configurations
- get_mcp_capability_summary() Dict[str, bool]¶
Get summary of MCP-specific capabilities.
- Returns:
Dictionary mapping MCP capability names to their status
- get_plugin(plugin_name: str) PluginConfig | None¶
Get plugin configuration by name.
- Parameters:
plugin_name – Name of plugin to find
- Returns:
Plugin configuration if found, None otherwise
- remove_plugin(plugin_name: str) bool¶
Remove a plugin from the platform.
- Parameters:
plugin_name – Name of plugin to remove
- Returns:
True if plugin was removed, False if not found
- classmethod validate_plugins_unique(v: List[PluginConfig]) List[PluginConfig]¶
Ensure plugin names are unique.
- Parameters:
v – List of plugin configurations
- Returns:
Validated plugin list
- Raises:
ValueError – If duplicate plugin names found
- discovery_config: DiscoveryConfig = None¶
- plugins: List[PluginConfig] = None¶
- server_management_config: ServerManagementConfig = None¶
- class dataflow.platform.models.mcp.MCPTransport¶
-
MCP transport protocols.
- HTTP = 'http'¶
- SSE = 'sse'¶
- STDIO = 'stdio'¶
- WEBSOCKET = 'websocket'¶
- class dataflow.platform.models.mcp.PluginConfig(/, **data: Any)¶
Bases:
pydantic.BaseModelPlugin configuration model.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class dataflow.platform.models.mcp.ServerManagementConfig(/, **data: Any)¶
Bases:
pydantic.BaseModelServer management configuration.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].