drio
Open app

Ummon

Source

The semantic layer for software engineering: Connect code to meaning, build on understanding

Catalog onlyCatalog onlySTDIO

Overview

Ummon is a code analysis tool that builds knowledge graphs from codebases to enhance understanding, improve AI assistance, and enable sophisticated querying. It connects code entities to domain concepts, making it easier to reason about complex software systems.

To use Ummon, install it via Cargo, index your codebase, and then use the command line to query the knowledge graph or assist with code recommendations.

  • Knowledge graph construction for semantic representation of code. - Advanced querying system using natural language or grep-like flags. - Domain model extraction using LLMs to bridge technical and business understanding. - Integration with AI agents through the Model Context Protocol (MCP).
  1. Analyzing complex software systems for better understanding.
  2. Assisting AI agents in exploring code relationships.
  3. Extracting domain models to align technical implementation with business concepts.

Add to your AI client

Use these steps to connect Ummon in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "ummon-nayshins": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "ummon-nayshins": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "ummon-nayshins": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "ummon-nayshins": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "ummon-nayshins": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "ummon-nayshins": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-ummon-nayshins"
      ]
    }
  }
}

FAQ

What programming languages does Ummon support?

Ummon supports Rust, Python, JavaScript, and Java.

Is Ummon stable for production use?

No, Ummon is currently in early development and may have unstable APIs.

How can I contribute to Ummon?

You can contribute by reporting issues, suggesting features, or submitting pull requests on GitHub.