使用说明
MCP游乐场
一个轻量级的、完全客户端的React组件,用于使用可流式HTTP检查和测试MCP(模型上下文协议)服务器,不需要服务器端依赖。
什么是MCP游乐场?
MCP Playground是一个对开发人员友好的React组件,它提供了一个全面的界面,可以直接从浏览器测试和调试MCP(模型上下文协议)服务器。与需要后端基础设施的传统服务器检查工具不同,这个游乐场完全在客户端运行,非常适合集成到web应用程序、开发人员门户和调试工作流中。
关键能力:
- 实时MCP服务器测试:连接到任何兼容MCP的服务器并测试其工具和功能
- 交互式工具执行:使用自定义参数执行MCP工具并实时查看结果
- 连接管理:易于连接/断开功能,具有连接状态监控功能
- 历史跟踪:用于调试和可观察性的内置活动历史记录
如何使用它
安装
直接从GitHub存储库安装软件包:
npm install wso2/mcp-playground
或用纱线:
yarn add wso2/mcp-playground
基本用法
导入和使用 MCPPlayground React应用程序中的组件:
import MCPPlayground from 'mcp-playground';
function App() {
return (
<div>
<h1>My Application</h1>
<MCPPlayground />
</div>
);
}
使用道具的高级用法
import React, { useState } from 'react';
import MCPPlayground from 'mcp-playground';
function DeveloperDashboard() {
const [token, setToken] = useState('');
const [isTokenFetching, setIsTokenFetching] = useState(false);
const handleTokenRegenerate = async () => {
setIsTokenFetching(true);
try {
// Your token regeneration logic
const newToken = await fetchNewToken();
setToken(newToken);
} finally {
setIsTokenFetching(false);
}
};
return (
<MCPPlayground
url="https://your-mcp-server.com/mcp"
token={token}
headerName="Authorization"
isTokenFetching={isTokenFetching}
handleTokenRegenerate={handleTokenRegenerate}
tokenPlaceholder="Bearer <your-token>"
/>
);
}
自定义身份验证标头
import MCPPlayground from 'mcp-playground';
function CustomAuthExample() {
return (
<MCPPlayground
url="https://devportal.bijira.dev/mcpapi/v1/mcp"
token="bearer-token-here"
headerName="X-API-Key"
shouldSetHeaderNameExternally={true}
/>
);
}
主题定制
您可以通过传递MUI来完全自定义MCP游乐场的外观 ThemeOptions 对象通过 theme 道具。
import MCPPlayground from "mcp-playground";
const theme = {
palette: {
primary: {
light: "#5f89d4",
main: "#2f5fa7",
dark: "#204377",
},
secondary: {
light: "#eceff4",
main: "#6b7085",
dark: "#2e313f",
},
warning: {
main: "#ff9d52",
},
},
};
function App() {
return <MCPPlayground theme={theme} />;
}
配置道具
| 道具 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url |
string |
undefined |
要连接到的MCP服务器终结点URL |
token |
string |
undefined |
请求的身份验证令牌 |
headerName |
string |
'Authorization' |
用于身份验证的HTTP标头名称 |
shouldSetHeaderNameExternally |
boolean |
false |
父组件是否管理标头名称 |
isTokenFetching |
boolean |
false |
显示令牌的加载状态 |
isUrlFetching |
boolean |
false |
显示URL的加载状态 |
handleTokenRegenerate |
() => void |
undefined |
回调以重新生成令牌 |
tokenPlaceholder |
string |
'Add Your Token' |
用于令牌输入的占位符文本 |
theme |
ThemeOptions |
undefined |
自定义MUI主题以覆盖默认样式 |
测试MCP工具
连接到MCP服务器后,您可以:
- 查看可用工具
- 执行工具:单击任何工具打开其参数表单并执行它
- 查看结果:工具执行结果显示在格式化的JSON查看器中
- 监控历史记录:所有请求和响应都记录在历史面板中
- Ping服务器:使用ping选项卡测试基本连接
谁使用MCP游乐场
生产部署
- 允许API开发人员探索和测试可用的MCP工具
- 集成MCP Playground,用于测试和调试MCP兼容的AI服务
- 允许API消费者探索和测试可用的MCP工具
发展
先决条件
- Node.js 16+
- 反应17+
- 材质UI v5
本地开发
# Clone the repository
git clone https://github.com/wso2/mcp-playground.git
cd mcp-playground
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
我们如何建造它
该项目是利用 模型上下文协议检查器,调整和扩展它,以创建一个可重用的React组件,适合集成到各种web应用程序中。
架构决策:
- 仅客户端:无后端依赖关系,通过HTTP直接与MCP服务器通信
- 模块化设计:结构化为具有可配置道具的可重用React组件
- 主题隔离:使用作用域CSS类生成来防止样式冲突
- 灵活的身份验证:支持各种身份验证标头和令牌管理模式
