我构建了一个免费类似工具的 Playground,用于测试 MCP 服务器——无需设置

发布: (2026年2月24日 GMT+8 12:29)
5 分钟阅读
原文: Dev.to

Source: Dev.to

如果你最近一直在使用 Model Context Protocol (MCP) 进行开发,应该已经体会到以下痛点:

  • “我的 MCP 服务器真的在工作吗?”
  • “我是否正确实现了工具?”
  • “为什么 Claude Desktop 没有识别我的工具?”

于是你只能编写自定义测试脚本、翻阅日志,或是手动使用 curl 构造 JSON‑RPC 请求,过程既繁琐又耗时。

正因如此,我创建了 MCP Playground Online —— 一个免费、基于浏览器的工具,用来测试和调试 MCP 服务器,灵感来源于 Postman 对 REST API 开发的改变。

什么是 MCP,真的?

Model Context Protocol (MCP) 是一个开放标准,允许 AI 模型以结构化方式连接外部工具、API 和数据源。可以把 MCP 看作是 AI 系统与现实世界能力之间的通用适配器:

Claude / ChatGPT / Gemini / Other LLM

        │  MCP Protocol

     MCP Server


External Systems
(GitHub • Slack • Databases • APIs • Files • etc.)

MCP 服务器通常提供:

  • Tools – AI 可以调用的函数(例如 search_githubsend_email
  • Resources – AI 可以读取的数据(例如文件、数据库记录)
  • Prompts – 可复用的提示模板

在底层,MCP 使用 JSON‑RPC 2.0,功能强大——但手动测试并不有趣。

MCP Playground 在线功能

✅ 1. 服务器测试(Postman 风格)

  • 粘贴你的 MCP 服务器 URL 并连接。
  • 即时查看所有可用的 工具,包括输入模式、资源提示模板
  • 在 UI 中直接使用 JSON 编辑器执行工具——无需脚本或 CLI。

MCP Playground Screenshot

✅ 2. 支持三种传输方式

传输方式典型使用场景
HTTP POST标准 JSON‑RPC(最常见)
SSE流式响应 / 实时输出
WebSocket双向通信

切换传输方式只需一次点击——无需重新配置。

✅ 3. 认证支持

如果你的 MCP 服务器需要认证,只需粘贴你的令牌。

  • Authorization: Bearer <token> 用于 HTTP
  • 查询参数令牌用于 SSE / WebSocket(浏览器限制的解决方案)

✅ 4. MCP 服务器目录

对 MCP 还不熟悉?浏览精选的真实 MCP 服务器目录,包含以下集成:

  • GitHub
  • Slack
  • PostgreSQL
  • Stripe
  • Cloudflare

✅ 5. 提示库

一个不断增长的可复用提示集合,适用于常见的 MCP 工作流——有助于快速实验。

快速演示:测试您的第一个 MCP 服务器

  1. 打开 https://mcpplaygroundonline.com
  2. 粘贴 您的服务器 URL,例如 https://your-mcp-server.com/mcp
  3. 选择 传输方式(大多数服务器使用 HTTP POST)
  4. 点击 连接 – 界面将列出服务器的工具、资源和提示
  5. 选择 一个工具 → 提供 JSON 输入 → 执行

您将立即看到完整的 JSON‑RPC 响应。

引擎内部(好奇者专用)

playground 使用了传输抽象层,使不同协议的行为保持一致。下面是一个简化的 TypeScript 示例:

import { createTransport } from '@/lib/mcp-transport-client';

const transport = createTransport({
  serverUrl: 'https://api.example.com/mcp',
  authToken: 'Bearer your-token',
  transport: 'http' // or 'sse' or 'websocket'
});

const { capabilities } = await transport.connect();

const response = await transport.sendRequest({
  jsonrpc: '2.0',
  id: 1,
  method: 'tools/call',
  params: {
    name: 'search_github',
    arguments: { query: 'mcp typescript' }
  }
});

await transport.disconnect();
0 浏览
Back to Blog

相关文章

阅读更多 »