Umtri

Official registry Maps, travel and weather

Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http umtri 'https://mcp.umtri.io'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "umtri": {
            "type": "http",
            "url": "https://mcp.umtri.io"
        }
    }
}
NPM package umtri-mcp
Claude Code
claude mcp add umtri -e 'UMTRI_API_TOKEN=<your umtri_api_token>' -e 'UMTRI_API_BASE=<UMTRI_API_BASE>' -- npx -y umtri-mcp@1.5.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "umtri": {
            "command": "npx",
            "args": [
                "-y",
                "umtri-mcp@1.5.3"
            ],
            "env": {
                "UMTRI_API_TOKEN": "<your umtri_api_token>",
                "UMTRI_API_BASE": "<UMTRI_API_BASE>"
            }
        }
    }
}

Environment variables

  • UMTRI_API_TOKEN required secret Personal access token from app.umtri.io → Settings → API Tokens. Read tokens cannot call write tools.
  • UMTRI_API_BASE Override the API base URL. Defaults to https://api.umtri.io — set only when self-hosting.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. umtri-mcp
  2. Quick start
  3. Run it yourself (stdio)
  4. Tools
  5. Resources
  6. Links
  7. License

umtri-mcp

MCP server for Umtri — give your AI coding agent a persistent map of your project's structure, dependencies, and bugs.

Your agent re-derives your codebase from scratch every session. Umtri stores the structure once and hands it back through MCP: a tree of what the system is made of, the calls and dependencies between its parts, and the bugs eroding it. Ask "what breaks if I change this?" and get an answer traced through recorded connections rather than guessed from a grep.

Quick start

The fastest path is the hosted endpoint at https://mcp.umtri.io — nothing to install. Generate a token at app.umtri.io → Settings → API Tokens, then:

claude mcp add --transport http umtri https://mcp.umtri.io \
  --header "Authorization: Bearer umtri_pat_xxxxxxxxxxxxxxxx"

Any MCP client that takes a config object uses the same shape:

{
  "mcpServers": {
    "umtri": {
      "type": "http",
      "url": "https://mcp.umtri.io",
      "headers": { "Authorization": "Bearer umtri_pat_xxxxxxxxxxxxxxxx" }
    }
  }
}

Run it yourself (stdio)

Use this package when you want to pin a version or point at a self-hosted API:

claude mcp add umtri \
  -e UMTRI_API_TOKEN=umtri_pat_xxxxxxxxxxxxxxxx \
  --transport stdio \
  -- npx -y umtri-mcp
VariableRequiredDefault
UMTRI_API_TOKENyes—
UMTRI_API_BASEnohttps://api.umtri.io

The token is not validated at setup time, so a bad token connects but every call fails. If tools appear and then error, re-check the token and its scope — read tokens cannot call any write tool.

Tools

Read — get_graph, get_bug, get_impact, list_projects, list_bugs, list_seasons, list_events

Write — create_project, create_node, update_node, delete_node (a subtree only with cascade: true), create_edge, delete_edge, create_api, update_api, delete_api, create_bug, update_bug, delete_bug, create_season (acts only after the user confirms)

Plan loop — commit_plan, record_commit

Wiki — list_wiki, get_wiki, list_wiki_revisions, write_wiki, delete_wiki. The ground's encyclopedia: pages form a table of contents (parent, position) read from an overview down, each has a kind, and every write comes back with warnings when a page strays from the skeleton.

Feedback — send_feedback files a suggestion or defect about Umtri itself.

get_graph returns a slice, not a dump: scope by subtree (rootId), by layer (maxType), by role, or by season, and control description weight separately. A large tree stays cheap to read.

Resources

Ten read-only documents the agent can pull for domain rules — the plant vocabulary (trunk/limb/twig/leaf/vein), what counts as a node and what does not, how seasons work, how plan nodes are meant to be realized, how a ground behaves while transplanting, keeping the tree in step with commits, and how to write and organize the wiki.

umtri://rules/vocabulary            umtri://rules/plan
umtri://rules/vocabulary-detailed   umtri://rules/commit-sync
umtri://rules/system-structure      umtri://rules/wiki
umtri://rules/seasons               umtri://templates/wiki
umtri://rules/transplant            umtri://about/vision

License

Apache-2.0. See LICENSE.

Frequently asked questions

What is Umtri?

Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

How do I install Umtri?

It runs as a remote server. In Claude Code: claude mcp add --transport http umtri 'https://mcp.umtri.io'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Umtri need an API key?

Yes. It expects UMTRI_API_TOKEN, which you set in its configuration.

Is Umtri open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains Umtri?

It is published by bepuljang. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.