MCP 应用程序接口参考
本文档提供 AG-Kit 模型上下文协议(MCP)集成组件的完整应用程序接口参考。核心类
AGKitMCPServer
将 AG-Kit 工具作为标准 MCP 服务器暴露。构造函数
config: AGKitMCPServerConfig- 服务器配置对象
方法
registerTool()
向服务器注册单个 AG-Kit 工具。
tool: BaseTool- 要注册的 AG-Kit 工具toolConfig?: MCPToolConfig- 可选的工具配置
MCPToolMetadata - 已注册工具的元数据
MCPToolConfig 接口:
registerTools()
使用共享配置注册多个 AG-Kit 工具。tools: BaseTool[]- 要注册的 AG-Kit 工具数组toolConfig?: MCPToolConfig- 可选的共享配置
MCPToolMetadata[] - 已注册工具的元数据数组
unregisterTool()
从服务器移除工具。name: string- 要移除的工具名称
boolean - 如果工具被移除返回 true,未找到返回 false
run()
使用指定传输方式启动 MCP 服务器。transportConfig: MCPTransportConfig- 传输配置
stop()
停止 MCP 服务器并清理资源。callTool()
直接执行已注册工具。name: string- 要执行的工具名称args: Record<string, any>- 工具参数
Promise<CallToolResult> - MCP 格式的工具结果
listTools()
获取所有已注册工具的列表。isServerRunning()
检查服务器当前是否运行中。boolean - 如果服务器正在运行返回 true
getStats()
获取服务器统计信息和详情。addEventListener()
添加服务器事件监听器。listener: MCPEventListener- 事件监听函数
removeEventListener()
移除事件监听器。listener: MCPEventListener- 要移除的事件监听器
boolean - 如果监听器被移除返回 true
MCPClientManager
管理外部 MCP 服务器的连接。构造函数
方法
addServer()
添加并连接到 MCP 服务器。serverId: string- 服务器的唯一标识符config: MCPClientConfig- 客户端配置connectionOptions?: MCPConnectionOptions- 可选的连接设置
disconnectServer()
断开与特定服务器的连接。disconnectAll()
断开与所有服务器的连接。createClientTools()
为所有可用 MCP 工具创建 AG-Kit 工具包装器。serverId?: string- 可选服务器 ID 用于筛选工具
MCPClientTool[] - 包装工具数组
createClientTool()
为特定 MCP 工具创建 AG-Kit 工具包装器。serverId: string- 包含工具的服务器 IDtoolName: string- MCP 工具名称agKitToolName?: string- AG-Kit 工具的自定义名称
MCPClientTool - 包装工具实例
callTool()
直接调用 MCP 工具。isServerConnected()
检查服务器是否已连接。getStats()
获取客户端管理器统计信息。addEventListener()
添加客户端事件监听器。removeEventListener()
移除事件监听器。MCPClientTool
包装外部 MCP 工具以在 AG-Kit 工具系统中工作。构造函数
mcpClient: Client- MCP 客户端实例mcpToolMetadata: MCPToolMetadata- 来自 MCP 服务器的工具元
方法
invoke()
执行MCP工具(继承自BaseTool)。getMCPMetadata()
获取原始MCP工具元数据。isConnected()
检查底层MCP客户端是否已连接。updateConfig()
更新工具配置。updateAdapterConfig()
更新适配器配置。MCPToolkit
用于管理外部服务器MCP工具的高级工具包。构造函数
name?: string- 可选工具包名称(默认:“mcp-toolkit”)
方法
addServer()
添加MCP服务器并加载其工具。removeServer()
移除服务器及其工具。getConnectedServers()
获取已连接服务器ID列表。getServerTools()
获取特定服务器的工具。refresh()
刷新所有服务器连接并重新加载工具。cleanup()
清理所有资源并断开与服务器的连接。getClientManager()
获取底层客户端管理器。getStats()
获取工具包统计信息。实用函数
zodSchemaToMCPSchema()
将Zod模式转换为MCP JSON模式格式。zodSchema: z.ZodSchema<any>- 待转换的Zod模式
convertAGKitToolToMCPMetadata()
将AG-Kit BaseTool转换为MCP工具元数据。createAGKitMCPServer()
创建并配置MCP服务器的实用函数。createMCPToolkit()
创建预配置服务器的新MCP工具包。servers- 服务器配置(推荐使用对象映射格式或数组格式)name- 可选工具包名称
内存传输注册表
MemoryTransportRegistry
用于管理内存中MCP传输的单例注册表。方法
getInstance()
获取单例实例。registerServer()
使用内存传输注册MCP服务器。unregisterServer()
注销服务器。getServer()
获取已注册的服务器。createTransportPair()
创建内存传输的链接对。getClientTransport()
获取用于连接的客户端传输。callTool()
通过内存传输直接调用工具。listTools()
通过内存传输列出工具。类型定义
MCPEvent
所有MCP事件的联合类型。MCPEventListener
事件监听器函数类型。MCPClientStatus
MCP客户端连接的状态信息。传输配置类型
注意: 所有传输配置中的type字段均为可选。若未指定,将根据配置属性自动检测类型,优先级为:memory > stdio > streamableHttp > sse。
MCPStdioTransportConfig
MCPSSETransportConfig
MCPSSETransportConfig
MCPStreamableHTTPTransportConfig
MCPInMemoryTransportConfig
MCPCustomTransportConfig
自动检测优先级
当未指定type时,传输类型按以下顺序检测:
- memory - 若存在
memoryId - stdio - 若存在
command - streamableHttp - 若存在
url(基于URL配置的默认类型) - sse - 基于URL的配置需显式指定
type: 'sse' - custom - 若存在
transport