Skip to main content
Glama

QA MCP Server

Model Context Protocol (MCP)を拡張したサーバーで、統合されたAI駆動QAプラットフォームになることを目指しています。

現在のステータス

フェーズ 1 — 基盤とQAインテリジェンス

完了

ステップ

機能

ステータス

1

プロジェクト基盤

完了

2

MCP サーバー + ヘルスチェック

完了

3

LLMプロバイダーの抽象化

完了

4

要件分析器

完了

5

テストケース生成器

完了

6

テストケースレビューアー

完了

7

エンドツーエンドのQAワークフロー

完了

フェーズ 2 — プロジェクトコンテキスト、永続化、バージョニング、移植性

ステップ

機能

ステータス

1

QAプロジェクトコンテキスト

完了

2

SQLite永続化

完了

3

QAスイートのバージョニング

完了

4

インポート / エクスポート

完了


1. ビジョン

長期的な目標は、再利用可能なQA MCPプラットフォームを構築し、MCP互換のAIクライアントにQA機能を公開することです。

MCP Client / AI Assistant
          |
          v
      QA MCP Server
          |
   +------+------+------+
   |             |      |
   v             v      v
QA Intelligence Connectors Automation
   |             |      |
Analyze        Jira    UI
Generate       GitHub  API
Review         Slack   Mobile
                       Performance
          |
          v
       QA Agent
          |
          v
 Persistent QA Context
          |
          v
 Project / Requirement / Suite Versions
          |
          v
 Import / Export

2. フェーズ 1 のアーキテクチャ

Requirement
     |
     v
Requirement Analyzer
     |
     v
RequirementAnalysis
     |
     v
Test Case Generator
     |
     v
TestCaseResponse
     |
     v
Test Case Reviewer
     |
     v
TestCaseReview
     |
     v
QASuiteResult

中核的なMCP機能:

analyze_requirement
generate_test_cases
review_test_cases
generate_qa_suite

3. LLMアーキテクチャ

LLMProvider
     |
     +---- MockLLM
     |
     +---- BedrockLLM

LLMアクセスはプロバイダーに依存しないため、QAツールはローカルでテストし、後でAWS Bedrockや別のプロバイダーに接続できます。

AIの出力は、ダウンストリーム処理の前にPydanticモデルを使用して検証されます。


4. フェーズ 2 ステップ 1 — QAプロジェクトコンテキスト

ステータス: 完了

QAプロジェクトには以下が含まれます:

QAProject
 |
 +-- project_id
 +-- name
 +-- description
 +-- application
 +-- environment
 +-- metadata

中核サービス:

ProjectContext
 |
 +-- create_project()
 +-- get_project()

MCPツール:

create_qa_project
get_qa_project

5. フェーズ 2 ステップ 2 — SQLite永続化

ステータス: 完了

プロジェクトは以下に永続化されます:

data/qa_mcp.db

SQLiteテーブル:

qa_projects

アーキテクチャ:

ProjectContext
       |
       v
ProjectRepository
       |
       v
SQLiteProjectRepository
       |
       v
SQLite

中核コンテキストは直接SQLiteに依存しません。

永続化は別々のPythonプロセス間で検証されました。


6. フェーズ 2 ステップ 3 — QAスイートのバージョニング

ステータス: 完了

QA要件と生成されたスイートはバージョン管理され、独立して永続化されます。

Related MCP server: QTM4J MCP Server

要件バージョン

QA Project
   |
   +-- Requirement v1
   +-- Requirement v2
   +-- Requirement v3

各要件バージョンには以下が含まれます:

  • version_id

  • project_id

  • version

  • requirement

  • application

  • environment

  • created_at

バージョンは各プロジェクトごとに独立して管理されます。

スイートバージョン

各スイートは、それを生成した要件バージョンを記録します:

Requirement v1
      |
      v
Suite v1

Requirement v2
      |
      v
Suite v2

各スイートバージョンには以下が含まれます:

  • suite_id

  • project_id

  • requirement_version_id

  • version

  • test_cases

  • review

  • created_at

アーキテクチャ

core/
└── versioning/
    └── service.py
        |
        v
infrastructure/
└── versioning/
    ├── repositories.py
    └── sqlite_version_repository.py
        |
        v
      SQLite

2つのversioningフォルダは意図的です:

  • core/versioning にはビジネスロジックが含まれます。

  • infrastructure/versioning にはリポジトリインターフェースとSQLite実装が含まれます。

中核サービス

QARequirementVersioningService
QASuiteVersioningService

リポジトリインターフェース

RequirementVersionRepository
SuiteVersionRepository

SQLite実装

SQLiteRequirementVersionRepository
SQLiteSuiteVersionRepository

MCPツール

要件:

create_requirement_version
get_requirement_version
list_requirement_versions

スイート:

create_suite_version
get_suite_version
list_suite_versions

7. フェーズ 2 ステップ 4 — インポート / エクスポート

ステータス: 完了

QA MCP サーバーは、次を含む移植性のあるプロジェクトアーティファクトをサポートするようになりました:

QA Project
    |
    +-- Requirement Versions
    |
    +-- Suite Versions

エクスポート

エクスポートのフローは以下です:

SQLite
   |
   +-- Project
   +-- Requirement Versions
   +-- Suite Versions
           |
           v
QAImportExportService
           |
           v
QAProjectExport
           |
           v
JSON

エクスポートは、呼び出し元が組み立てたオブジェクトではなく、永続化されたデータに基づいています。

MCPツール:

export_qa_project

入力:

project_id

出力:

{
    "project_id": "...",
    "export_version": "1.0",
    "payload": "..."
}

インポート

インポートのフロー:

JSON
  |
  v
Parse
  |
  v
QAProjectExport validation
  |
  v
Relationship validation
  |
  v
Duplicate project check
  |
  v
SQLite persistence

MCPツール:

import_qa_project

インポートは以下を検証します:

  • エクスポートJSON

  • エクスポート構造

  • プロジェクト識別子

  • 要件 → プロジェクト関係

  • スイート → プロジェクト関係

  • スイート → 要件バージョン関係

  • 重複プロジェクト保護

既存のプロジェクトは自動に上書きされません

ラウンドトリップ検証

完全な往復検証が完了しました:

SQLite DB A
    |
    v
EXPORT
    |
    v
JSON
    |
    v
IMPORT
    |
    v
SQLite DB B
    |
    v
Compare

検証されたアーティファクト:

Project           ✅
Requirements      ✅
Suites            ✅
Relationships     ✅

テスト分離

MCPインポート/エクスポートテストでは、隔離された一時SQLiteデータベースを使用します。

これにより、テスト実行が以下を汚染するのを防ぎます:

data/qa_mcp.db

また、以前のテスト状態に依存せずにテストを繰り返し実行できます。

P2-S4検証ベースライン

Import/Export focused tests: 7 passed
MCP Import/Export tests:     2 passed
Full regression:            49 passed
Application-code warnings:   0
Known external warning:      1

残りの警告は、既知の外部pydantic_settings警告で、lifespan フィールドの未解決の前方参照に関するものです。


8. プロジェクト構造

現在の重要なソース構造:

qa-mcp/
|
+-- src/
|   +-- qa_mcp/
|       |
|       +-- core/
|       |   +-- config.py
|       |   +-- llm.py
|       |   +-- project/
|       |   |   +-- context.py
|       |   |
|       |   +-- versioning/
|       |   |   +-- service.py
|       |   |
|       |   +-- import_export/
|       |       +-- service.py
|       |
|       +-- infrastructure/
|       |   +-- project_repository.py
|       |   +-- sqlite_project_repository.py
|       |   |
|       |   +-- versioning/
|       |       +-- repositories.py
|       |       +-- sqlite_version_repository.py
|       |
|       +-- models/
|       |   +-- schemas.py
|       |
|       +-- tools/
|       |   +-- requirement/
|       |   +-- testcase/
|       |   +-- workflow/
|       |
|       +-- server.py
|
+-- tests/
+-- config/
+-- data/
|   +-- qa_mcp.db
|
+-- README.md

9. ローカルセットアップ

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

テストの実行:

pytest -q

現在の検証済みベースライン:

49 passed

MCPサーバーの実行:

python -m qa_mcp.server

サーバーのインポートの検証:

python -c "from qa_mcp.server import mcp; print('MCP server imports OK')"

10. 開発ガイドライン

実装の各ステップで次のワークフローに従います:

IMPLEMENT
    |
    v
FOCUSED TESTS
    |
    v
FULL REGRESSION
    |
    v
RUNTIME / MCP VERIFICATION
    |
    v
FIX / REFINE
    |
    v
MARK STEP COMPLETE
    |
    v
UPDATE README
    |
    v
DOWNLOAD NEW README CHECKPOINT
    |
    v
NEXT STEP

ルール:

  1. 一度に1つのステップを実装する。

  2. すべての機能をテストする。

  3. 既存のテストはグリーンのままにしておく。

  4. ローカルで検証されるまでステップは完了しない。

  5. 検証されたマイルストーンごとにREADMEを更新する。

  6. 中核ビジネスロジックはMCPトランスポートに依存しない。

  7. 永続化と外部統合はインターフェースの背後に置く。

  8. LLMプロバイダーは交換可能なままにしておく。

  9. AI出力を検証する。

  10. テストは永続ストレージに対して繰り返し実行可能でなければならない。

  11. テストをパスさせるために永続データベースを削除しない。

  12. 永続化に重点を置くテストには分離データベースを使用する。

  13. アシスタントの会話をREADMEに手動でコピーしない。

  14. README が主導的な開発チェックポイントである。

  15. 主要機能は、そのMCP/実行時パスが検証されるまで完了しない。


11. アーキテクチャ原則

  1. 中核ビジネスロジックはcoreに属する。

  2. 永続化はinfrastructureに属する。

  3. **MCPトランスポートはserver.pyおよびMCP向けツール群に属する。 **

  4. ドメイン/データモデルはmodelsに属する。

  5. 中核サービスはSQLite実装に直接依存しない。

  6. **外部統合はインターフェースの背後に隔離する。

  7. LLMプロバイダーは交換可能なままにする。

  8. AI生成出力はダウンストリームで使用する前に検証する。

  9. 永続データをテストフィクスチャと混同しない。

  10. テストは繰り返し実行可能でなければならない。

  11. インポート操作は永続化の前にリレーションシップを検証する必要がある。

  12. インポート既存のプロジェクトを黙って上書きしない。

  13. 完了したマイルストーンには回帰テストが必要である。

  14. READMEの更新はマイルストーン完了の一部です。 */


12. フェーズ2 ロードマップ

ステップ

機能

ステータス

1

QAプロジェクトコンテキスト

完了

2

SQLite永続化

完了

3

QAスイートのバージョニング

完了

4

インポート / エクスポート

完了

5

Jiraコネクタ

6

Jira → QAワークフロー

計画中

7

自動化ケース生成器

計画中

8

QAエージェント

計画中

9

GitHub / CI統合

計画中

10

インターネット展開

計画中


13. 計画された最終アーキテクチャ

                    MCP CLIENT / AI ASSISTANT
                              |
                              v
                       +-------------+
                       |   QA MCP    |
                       |   Server    |
                       +------+------+
                              |
              +---------------+----------------+
              |               |                |
              v               v                v
        QA Intelligence   Connectors      Automation
              |               |                |
        +-----+-----+     +---+---+       +----+----+
        |     |     |     |   |   |       |    |    |
     Analyze Gen  Review Jira GitHub    UI   API  Perf
                                            Mobile
              |
              v
          QA Agent
              |
              v
       Persistent Context
              |
              v
     Project / Requirement
        / Suite Versions
              |
              v
       Import / Export

14. 現在のベースライン

Phase 1
  Steps 1–7  COMPLETED

Phase 2
  Step 1 — QA Project Context       COMPLETED
  Step 2 — SQLite Persistence       COMPLETED
  Step 3 — QA Suite Versioning      COMPLETED
  Step 4 — Import / Export          COMPLETED

現在の検証:

49 tests passed
SQLite persistence verified
Requirement versioning verified
Suite versioning verified
Import/export contract verified
Import validation verified
Round-trip persistence verified
MCP import/export verified
MCP server imports successfully
Test isolation verified

既知の警告:

pydantic_settings
IncompleteFieldDefinitionWarning
Field 'lifespan'

これは外部依存関係の警告であり、現在は機能やテストを妨げていません。


15. 次の開発ステップ

Phase 2 → Step 5
       |
       v
Jira Connector

次の実装フェーズは、このREADMEチェックポイントが保存された後にのみ開始する必要があります。


16. マイルストーン履歴

Phase 1
  |
  +-- Foundation
  +-- LLM abstraction
  +-- Requirement analysis
  +-- Test generation
  +-- Test review
  +-- QA suite workflow
  +-- MCP integration
  |
  v
Phase 1 COMPLETE

Phase 2
  |
  +-- QA Project Context
  +-- SQLite Persistence
  +-- Requirement/Suite Versioning
  +-- Import / Export
  |
  v
Phase 2 Step 4 COMPLETE

このREADMEは、フェーズ 2 → ステップ 4 — インポート / エクスポートの正常な検証後のプロジェクト状態を表しています。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

View all related MCP servers

Related MCP Connectors

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

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

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

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/sanumenon/qa-mcp'

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