MCP开发&测试 | 20250623

写在前面

MCP是当前的热点话题, 说一点自己开发MCP以及开发MCP后进行测试的一些小结

协议层

跟着协议走, 不跑偏 https://modelcontextprotocol.io/

mcp 中 host client server 这几个概念就不重复了, 基本入门时都看过, 着重说一些mcp server相关的内容, 这个也是开发者开发MCP大部分改动的部分

transport

  • url: 初版大部分是 http SSE, 也是当前LLM stream response 的标准格式, 新版(未来)使用 StreamableHTTP

以 deepwiki 为例: streamableHTTP, 如果支持, 优先配置: https://mcp.deepwiki.com/mcp; sse 兼容性好, 兜底配置: https://mcp.deepwiki.com/sse

  • stdio(对应json配置中的 command): 标准输入输出, 当前有3种方式 uvx npx docker

auth

进行中的是 oauth2.0 和 oauth2.1, 已有的主要通过 apikey 的方式, 下面是几个例子

{
  "mcpServers": {
    "deepwiki": {
      "url": "https://mcp.deepwiki.com/sse"
    },
    "mcp_weather": {
      "type": "sse",
      "url": "https://mcp.api-inference.modelscope.cn/sse/<token>" // 直接放url里
    },
    "lark-mcp": {
      "command": "npx",
      "args": [ // 放 args 里
        "-y",
        "@larksuiteoapi/lark-mcp",
        "mcp",
        "-a",
        "cli_<xxx>",
        "-s",
        "<token>",
        "-u",
        "u-<xxx>"
      ]
    },
    "theta-health-dev": {
      "command": "npx",
      "args": [
        "-y",
        "theta_health_mcp"
      ],
      "env": { // 放env里
        "THETA_HEALTH_TOKEN": "<token>"
      }
    }
}

proxy

存量http api 如何快速提供 mcp 服务, 或者 mcp 服务如何转成 api 复用当前工具 -> npx -y supergateway

debug

测试MCP的工具有很多, 推荐使用 Cherry Studio

  • agent 可切
  • model 可切, 使用 flash/turbo 模型可以快速进行测试, 比如 qwen-turbo doubao-1.6-flash
  • mcp 可切, 甚至mcp中的tools, 也可以选择打开/关闭
Cherry Studio
  • 查看当前 mcp 的定义: 通用/工具/提示/资源
添加MCP服务

添加时有个需要注意的点, UI界面添加到MCP服务, 可以在这里查看 json 文件, 检查一下json内容确认MCP服务是否添加正确


查看MCP json

写在最后

debug mcp 这步已经相当于测试中的集成测试了, 其实更多的工作是在MCP server 开发时就做了

  • 对应 tools 实际调用方法的单测
  • 对应 tools 服务启动后, 直接使用 api 测试工具验证
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容