Ummon
The semantic layer for software engineering: Connect code to meaning, build on understanding
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).
- Analyzing complex software systems for better understanding.
- Assisting AI agents in exploring code relationships.
- 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.