Tox Testing MCP Server
Tox 测试 MCP 服务器
一个 MCP 服务器,它执行 tox 命令,使用 pytest 在项目中运行 Python 测试。该服务器通过模型上下文协议 (MCP) 提供了一种便捷的方法来运行和管理 Python 测试。
特征
工具
run_tox_tests- 使用各种模式和选项执行毒性测试支持不同的执行模式:
all:运行所有测试或特定组的测试file:从特定文件运行测试case:运行特定的测试用例directory:运行指定目录中的所有测试
支持的测试组:
clients:客户端相关测试api:API 端点测试auth:身份验证测试uploads:上传功能测试routes:路由处理程序测试
Related MCP server: MCP Pytest Server
发展
安装依赖项:
npm install构建服务器:
npm run build对于使用自动重建的开发:
npm run watch安装
要与 VSCode 一起使用,请将服务器配置添加到您的 MCP 设置文件中: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{
"mcpServers": {
"tox-testing": {
"command": "node",
"args": ["/path/to/tox-testing/build/index.js"],
"env": {
"TOX_APP_DIR": "/path/to/your/python/project",
"TOX_TIMEOUT": "600"
}
}
}
}配置选项
env.TOX_TIMEOUT:(可选)等待测试执行完成的最长时间(以秒为单位)。如果测试运行时间超过此超时时间,测试将被终止。默认值为 600 秒(10 分钟)。env.TOX_APP_DIR:(必需)包含 tox.ini 文件的目录。tox 命令将从此处执行。该路径应指向 tox.ini 所在的 Python 项目根目录。
超时对于以下情况尤其重要:
防止测试进程挂起
管理长期运行的集成测试
确保 CI/CD 管道不会卡住
用法
服务器提供了一个可以在不同模式下使用的单一工具run_tox_tests :
工具参数
// Run all tests
{
"mode": "all"
}
// Run tests from a specific group
{
"mode": "all",
"group": "api"
}
// Run tests from a specific file
{
"mode": "file",
"testFile": "tests/test_api.py"
}
// Run a specific test case
{
"mode": "case",
"testFile": "tests/test_api.py",
"testCase": "test_endpoint_response"
}
// Run tests from a specific directory
{
"mode": "directory",
"directory": "tests/api/"
}与 Cline 一起使用
将此 MCP 与 Cline 配合使用时,您可以配置 Cline 的自定义指令,以高效地处理测试执行。以下是推荐的工作流程:
If asked to run tests on the project, use the tox-testing MCP. Follow these steps:
1. Run all tests across the project unless you are given instructions to run a specific test file or test case.
2. Review and rerun each failed test case individually as you troubleshoot and fix the issue from its output.
3. Repeat step 2 until the testcase passes.
4. Once all failed test cases from step 1 are passing rerun all tests again and repeat all steps until all tests pass.此工作流程可确保:
首先运行所有测试,实现全面的测试覆盖
通过隔离失败的测试用例进行重点调试
通过重新测试个别案例来验证修复
通过再次运行所有测试进行最终验证
与 Cline 的互动示例:
You: Run the tests for this project
Cline: I'll use the tox-testing MCP to run all tests:
{
"mode": "all"
}
You: Fix the failing test in test_api.py
Cline: I'll first run the specific test file:
{
"mode": "file",
"testFile": "tests/test_api.py"
}
Then address each failing test case individually:
{
"mode": "case",
"testFile": "tests/test_api.py",
"testCase": "test_endpoint_response"
}贡献
请参阅CONTRIBUTING.md了解我们的行为准则和提交拉取请求的流程的详细信息。
Available Tools
1 toolrun_tox_testsC
Run tox tests with different modes and options
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Test execution mode | |
| directory | No | Directory containing tests to run (required for directory mode) | |
| group | No | Test group to run in all mode (defaults to clients) | |
| testFile | No | Specific test file to run (required for file and case modes) | |
| testCase | No | Specific test case to run (required for case mode) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool runs tests but fails to describe execution behavior, side effects, permissions needed, or output format. This leaves critical operational traits undocumented for a test-running tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, and no annotations), the description is incomplete. It does not explain return values, error handling, or behavioral nuances, leaving gaps that could hinder effective tool invocation in a testing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'different modes and options,' which aligns with the parameters in the schema. However, with 100% schema description coverage, the schema already documents all parameters thoroughly. The description adds minimal semantic context beyond what the schema provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run') and resource ('tox tests'), specifying the tool's purpose as executing tests with different modes and options. It distinguishes the tool's functionality but lacks explicit differentiation from siblings since none are provided, making it clear but not fully optimized for sibling comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or contextual cues. It mentions 'different modes and options' but does not specify scenarios or exclusions, leaving usage entirely implicit and lacking actionable advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
run_tox_tests
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools, making disambiguation perfect. The single tool has a clear and distinct purpose that cannot be confused with any other tool in the set.
Since there is only one tool, naming consistency is inherently perfect as there are no other tools to compare it against. The tool name 'run_tox_tests' follows a clear verb_noun pattern, which is consistent with itself.
A single tool is generally too few for most server purposes, as it limits functionality and flexibility, making the server feel thin and underdeveloped. While it might suffice for a very narrow scope, it often indicates a lack of comprehensive coverage for the domain.
With only one tool, the server is severely incomplete for the domain of tox testing, as it lacks essential operations such as configuring environments, listing tests, checking results, or managing dependencies. This minimal surface will likely cause agent failures when more complex tasks are required.
Maintenance
Related MCP Connectors
An MCP server that provides access to Testiny projects, test cases and test runs
A MCP server built for developers enabling Git based project management with project and personal…
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to discover and execute Nox sessions for project automation tasks like testing, linting, and building. It provides tools to list available sessions and run them using specific Python versions, tags, or keyword expressions.2MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP-compliant server that enables the execution of pytest test suites and the storage of results into a QA platform database. It allows AI models to trigger test runs, track execution progress, and retrieve historical test data through specialized tool interfaces.1-
- AlicenseNot gradedqualityBmaintenanceThis MCP server enables automated maintenance and code analysis for Python/pytest repositories in isolated Docker environments. It supports read-only investigations, fix-and-verify tasks, and provides full audit trails with SQLite event history and artifact exports.MIT
- AlicenseDqualityDmaintenanceMCP server for deterministic local test execution and normalized test result reporting, supporting pytest and Jest with coverage summaries.6MIT