Skip to main content
Glama

UMLmcp

This project is a Python service that uses Google Gemini to generate PlantUML code for UML Class and Sequence diagrams. It exposes a gRPC interface and an MCP tool for generating UML diagrams.

Setup

  1. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate
  2. Install the dependencies:

    pip install -r requirements.txt
  3. Create a key.txt file in the root of the project and paste your Gemini API key in the first line.

Related MCP server: PlantUML MCP Server

Generating gRPC stubs

To generate the gRPC stubs, run the following command:

python -m grpc_tools.protoc -I proto --python_out=grpc_server/generated --grpc_python_out=grpc_server/generated proto/uml_service.proto

Running the servers

gRPC server

To run the gRPC server, run the following command:

python -m grpc_server.server

MCP server

The MCP (Model-Context-Protocol) server exposes the generate_uml tool, allowing other processes to generate UML diagrams. To run the MCP server, use the following command:

python -m mcp_server.server

CLI usage

To use the CLI, run the following command:

python -m cli.main --mode [domain_json|free_text] --input <file or "-"> --class --sequence --outdir ./out

Testing

To run the tests, run the following command:

pytest -q

Related MCP Connectors

Related MCP Servers