
xk6-mcp

2025.03.27
2
Go测试工具MCP服务器开发效率
xk6-mcp是一个k6扩展,用于测试Model Context Protocol (MCP)服务器。它提供了与MCP服务器交互的功能,包括初始化客户端、调用工具、读取资源和获取提示等。
View on GitHub
Overview
基本能力
产品定位
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:
go install go.k6.io/xk6/cmd/xk6@latest
安装教程
- 构建k6二进制文件:
xk6 build --with github.com/dgzlopes/xk6-mcp
- 在脚本中导入mcp模块:
import mcp from 'k6/x/mcp';
- 运行测试脚本:
./k6 run script.js
调试方式
- 检查服务器状态:
console.log('MCP server running:', client.ping());
- 列出可用工具:
const tools = client.listTools().tools;
tools.forEach(tool => console.log(` - ${tool.name}`));
- 调用工具:
const toolResult = client.callTool({
params: { name: 'echo', arguments: { message: 'Hello, world!' } }
});
console.log('Echo tool response:', toolResult.content[0].text);