MCPEvent
MCP Event Server — Test Suite
Funktionsorientierte, schnelle und hängsichere Regressionstests für den MCP event server
(server.py, events.py, store.py, runtime.py, sources/).
Aufbau
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 guidanceDer Produktionsquellcode unter test/ ist eingefroren — bearbeiten Sie server.py, events.py,
store.py, runtime.py, errors.py, client.py, config.json, requirements.txt,
oder sources/* nicht als Teil der Testarbeit.
Related MCP server: MCP Server & Client Test Environment
Ausführen
# 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 300Siehe TEST_RUNTIME_MAP.md für die Server-Nutzungsmatrix, die begrenzte Warte-Strategie und
warum Sie während der Entwicklung fokussierte und nicht vollständige Tests ausführen sollten.
Prinzipien
Kein Server, es sei denn, der Test benötigt die MCP/HTTP-Grenze. Die Anwendungslogik (Store, Events, Routing, Checkpoint/Ack, Hintergrundaufgaben, Quelllebenszyklus, Deduplizierung) wird direkt gegen die realen Objekte mit einem In-Memory-Stub-Bus getestet.
Ein Server pro D-Level-Datei (Ausnahmen: Neustarttests in
test_errors.py/test_reconnect.pyundtest_subscriptions.py, deren Tests unterschiedliche Quellkonfigurationen benötigen).Begrenzte Wartezeiten, keine langen festen Pausen. Bereitschaft/Zählungen werden mit Timeouts abgefragt.
Hartes Timeout (300 s/Datei) + vom Parent durchgeführte Bereinigung — der Runner beendet die Prozessgruppe des Kindes, sodass eine hängende Datei schnell fehlschlägt (gemeldet als TIMEOUT) und alle von ihr gestarteten
server.pywerden mit ihr beendet. Keine Abhängigkeit vonatexitdes Kindes (das nach einem harten Kill nicht ausgeführt werden kann).
Gelöscht (nicht neu erstellen)
test/test_phase8.py, test/integrate_test.py — ersetzt durch die obigen funktionsspezifischen Dateien.
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