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¶

APIConfig

FastAPI application configuration.

DiscoveryConfig

Discovery system configuration.

HealthStatus

Health check status.

MCPPlatform

Specialized platform for MCP operations - inherits all base capabilities.

MCPTransport

MCP transport protocols.

PluginConfig

Plugin configuration model.

ServerManagementConfig

Server management configuration.

ServerSource

Where the server came from.

ServerStatus

Server operational status.

Module Contents¶

class dataflow.platform.models.mcp.APIConfig(/, **data)¶

Bases: pydantic.BaseModel

FastAPI application configuration.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dataflow.platform.models.mcp.DiscoveryConfig(/, **data)¶

Bases: pydantic.BaseModel

Discovery system configuration.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dataflow.platform.models.mcp.HealthStatus¶

Bases: str, enum.Enum

Health check status.

Initialize self. See help(type(self)) for accurate signature.

class dataflow.platform.models.mcp.MCPPlatform¶

Bases: dataflow.platform.models.base.BasePlatform

Specialized 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)¶

Add a plugin to the platform.

Parameters:

plugin_config (PluginConfig) – Plugin configuration to add

Raises:

ValueError – If plugin name already exists

Return type:

None

get_enabled_plugins()¶

Get list of enabled plugins.

Returns:

List of enabled plugin configurations

Return type:

List[PluginConfig]

get_mcp_capability_summary()¶

Get summary of MCP-specific capabilities.

Returns:

Dictionary mapping MCP capability names to their status

Return type:

Dict[str, bool]

get_plugin(plugin_name)¶

Get plugin configuration by name.

Parameters:

plugin_name (str) – Name of plugin to find

Returns:

Plugin configuration if found, None otherwise

Return type:

Optional[PluginConfig]

remove_plugin(plugin_name)¶

Remove a plugin from the platform.

Parameters:

plugin_name (str) – Name of plugin to remove

Returns:

True if plugin was removed, False if not found

Return type:

bool

classmethod validate_plugins_unique(v)¶

Ensure plugin names are unique.

Parameters:

v (List[PluginConfig]) – List of plugin configurations

Returns:

Validated plugin list

Raises:

ValueError – If duplicate plugin names found

Return type:

List[PluginConfig]

class dataflow.platform.models.mcp.MCPTransport¶

Bases: str, enum.Enum

MCP transport protocols.

Initialize self. See help(type(self)) for accurate signature.

class dataflow.platform.models.mcp.PluginConfig(/, **data)¶

Bases: pydantic.BaseModel

Plugin configuration model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

classmethod validate_entry_point(v)¶

Validate entry point format.

Parameters:

v (str)

Return type:

str

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dataflow.platform.models.mcp.ServerManagementConfig(/, **data)¶

Bases: pydantic.BaseModel

Server management configuration.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dataflow.platform.models.mcp.ServerSource¶

Bases: str, enum.Enum

Where the server came from.

Initialize self. See help(type(self)) for accurate signature.

class dataflow.platform.models.mcp.ServerStatus¶

Bases: str, enum.Enum

Server operational status.

Initialize self. See help(type(self)) for accurate signature.