基本能力
产品定位
xk6-mcp是一个用于测试MCP服务器的k6扩展工具,旨在帮助开发者验证和调试MCP服务器的功能。
核心功能
- 初始化MCP客户端:支持
StdioClient
和SSEClient
两种传输方式。 - 服务器状态检查:通过
ping
方法检查MCP服务器是否运行。 - 工具管理:列出可用的工具并调用特定工具。
- 资源管理:列出可用的资源并读取资源内容。
- 提示管理:列出可用的提示并获取提示内容。
适用场景
- MCP服务器功能测试:验证MCP服务器的各项功能是否正常。
- 性能测试:结合k6进行MCP服务器的性能测试。
- 开发调试:在开发过程中调试MCP服务器的交互逻辑。
工具列表
- StdioClient:通过标准输入输出与MCP服务器交互。
- SSEClient:通过SSE(Server-Sent Events)与MCP服务器交互。
常见问题解答
- 如何安装xk6-mcp?
- 确保已安装xk6,然后使用
xk6 build
命令构建包含xk6-mcp的k6二进制文件。 - 如何运行测试脚本?
- 使用构建的k6二进制文件直接运行脚本。
- 如何连接SSE服务器?
- 使用
SSEClient
并指定baseURL
和headers
。
使用教程
使用依赖
- 安装xk6:
bash
go install go.k6.io/xk6/cmd/xk6@latest
安装教程
- 构建k6二进制文件:
bash
xk6 build --with github.com/dgzlopes/xk6-mcp - 在脚本中导入mcp模块:
javascript
import mcp from 'k6/x/mcp'; - 运行测试脚本:
bash
./k6 run script.js
调试方式
- 检查服务器状态:
javascript
console.log('MCP server running:', client.ping()); - 列出可用工具:
javascript
const tools = client.listTools().tools;
tools.forEach(tool => console.log(` - ${tool.name}`)); - 调用工具:
javascript
const toolResult = client.callTool({
params: { name: 'echo', arguments: { message: 'Hello, world!' } }
});
console.log('Echo tool response:', toolResult.content[0].text);