MCP Jest-模型上下文协议服务器测试框架
](https://www.npmjs.com/package/mcp-jest) ](https://www.npmjs.com/package/mcp-jest)  ](https://github.com/josharsh/mcp-jest/actions/workflows/ci.yml)   
模型上下文协议(MCP)服务器的测试框架,类似于Jest,但适用于MCP。测试您的AI代理工具,验证协议合规性,并与CI/CD管道集成。
MCP Jest是一个开源测试工具,供开发人员构建MCP服务器,将AI助手(Claude、ChatGPT、GPT-4、Gemini、LLM)连接到外部工具、数据库、API和文件系统。使用类似Jest的语法为您的MCP工具、资源和提示编写自动化测试。
什么是MCP?
模型上下文协议(MCP) 是Anthropic引入的开放标准,允许Claude、ChatGPT和其他大型语言模型(LLM)等AI助手与外部工具、数据源和API连接。将其视为AI的USB-C端口,这是AI与世界互动的标准化方式。
问题
您构建了一个MCP服务器,将人工智能助手连接到您的数据库、文件系统或API。但你怎么知道它真的有效?
- 手动测试每个更改都很慢,而且容易出错
- 无声的故障会毫无预警地破坏人工智能工作流程
- MCP服务器不存在本机CI/CD集成
- 当工具在生产中出现故障时,调试很困难
MCP Jest解决了这个问题 为您的MCP服务器提供自动化、可重复的测试。
快速开始
安装
npm install mcp-jest # As dependency
npm install -g mcp-jest # Or globally for CLI测试您的服务器
import { mcpTest } from 'mcp-jest';
const results = await mcpTest(
{ command: 'node', args: ['./server.js'] },
{ tools: ['search', 'email'] }
);
console.log(`${results.passed}/${results.total} tests passed`);或使用CLI
mcp-jest node ./server.js --tools search,email就是这样! 您的MCP服务器现已通过测试。
特性
核心测试
- 自动化测试 -编写一次测试,在任何地方运行它们
- 全面覆盖 -测试连接、工具、资源和提示
- 灵活的期望 -简单字符串或自定义验证函数
- CI/CD就绪 -适用于GitHub Actions、Jenkins、CircleCI等。
高级功能
- 快照测试 -捕获并比较MCP输出随时间的变化
- 测试过滤 -使用以下工具运行特定测试
--filter和--skip - 观看模式 -文件更改时自动重新运行测试
- HTML报告 -生成美观、可共享的测试报告
运输支持
- 标准 -本地服务器的默认传输
- HTTP流 -测试远程HTTP服务器
- 上海证券交易所 -服务器发送事件支持
开发者工具
- 自动发现 -自动发现并生成所有功能的测试
- 协议验证器 -检查MCP是否符合详细评分
- GitHub行动 -本机CI/CD集成
CLI快速参考
| 命令 | 描述 |
|---|---|
mcp-jest node ./server.js --tools search | 测试专用工具 |
mcp-jest --config test.json | 使用配置文件 |
mcp-jest discover node ./server.js | 自动发现功能 |
mcp-jest validate node ./server.js | 检查协议合规性 |
mcp-jest watch node ./server.js --tools search | 观看模式 |
常见选项
| 选项 | 描述 |
|---|---|
-t, --tools | 逗号分隔的测试工具 |
-c, --config | 配置文件路径 |
--timeout | 测试超时(默认值:30000) |
-u, --update-snapshots | 更新快照文件 |
--reporter html | 生成HTML报告 |
看 CLI 参考 对于所有选项。
示例:CI/CD集成
# .github/workflows/test.yml
- name: Test MCP Server
run: |
npm install -g mcp-jest
mcp-jest node ./dist/server.js --tools "search,analyze"示例:配置文件
{
"server": {
"command": "node",
"args": ["./server.js"]
},
"tests": {
"tools": {
"search": {
"args": { "query": "test" },
"expect": "content.length > 0"
}
},
"timeout": 30000
}
}文档
功能指南
需求
- Node.js 18+
- MCP服务器 实施 模型上下文协议
贡献
我们欢迎捐款!看 贡献.md 作为指导方针。
git clone https://github.com/josharsh/mcp-jest.git
cd mcp-jest
npm install
npm run dev
npm test安全
看 安全.md 用于我们的安全策略和漏洞报告。
用例
MCP Jest非常适合:
- MCP服务器开发人员 -部署前测试您的工具、资源和提示
- AI应用团队 -确保您的MCP集成正常工作
- DevOps/SRE -将MCP服务器测试添加到CI/CD管道
- 开源MCP项目 -为社区贡献提供可靠的测试
与其他工具的比较
| 功能 | MCP Jest | 手动测试 | 通用测试框架 |
|---|---|---|---|
| MCP协议支持 | 本机 | 手动 | 需要自定义设置 |
| 自动发现 | 是 | 否 | 否 |
| 快照测试 | 是 | 否 | 各不相同 |
| 方案验证 | 是 | 否 | 否 |
| CI/CD集成 | 内置 | 手动 | 各不相同 |
支持
- -Bug报告和功能请求
- -问题和想法
- 模型上下文协议 -MCP官方文件
相关技术
- 模型上下文协议(MCP) -协议标准
- @模型上下文协议/sdk -官方MCP SDK
- 克劳德 -Anthropic的人工智能助手,支持MCP
- 玩笑 -JavaScript测试框架(MCP Jest的灵感来源)
许可证
MIT许可证-在商业和开源项目中自由使用。
______________________________________________________________________
______________________________________________________________________
关键词:mcp测试、模型上下文协议测试、mcp服务器测试、ai代理测试、llm测试、claude mcp、chatgpt-mcp、mcp工具测试、mcp-validator、人因mcp、测试mcp服务器、mcp-ci-cd、自动化mcp测试

