Skip to main content
Glama
mshegolev

allure-testops-mcp

by mshegolev

allure-testops-mcp

PyPI Python License: MIT Tests

Allure TestOps用MCPサーバー。LLMエージェント(Claude Code、Cursor、OpenCodeなど)がAllure REST APIを通じてプロジェクト、ローンチ、テストケース、テスト結果をクエリできるようにします。

Python、FastMCP、stdioトランスポートを使用。

あらゆるAllure TestOpsインスタンス(SaaSの qameta.io またはセルフホスト/オンプレミス)で動作します。企業ネットワークを考慮して設計されており、プロキシバイパスの設定、SSL検証の切り替え(オプション)、APIトークン認証に対応しています。

設計のハイライト

  • ツールアノテーション — すべてのツールに readOnlyHint: True / openWorldHint: True がマークされています。6つのツールはすべて読み取り専用であり、MCPクライアントが確認を求めることはありません。

  • すべてのツールで構造化された出力 — 各ツールは TypedDict 戻り値の型を宣言しているため、FastMCPが自動的に outputSchema を生成し、すべての結果が structuredContent(型付きペイロード)と事前レンダリングされたマークダウンテキストブロックの両方を保持します。

  • 構造化されたエラー — 認証、404、403、429、5xx、環境変数不足のエラーは、アクション可能なメッセージ(例: "認証失敗 — ALLURE_TOKENにAPIスコープがあるか確認してください")に変換されます。

  • Pydanticによる入力バリデーション — すべての引数には、JSON Schemaとして自動公開される型付き制約(範囲、長さ、リテラル)があります。

  • ページネーション — リストツールは、pagetotalhas_morenext_page を含む pagination ブロックを返します。

  • MCPコンテキストによる進捗報告 — 複数のAPI呼び出しを行うツール(allure_get_project_statisticsallure_search_failed_tests)および allure_list_test_cases は、ctx.report_progress + ctx.info イベントを発行するため、互換性のあるクライアントはプログレスバーやステップラベルを表示できます。

Related MCP server: Allure TestOps MCP

機能

日常的なAllure TestOpsワークフローをカバーする6つのツール:

探索

  • allure_list_projects — ID、名前、略称を含むすべてのプロジェクト

  • allure_get_project_statistics — TC数、自動化率、前回のローンチ概要

ローンチと結果

  • allure_list_launches — 合格/不合格統計を含む最近のローンチ

  • allure_get_test_results — ローンチ内のテスト結果(ステータスでフィルタリング可能)

  • allure_search_failed_tests — 前回または指定したローンチにおけるFAILED/BROKENテスト

テストケース

  • allure_list_test_cases — 自動/手動フィルタ付きのテストケース(各結果はレイヤー、例: UNIT / API / E2E も保持)

インストール

Python 3.10以上が必要です。

# via uvx (recommended)
uvx --from allure-testops-mcp allure-testops-mcp

# or via pipx
pipx install allure-testops-mcp

設定

短いバージョン — claude mcp add

claude mcp add allure -s project \
  --env ALLURE_URL=https://allure.example.com \
  --env ALLURE_TOKEN=your-api-token \
  --env ALLURE_SSL_VERIFY=true \
  -- uvx --from allure-testops-mcp allure-testops-mcp

または ~/.claude.json / プロジェクトの .mcp.json に記述:

{
  "mcpServers": {
    "allure": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "allure-testops-mcp", "allure-testops-mcp"],
      "env": {
        "ALLURE_URL": "https://allure.example.com",
        "ALLURE_TOKEN": "${ALLURE_TOKEN}",
        "ALLURE_SSL_VERIFY": "true"
      }
    }
  }
}

サポートされているすべての環境変数のテンプレートについては、.env.example を参照してください。

確認:

claude mcp list
# allure: uvx --from allure-testops-mcp allure-testops-mcp - ✓ Connected

環境変数

変数

必須

説明

ALLURE_URL

はい

Allure TestOps URL (例: https://allure.example.com)

ALLURE_TOKEN

はい

Allure TestOpsのAPIトークン (プロフィール → APIトークン)

ALLURE_SSL_VERIFY

いいえ

true/false。自己署名企業証明書の場合は false に設定。デフォルト: true

使用例

Claude Codeでの例:

  • "List all Allure projects"

  • "Show last 10 launches for project 63"

  • "Failed tests in the last launch for project 175"

  • "Automation rate for project 842"

  • "Test results in launch 12345 with status FAILED"

セキュリティに関する考慮事項

  • APIトークンは ALLURE_TOKEN 環境変数から読み取られます — コマンドラインで渡されることはなく、ログに書き込まれることもありません。

  • シークレットはツール応答でエコーバックされません (stat.request_headers のダンプや session.auth の反映はありません)。

  • 自己署名SSLALLURE_SSL_VERIFY=false を介したオプトインです — デフォルトは true です。パブリックネットワークで検証を無効にすることはセキュリティリスクです。信頼できる企業内インスタンスでのみ使用してください。

  • プロキシ検出は無効化されています (session.trust_env = False) — MCPは意図的に HTTP_PROXY/HTTPS_PROXY 環境変数を無視するため、セッションが意図しないプロキシ経由でルーティングされることはありません。Allureインスタンスにプロキシ経由でしか到達できない場合は、requests が直接解決できる環境でMCPを実行してください。

  • 書き込み操作は公開されていません — 6つのツールはすべて読み取り専用です。APIトークンに書き込みスコープがある場合でも、このMCPサーバーはAllure TestOps内の何かを作成、変更、削除することはできません。

  • Pydanticによる入力バリデーション — すべてのツール引数は型指定され、制限されています(IDは1以上、ページネーションは200〜500に制限)。

レート制限

Allure TestOpsはインスタンスごとのレート制限を強制します(通常、APIトークンあたり約60リクエスト/分)。HTTP 429が発生した場合、MCPは以下を推奨するアクション可能なエラーを返します:

  • 再試行する前に30〜60秒待機する。

  • size パラメータを減らす(テスト結果のデフォルトは50、プロジェクトは200)。

  • より小さいページサイズでページネーションを行う。

2つのツールは内部で複数のAPI呼び出しを実行します:

  • allure_get_project_statistics — 3回の呼び出し(TC数 + ローンチ + ローンチ統計)。

  • allure_search_failed_tests — 2〜3回の呼び出し(最新ローンチの解決 + FAILED + BROKEN)。

どちらもMCP Context を使用してステップごとの進捗を報告します。allure_list_test_cases も単一の進捗イベントを発行します。互換性のあるクライアントで進捗ストリームを監視してください。

開発

git clone https://github.com/mshegolev/allure-testops-mcp.git
cd allure-testops-mcp
pip install -e '.[dev]'
pytest

サーバーを直接実行する(stdioトランスポート、MCPメッセージのstdinを待機):

ALLURE_URL=... ALLURE_TOKEN=... allure-testops-mcp

ライセンス

MIT © Mikhail Shchegolev

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
14Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    AI-native Model Context Protocol (MCP) server for TestRail. Lets Claude, Cursor, Windsurf, and other AI assistants browse projects, create and update test cases, kick off test runs, and record results through natural-language conversation — with strongly-typed tool schemas and per-project custom field validation that helps LLMs generate valid TestRail requests on the first try.
    26
    339
    28
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    An MCP server for Allure TestOps that enables AI agents to manage test cases, defects, test plans, and other test management entities with clear, easy-to-use tools and helpful error guidance.
    66
    7
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.

  • Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshegolev/allure-testops-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server