xk6-mcp

xk6-mcp

site icon
2025.03.27 2
Go测试工具MCP服务器开发效率
xk6-mcp是一个k6扩展,用于测试Model Context Protocol (MCP)服务器。它提供了与MCP服务器交互的功能,包括初始化客户端、调用工具、读取资源和获取提示等。
View on GitHub

Overview

基本能力

产品定位

xk6-mcp是一个用于测试MCP服务器的k6扩展工具,旨在帮助开发者验证和调试MCP服务器的功能。

核心功能

  1. 初始化MCP客户端:支持StdioClientSSEClient两种传输方式。
  2. 服务器状态检查:通过ping方法检查MCP服务器是否运行。
  3. 工具管理:列出可用的工具并调用特定工具。
  4. 资源管理:列出可用的资源并读取资源内容。
  5. 提示管理:列出可用的提示并获取提示内容。

适用场景

  1. MCP服务器功能测试:验证MCP服务器的各项功能是否正常。
  2. 性能测试:结合k6进行MCP服务器的性能测试。
  3. 开发调试:在开发过程中调试MCP服务器的交互逻辑。

工具列表

  1. StdioClient:通过标准输入输出与MCP服务器交互。
  2. SSEClient:通过SSE(Server-Sent Events)与MCP服务器交互。

常见问题解答

  1. 如何安装xk6-mcp?
  2. 确保已安装xk6,然后使用xk6 build命令构建包含xk6-mcp的k6二进制文件。
  3. 如何运行测试脚本?
  4. 使用构建的k6二进制文件直接运行脚本。
  5. 如何连接SSE服务器?
  6. 使用SSEClient并指定baseURLheaders

使用教程

使用依赖

  1. 安装xk6:
go install go.k6.io/xk6/cmd/xk6@latest

安装教程

  1. 构建k6二进制文件:
xk6 build --with github.com/dgzlopes/xk6-mcp
  1. 在脚本中导入mcp模块:
import mcp from 'k6/x/mcp';
  1. 运行测试脚本:
./k6 run script.js

调试方式

  1. 检查服务器状态:
console.log('MCP server running:', client.ping());
  1. 列出可用工具:
const tools = client.listTools().tools;
tools.forEach(tool => console.log(`  - ${tool.name}`));
  1. 调用工具:
const toolResult = client.callTool({
  params: { name: 'echo', arguments: { message: 'Hello, world!' } }
});
console.log('Echo tool response:', toolResult.content[0].text);

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。