Skip to main content
Glama

UMLmcp

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables users to generate PlantUML code for UML Class and Sequence diagrams using Google Gemini AI. Supports both domain JSON input and free text descriptions to create structured UML diagrams.

  1. Setup
    1. Generating gRPC stubs
      1. Running the servers
        1. gRPC server
        2. MCP server
      2. CLI usage
        1. Testing

          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