Skip to content

Developers

Build, test, and extend UML-MCP. Pick the page that matches what you're trying to do.

  • Testing


    Test layout and how to run the suite.

    Testing guide

  • Architecture


    Repository layout: MCP runtime, Kroki clients, HTTP / Vercel entry points, stdio CLI.

    Architecture

  • Contributing


    Local setup, conventions, code of conduct, security policy.

    Contributing

  • Python API


    Auto-generated reference for embedding the server or extending the rendering pipeline.

    Python API

Local development cheatsheet

# Install dev dependencies
uv sync --all-groups

# Run unit tests
uv run pytest tests/ -v

# Lint
uv run ruff check .
uv run ruff format --check .

# Local CI (mirrors GitHub Actions)
make ci

# Serve docs locally
uv run mkdocs serve

Repository layout

server.py              MCP entry point (stdio/HTTP)
app.py                 FastAPI REST API + MCP HTTP at /mcp
api/app.py             legacy re-export of app for older Vercel preset
mcp_core/
  core/                config, server, CLI, utilities, diagram pipeline
  tools/               generate_uml, validate_uml, batch, schemas
  prompts/             diagram generation prompts
  resources/           uml:// resource handlers
  server/              FastMCP wrapper
tools/kroki/           Kroki, PlantUML, Mermaid, D2, TikZ clients
tests/                 pytest suite
docs/                  this MkDocs site

Source of truth

Source layout drifts faster than narrative docs. Confirm against the GitHub tree when in doubt.