mcpField
P
Pytest Mcp Server

Pytest Mcp Server

ローカル
github.com/tosin2013開発ツール174 週間前に更新

Pytest Mcp Server について

Pytest Mcp Serverは、pytestの失敗を調査する開発者向けのMCPサーバーです。失敗の記録に加え、手順に沿ったデバッグ、パターン分析、プロンプト生成を行えます。

主な機能

  1. 01pytestの失敗を記録・一覧表示
  2. 02個別の失敗情報を取得
  3. 03デバッグ原則を体系的に適用
  4. 04失敗パターンを分析
  5. 05デバッグ用プロンプトを生成
  6. 06pytestドキュメントの案内を取得

活用シーン

  1. 01失敗したテストとトレースバックの記録
  2. 02繰り返し発生する失敗パターンの確認
  3. 03登録済みの失敗の分析を整理

MCP 対応

失敗の記録、確認、分析に使える8つのツールをMCPクライアントに提供し、デバッグ案内やプロンプト生成にも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Pytest MCP サーバー

体系的なデバッグ原則を用いて pytest の失敗をデバッグする Model Context Protocol(MCP)サーバーです。

✅ ステータス:本番環境で利用可能

この MCP サーバーは完全に機能し、すぐに使用できます。8 つのツールすべてが正常に動作し、適切なエラー処理と、公式 MCP 仕様に準拠したレスポンス形式を備えています。

🧪 テストのステータス

✅ サーバーの機能:完璧
  • すべてのツールが有効な入力で正常に動作します
  • 無効な入力に対して適切にエラーを処理します
  • MCP のエラー報告基準に準拠しています
  • 直接の JSON-RPC 呼び出しでテスト済みです
  • MCP Inspector および実際の MCP クライアントと互換性があります
⚠️ フレームワークのテストに関する制限:既知の問題
  • mcp-framework 0.2.13 のバグにより、MCP Testing Framework で検証エラーが 1 件表示されます
  • 根本原因:mcp-framework は、MCP に準拠した "type": "text" ではなく、"type": "error" を含む検証エラーを返します
  • 影響:テストフレームワークの検証は失敗しますが、実際の使用ではサーバーは正常に動作します
  • ステータス:文書化済みの問題です。影響するのはテストのみで、本番環境での機能には影響しません

これは、SDK の実装上の課題に関する公式ドキュメント Standardized Error Reporting Formats for Model Context Protocol Servers に記載されている既知のパターンです。

🛠 利用可能なツール

  1. register_pytest_failure - 新しいテスト失敗を登録します
  2. list_failures - 登録済みのすべての失敗を一覧表示します
  3. get_failure_info - 特定の失敗に関する詳細情報を取得します
  4. debug_with_principle - デバッグ原則を体系的に適用します
  5. analyze_failures - テスト失敗のパターンを分析します
  6. generate_debug_prompt - デバッグ用の LLM プロンプトを生成します
  7. pytest_docs_guide - pytest ドキュメントに関するガイダンスを取得します
  8. 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 Framework の検証エラー
  • 問題:mcp-framework 0.2.13 は、準拠していない "type": "error" を含む検証エラーを返します
  • 期待される動作:MCP 仕様では、すべてのエラーコンテンツに "type": "text" を指定する必要があります
  • 影響:MCP Testing Framework の検証が失敗します(偽陰性)
  • 回避策:検証には直接テストまたは MCP Inspector を使用してください
  • ステータス:フレームワークのメンテナーに報告済みです

詳細な技術分析については、framework-issue-report.md を参照してください。

🤝 貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

📄 ライセンス

MIT License - 詳細については LICENSE ファイルを参照してください。

🔗 関連リンク


注:このサーバーは本番環境で利用可能で、完全に機能します。テストフレームワークの検証に関する問題は、現在の mcp-framework 実装における既知の制限であり、実際の使用には影響しません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。