Skip to main content
Glama

QA MCP Server

Расширяемый MCP-сервер (Model Context Protocol), который планируется сделать единой AI-платформой для обеспечения качества ПО.

Текущее состояние

Фаза 1 — Фундамент и Ядро

ВЫПОЛНЕНО

Шаг

Возможность

Статус

1

Основа проекта

ВЫПОЛНЕНО

2

MCP-сервер + здоровье

ВЫПОЛНЕНО

3

Абстракция LLM-провайдера

ВЫПОЛНЕНО

4

Анализатор требований

ВЫПОЛНЕНО

5

Генератор тест-кейсов

ВЫПОЛНЕНО

6

Ревьюер тест-кейсов

ВЫПОЛНЕНО

7

Сквозной QA-рабочий процесс

ВЫПОЛНЕНО

Фаза 2 — Контекст проекта, персистентность, версионирование и переносимость

Шаг

Возможность

Статус

1

Контекст QA-проекта

ВЫПОЛНЕНО

2

Персистентность SQLite

ВЫПОЛНЕНО

3

Версионирование QA-наборов

ВЫПОЛНЕНО

4

Импорт / Экспорт

ВЫПОЛНЕНО


1. Видение

Долгосрочная цель — построить переиспользуемую QA MCP платформу, предоставляющую QA-возможности MCP-совместимым ИИ-клиентам.

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 или другому провайдеру.

Результаты ИИ проходят валидацию с помощью моделей 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

Две папки 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, касающееся нерешённой прямой ссылки (forward reference) поля 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. Реализовать за раз только один шаг.

  2. Тестировать каждую функцию.

  3. Существующие тесты должны оставаться зелёными.

  4. Ни один шаг не считается завершённым без локальной проверки.

  5. Обновлять README на каждой подтверждённой вехе.

  6. Основная бизнес-логика должна оставаться независимой от транспорта MCP.

  7. Персистентность и внешние интеграции остаются за интерфейсами.

  8. LLM-провайдеры должны оставаться заменяемыми.

  9. Результаты ИИ должны проходить валидацию.

  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. Результаты ИИ должны валидироваться перед дальнейшим использованием.

  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