MCPEvent
MCP Event Server — Набор тестов
Регрессионные тесты, ориентированные на функциональность, быстрые и устойчивые к зависаниям, для MCP event server
(server.py, events.py, store.py, runtime.py, sources/).
Структура
test/
run_all.py # regression driver: isolated subprocess per file, hard 300s/file timeout
helpers/ # lifecycle, mcp, wait, mock_http, runner — shared test support
mcp_result.py # SDK result normalization + safe teardown
test_*.py # one feature per file (the units of the suite)
config.json # base server config (overwritten per-test, restored after)
TEST_RUNTIME_MAP.md # per-file server usage, harness behavior, run guidanceИсходный код продукта в test/ заморожен — не редактируйте server.py, events.py,
store.py, runtime.py, errors.py, client.py, config.json, requirements.txt,
или sources/* в рамках тестовой работы.
Related MCP server: MCP Server & Client Test Environment
Запуск
# Focused (preferred while debugging one feature):
python test/test_acknowledgement.py
python test/run_all.py --group fast
# Full regression (CI / release only — slow path):
python test/run_all.py
python test/run_all.py --timeout 300Смотрите TEST_RUNTIME_MAP.md для матрицы использования сервера, стратегии ограниченного ожидания и
почему во время разработки следует запускать целенаправленные, а не полные тесты.
Принципы
Без сервера, если только тест не требует границы MCP/HTTP. Логика приложения (store, events, routing, checkpoint/ack, background tasks, source lifecycle, dedup) тестируется напрямую с реальными объектами с использованием шины-заглушки в памяти.
Один сервер на файл уровня D (исключения: тесты перезапуска в
test_errors.py/test_reconnect.pyиtest_subscriptions.py, тесты которых требуют разных конфигураций источников).Ограниченные ожидания, без длительных фиксированных пауз. Готовность/количество опрашиваются с тайм-аутами.
Жесткий тайм-аут (300 с/файл) + очистка, принадлежащая родителю — запускающий завершает группу процессов дочернего процесса, поэтому зависший файл быстро завершается с ошибкой (сообщается как TIMEOUT), и любой
server.py, который он породил, уничтожается вместе с ним. Нет зависимости от дочернегоatexit(который не может выполняться после жесткого завершения).
Удалено (не воссоздавать)
test/test_phase8.py, test/integrate_test.py — заменены файлами, ориентированными на функции, выше.
This server cannot be deployed
Maintenance
Related MCP Connectors
MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
MCP server for building and testing AI agents with multi-model experimentation and insights.
An MCP server that provides Javelin Standalone Guardrails
An MCP server that automatically collects feedback on your MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA test server implementing all features of the MCP protocol, including prompts, tools, resources, and sampling, designed for testing MCP clients rather than practical applications.MIT
- FlicenseNot gradedqualityDmaintenanceA testing environment for MCP server setup and client-server interactions, allowing users to verify basic MCP server functionality and test client-server communications including shell command execution.-
- AlicenseBqualityBmaintenanceA Python MCP server with 65 deterministic tools across 8 groups, supporting stdio, HTTP, and REST API transports for consistent MCP protocol testing.65643 PyPI1MIT
- AlicenseAqualityDmaintenanceAn MCP server that reads test reports and provides regression analysis tools for comparing runs, identifying regressions, fixes, and persistent failures.3MIT