关于 Pytest Mcp Server
Pytest Mcp Server 面向排查 pytest 故障的开发者,提供记录故障和结构化调试功能,并支持模式分析与提示词生成。
主要功能
- 01记录并列出 pytest 故障
- 02查看单项故障详情
- 03系统应用调试原则
- 04分析故障模式
- 05生成调试提示词
- 06获取 pytest 文档指引
适用场景
- 01记录失败测试及其回溯信息
- 02检查反复出现的故障模式
- 03梳理已登记故障的分析过程
MCP 相关
它向 MCP 客户端提供 8 种工具,用于记录、检查和分析 pytest 故障,并提供调试指引和提示词生成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Pytest MCP 服务
一个用于依据系统化调试原则调试 pytest 故障的模型上下文协议(MCP)服务。
✅ 状态:已可用于生产环境
此 MCP 服务功能齐全,可直接使用。全部 8 个工具均可正常工作,并具备完善的错误处理和响应格式,符合官方 MCP 规范。
🧪 测试状态
✅ 服务功能:完美
- 所有工具都能使用有效输入正常工作
- 对无效输入进行适当的错误处理
- 符合 MCP 错误报告标准
- 已通过直接 JSON-RPC 调用成功测试
- 兼容 MCP Inspector 和实际 MCP 客户端
⚠️ 框架测试限制:已知问题
- 由于 mcp-framework 0.2.13 中的一个错误,MCP Testing Framework 显示 1 个验证错误
- 根本原因:mcp-framework 返回的验证错误使用
"type": "error",而非符合 MCP 规范的"type": "text" - 影响:测试框架验证失败,但服务在实际使用中运行完美
- 状态:已记录的问题,仅影响测试,不影响生产功能
这是《模型上下文协议服务的标准化错误报告格式》官方文档中提及的一种已知模式,涉及 SDK 实现方面的挑战。
🛠 可用工具
- register_pytest_failure - 注册新的测试故障
- list_failures - 列出所有已注册的故障
- get_failure_info - 获取特定故障的详细信息
- debug_with_principle - 系统地应用调试原则
- analyze_failures - 分析测试故障中的模式
- generate_debug_prompt - 生成用于调试的大模型提示词
- pytest_docs_guide - 获取 pytest 文档指南
- example_tool - 用于测试的示例工具
🚀 快速开始
安装
npm install -g pytest-mcp-server
在 Claude Desktop 中使用
将以下内容添加到 Claude Desktop MCP 配置中:
{
"mcpServers": {
"pytest-mcp-server": {
"command": "pytest-mcp-server",
"args": ["start"],
"env": {
"DATA_DIR": "./pytest-data"
}
}
}
}
作为 HTTP 服务使用
# Start HTTP server on port 3001
pytest-mcp-server start-http
# Or specify custom port
PORT=8080 pytest-mcp-server start-http
直接使用
# Start MCP server (stdio mode)
pytest-mcp-server start
# Test with MCP Inspector
npx @modelcontextprotocol/inspector pytest-mcp-server start
📋 使用示例
1. 注册测试故障
{
"name": "register_pytest_failure",
"arguments": {
"test_name": "test_user_authentication",
"file_path": "/tests/test_auth.py",
"line_number": 45,
"error_message": "AssertionError: Expected status 200, got 401",
"traceback": "Full traceback here..."
}
}
2. 应用调试原则
{
"name": "debug_with_principle",
"arguments": {
"failure_id": "1234567890",
"principle_number": 1,
"analysis": "This test is checking user authentication flow. The system expects a valid JWT token but seems to be receiving an invalid or expired token."
}
}
3. 获取故障分析
{
"name": "analyze_failures",
"arguments": {
"analysis_type": "patterns"
}
}
🔧 开发
前置条件
- Node.js 18.19.0 或更高版本
- npm 或 yarn
设置
# Clone the repository
git clone <repository-url>
cd pytest-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Start development server
npm run watch
测试
# Test with simple script
./test-simple.sh
# Test with MCP Testing Framework (shows known validation issue)
mcp-test --test-config mcp-test-config.json --test-mcp-servers
# Test with Dagger (containerized testing)
./test-dagger-simple.sh
📁 数据存储
服务会将数据存储在 JSON 文件中:
failures.json- 测试故障记录debug_sessions.json- 调试会话数据
默认位置:./data/(可通过 DATA_DIR 环境变量配置)
🐛 已知问题
MCP 框架验证错误
- 问题:mcp-framework 0.2.13 返回的验证错误使用了不符合规范的
"type": "error" - 预期:MCP 规范要求所有错误内容使用
"type": "text" - 影响:MCP Testing Framework 验证失败(假阴性)
- 解决方法:使用直接测试或 MCP Inspector 进行验证
- 状态:已向框架维护者报告
详细技术分析请参阅 framework-issue-report.md。
🤝 参与贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 如适用,添加测试
- 提交拉取请求
📄 许可证
MIT 许可证,详情请参阅 LICENSE 文件。
🔗 相关链接
注意:此服务已可用于生产环境,且功能齐全。测试框架验证问题是当前 mcp-framework 实现的已知限制,不会影响实际使用。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。