MCP Connector 用于连接任意 MCP(Model Context Protocol)服务器,并与其提供的工具、资源、提示词进行交互。
支持的传输方式
- stdio:以子进程方式启动本地 MCP 服务器,例如 npx @modelcontextprotocol/server-filesystem /path。
- sse:通过 HTTP Server-Sent Events 连接远程 MCP 服务器。
- streamable-http:通过较新的可流式 HTTP 传输连接(POST 请求,SSE 响应)。
使用流程
- 使用 mcp_browse 浏览可用服务器(或按类别筛选)。
- 从注册表中按名称连接:mcp_connect(name="coingecko")。
- 使用 mcp_list_tools 或 mcp_list_resources 发现可用的工具与资源。
- 通过 mcp_call_tool 或 mcp_read_resource 使用它们。
- 完成后使用 mcp_disconnect 断开连接。
预配置注册表
config/mcp_servers.yaml 中维护了一份精选的 MCP 服务器列表。可按名称连接其中任意一个,无需提供 URL 或传输细节:
mcp_connect(name="coingecko") # 加密货币市场数据 mcp_connect(name="exa") # 神经网页搜索 mcp_connect(name="dexpaprika") # 跨链 DEX 数据
使用 mcp_browse() 查看所有可用服务器,或按类别筛选:
mcp_browse(category="blockchain") mcp_browse(category="developer")
部分服务器需要环境变量(API 密钥),工具会提示缺少哪些。
临时连接
对于不在注册表中的任意 MCP 服务器,仍可通过提供传输细节进行连接:
stdio(本地子进程):
mcp_connect( name="fs", transport="stdio", command="npx", args=["-y", "@modelcontextprotocol/server-filesystem", "/workspace"] )
SSE(HTTP Server-Sent Events):
mcp_connect( name="remote-tools", transport="sse", url="https://mcp.example.com/sse" )
Streamable HTTP:
mcp_connect( name="api-server", transport="streamable-http", url="https://mcp.example.com/mcp" )
使用已连接的服务器
调用工具:
mcp_call_tool( server="coingecko", tool="get_price", arguments={"coin": "bitcoin"} )
读取资源:
mcp_read_resource( server="remote-tools", uri="file:///data/config.json" )
注意事项
- 连接在会话期间持续有效。
- 可同时连接多个服务器。
- 服务器名称必须唯一,使用相同名称重新连接会替换旧连接。
- 可通过 env 参数向 stdio 服务器传递环境变量。
- 注册表条目位于 config/mcp_servers.yaml,可在其中添加新服务器,无需修改代码。
适用场景与限制
该技能适用于需要接入 MCP 生态、调用外部 MCP 服务器工具或资源的场景,例如获取加密货币市场数据、网页搜索、跨链 DEX 数据等。其限制包括:部分服务器需要 API 密钥等环境变量;连接仅在会话期间保持;服务器名称需唯一。关于收费、价格、平台支持范围等更多信息,资料中暂未提供。