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.
-
Architecture
Repository layout: MCP runtime, Kroki clients, HTTP / Vercel entry points, stdio CLI.
-
Contributing
Local setup, conventions, code of conduct, security policy.
-
Python API
Auto-generated reference for embedding the server or extending the rendering pipeline.
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.