Skip to main content
Glama
that1guy15
by that1guy15

毒性試験MCPサーバー

pytest を使用したプロジェクト内で tox コマンドを実行し、Python テストを実行する MCP サーバーです。このサーバーは、モデルコンテキストプロトコル (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 tool
run_tox_testsC

Run tox tests with different modes and options

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesTest execution mode
directoryNoDirectory containing tests to run (required for directory mode)
groupNoTest group to run in all mode (defaults to clients)
testFileNoSpecific test file to run (required for file and case modes)
testCaseNoSpecific test case to run (required for case mode)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev0.1.0
    • First observedrun_tox_tests

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An 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
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    This 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