我构建了一个免费类似工具的 Playground,用于测试 MCP 服务器——无需设置
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_github、send_email) - Resources – AI 可以读取的数据(例如文件、数据库记录)
- Prompts – 可复用的提示模板
在底层,MCP 使用 JSON‑RPC 2.0,功能强大——但手动测试并不有趣。
MCP Playground 在线功能
✅ 1. 服务器测试(Postman 风格)
- 粘贴你的 MCP 服务器 URL 并连接。
- 即时查看所有可用的 工具,包括输入模式、资源和 提示模板。
- 在 UI 中直接使用 JSON 编辑器执行工具——无需脚本或 CLI。

✅ 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 服务器
- 打开
https://mcpplaygroundonline.com - 粘贴 您的服务器 URL,例如
https://your-mcp-server.com/mcp - 选择 传输方式(大多数服务器使用 HTTP POST)
- 点击 连接 – 界面将列出服务器的工具、资源和提示
- 选择 一个工具 → 提供 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();