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.

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
-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cool-Coder174/UML-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server