mcp.servers.modelsΒΆ
MCP Server-specific models extending base server management framework.
This module provides MCP-specific server configuration and runtime information models that extend the base server management framework from haive-dataflow.
- Key Components:
MCPTransport: Enum for MCP transport types (stdio, http, etc.)
MCPServerConfig: MCP-specific server configuration
MCPServerInfo: MCP runtime information with transport details
ClassesΒΆ
MCP-specific server configuration. |
|
MCP-specific server runtime information. |
|
MCP transport mechanism types. |
Module ContentsΒΆ
- class mcp.servers.models.MCPServerConfigΒΆ
Bases:
haive.dataflow.server_management.models.BaseServerConfig
MCP-specific server configuration.
Extends BaseServerConfig with MCP-specific fields like transport type, required environment variables, and protocol version.
- transportΒΆ
MCP transport mechanism (stdio, http, etc.)
- requires_envΒΆ
List of required environment variable names
- protocol_versionΒΆ
MCP protocol version (default: β1.0β)
- capabilitiesΒΆ
List of server capabilities/features
- endpointsΒΆ
Optional endpoints for HTTP/WebSocket transports
Example
>>> config = MCPServerConfig( ... name="github", ... command=["npx", "-y", "@modelcontextprotocol/server-github"], ... description="GitHub repository access", ... transport=MCPTransport.STDIO, ... requires_env=["GITHUB_TOKEN"] ... )
- validate_transport_config() MCPServerConfig ΒΆ
Validate transport-specific configuration.
- transport: MCPTransport = NoneΒΆ
- class mcp.servers.models.MCPServerInfoΒΆ
Bases:
haive.dataflow.server_management.models.BaseServerInfo
MCP-specific server runtime information.
Extends BaseServerInfo with MCP-specific runtime details like transport info, connection status, and protocol negotiation results.
- transportΒΆ
Active transport type
- transport_infoΒΆ
Transport-specific connection details
- protocol_versionΒΆ
Negotiated protocol version
- capabilities_activeΒΆ
Currently active capabilities
- last_message_timeΒΆ
Timestamp of last message exchange
- message_countΒΆ
Total messages exchanged
Example
>>> info = MCPServerInfo( ... pid=12345, ... status=ServerStatus.RUNNING, ... transport=MCPTransport.STDIO, ... transport_info={"pipes": ["stdin", "stdout", "stderr"]} ... )
- last_message_time: datetime.datetime | None = NoneΒΆ
- transport: MCPTransport = NoneΒΆ