MCP 应用程序接口参考
本文档提供 AG-Kit Python 模型上下文协议(MCP)集成组件的完整应用程序接口参考。核心类
AGKitMCPServer
将 AG-Kit 工具作为标准 MCP 服务器暴露。构造函数
config: dict- 服务器配置字典
方法
register_tool()
向服务器注册单个 AG-Kit 工具。
tool: BaseTool- 要注册的 AG-Kit 工具registration: dict- 可选的工具注册配置
dict - 已注册工具的元数据
register_tools()
使用共享配置注册多个 AG-Kit 工具。
tools: list[BaseTool]- 要注册的 AG-Kit 工具列表registration: dict- 可选的共享配置
list[dict] - 已注册工具的元数据列表
unregister_tool()
从服务器移除工具。
name: str- 要移除的工具名称
bool - 如果工具被移除返回 True,未找到返回 False
run()
使用指定传输方式启动 MCP 服务器。
transport_config: dict- 传输配置
stop()
停止 MCP 服务器并清理资源。
call_tool()
直接调用已注册工具。
name: str- 要执行的工具名称args: dict- 工具参数
dict - MCP 格式的工具结果
list_tools()
获取所有已注册工具的列表。
is_server_running()
检查服务器当前是否正在运行。
bool - 如果服务器正在运行返回 True
get_stats()
获取服务器统计信息和状态。
get_server_info()
获取服务器信息。
get_config()
获取当前服务器配置。
update_config()
更新服务器配置。
get_connection_info()
获取连接信息。
get_transport_type()
获取当前传输类型。
get_memory_id()
如果使用内存传输,获取内存传输 ID。
add_event_listener()
添加服务器事件监听器。
listener: Callable- 接收 MCPEvent 的事件监听函数
remove_event_listener()
移除事件监听器。
bool - 如果监听器被移除返回 True
MCPClientManager
管理外部 MCP 服务器的连接。构造函数
方法
add_server()
添加并连接到 MCP 服务器。
server_id: str- 服务器的唯一标识符config: dict- 客户端配置connection_options: dict- 可选的连接设置
disconnect_server()
断开与特定服务器的连接。
disconnect_all()
断开与所有服务器的连接。
create_client_tools()
为所有可用的 MCP 工具创建 AG-Kit 工具包装器。
server_id: str- 可选的服务端 ID 用于筛选工具
get_all_tools()
从所有服务器获取工具元数据。
is_server_connected()
检查服务器是否已连接。
get_connection_status()
获取所有服务器的连接状态。
get_all_statuses()
获取所有服务器的详细状态。
get_stats()
获取客户端管理器统计信息。
add_event_listener()
添加客户端事件监听器。
remove_event_listener()
移除事件监听器。
MCPClientTool
封装外部MCP工具以适配AG-Kit工具系统。构造函数
mcp_client: Client- MCP客户端实例mcp_tool_metadata: dict- 来自MCP服务器的工具元数据config: dict- 可选工具配置adapter_config: dict- 可选适配器配置
方法
invoke()
执行MCP工具(继承自BaseTool)。
get_mcp_metadata()
获取原始MCP工具元数据。
is_connected()
检查底层MCP客户端是否已连接。
update_config()
更新工具配置。
update_adapter_config()
更新适配器配置。
MCPToolkit
用于管理外部服务器MCP工具的高级工具包。构造函数
name: str- 工具包名称(默认:‘mcp-toolkit’)description: str- 可选工具包描述
属性
manager
获取底层MCPClientManager实例。
方法
add_server()
添加MCP服务器并加载其工具。
remove_server()
移除服务器及其工具。
get_connected_servers()
获取已连接服务器ID列表。
get_server_tools()
获取特定服务器的工具。
get_server_statuses()
获取所有服务器的连接状态。
refresh_tools()
刷新特定服务器或所有服务器的工具。
destroy()
清理所有资源并断开服务器连接。
get_metadata()
获取工具包元数据。
实用函数
pydantic_to_json_schema()
将Pydantic模型转换为MCP JSON模式格式。
model: type[BaseModel]- 待转换的Pydantic模型类
convert_agkit_tool_to_mcp_metadata()
将AG-Kit的BaseTool转换为MCP工具元数据。
tool: BaseTool- AG-Kit工具实例config: dict- 可选服务器配置tool_config: dict- 可选工具特定配置
create_agkit_mcp_server()
创建并配置MCP服务器的实用函数。
create_mcp_toolkit()
创建带有预配置服务器的新MCP工具包。
servers: list[dict]- 服务器配置列表name: str- 可选工具包名称
内存传输注册表
MemoryTransportRegistry
用于管理内存中MCP传输的单例注册表。方法
get_instance()
获取单例实例。
register_server()
使用内存传输注册MCP服务器。
unregister_server()
注销服务器。
get_server()
获取已注册的服务器。
create_transport_pair()
创建一对关联的内存传输。
get_client_transport()
获取用于连接的客户端传输。
call_tool()
通过内存传输直接调用工具。
list_tools()
通过内存传输列出工具。
类型定义
MCPEvent
MCP事件类。MCPEventType
MCP事件类型枚举。ConnectionStatus
连接状态枚举。MCPServerConfig
服务器配置模型。MCPClientConfig
客户端配置模型。MCPToolMetadata
工具元数据模型。MCPToolConfig
工具配置模型。MCPAdapterConfig
适配器配置模型。MCPToolRegistration
工具注册配置模型。传输配置模型
MCPStdioTransportConfig
MCPSSETransportConfig
MCPStreamableHTTPTransportConfig
MCPMemoryTransportConfig
错误处理
异常类
模块导出
核心类
工具函数
内存传输
类型与模型
使用模式
服务器模式
客户端模式
工具包模式
本API参考提供了AG-Kit Python中MCP集成的所有公共接口和方法的完整文档。有关使用示例和实现模式,请参阅MCP集成指南和
python-sdk/examples/中的示例文件。