SuperAPI AI 工具集

mcp-connector

智能体与模型

查看项目

更新于 10-16 02:18

技能介绍

MCP Connector 用于连接任意 MCP(Model Context Protocol)服务器,并与其提供的工具、资源、提示词进行交互。

支持的传输方式

  • stdio:以子进程方式启动本地 MCP 服务器,例如 npx @modelcontextprotocol/server-filesystem /path。
  • sse:通过 HTTP Server-Sent Events 连接远程 MCP 服务器。
  • streamable-http:通过较新的可流式 HTTP 传输连接(POST 请求,SSE 响应)。

使用流程

  1. 使用 mcp_browse 浏览可用服务器(或按类别筛选)。
  2. 从注册表中按名称连接:mcp_connect(name="coingecko")。
  3. 使用 mcp_list_tools 或 mcp_list_resources 发现可用的工具与资源。
  4. 通过 mcp_call_tool 或 mcp_read_resource 使用它们。
  5. 完成后使用 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 密钥等环境变量;连接仅在会话期间保持;服务器名称需唯一。关于收费、价格、平台支持范围等更多信息,资料中暂未提供。