Skip to content

Testing

The test suite checks that the same public MCP behavior works over HTTP and stdio.

Current Test Layout

tests/
    conftest.py
    server_contract.py
    test_http.py
    test_stdio.py

server_contract.py contains the shared expectations. Both transport tests verify the resources, prompts, fallback tools, and representative reads against that contract.

Run Tests

Run the full suite with:

uv run pytest

Run one transport while working on a focused change:

uv run pytest tests/test_http.py -q
uv run pytest tests/test_stdio.py -q

The repository uses strict pytest markers. Register any new marker in pyproject.toml before using it.

Full Validation

uv run zensical build
uv run ruff check .
uv run ty check
uv run pytest

See the Pytesting skill when adding or restructuring tests.