Hey everyone, (Disclosure per Rule 6: I am the creator of this tool. It is 100% free, fully local, and open-source under the MIT license). I’ve been using Claude Code a lot lately, but I keep running into the same workflow bottleneck: Claude explores large codebases like a blind typist. It relies on endless grep , ls , and cat loops. This burns through context windows, costs a lot of tokens, and worse—it misses structural dependencies, leading to broken imports or architectural regressions. To fix this, I built Roam Code ( https://github.com/Cranot/roam-code ). It’s a static analysis engine that uses tree-sitter to parse your repo (26 languages supported) into a local SQLite semantic graph. More importantly for this sub, it includes an MCP server with 48 tools specifically designed to give Claude Code architectural “sight.” How it improves Claude Code workflows: Instead of Claude guessing what files to read, the MCP server gives it structured, token-optimized graph queries. Context Optimization ( context tool): If Claude needs to modify calculate_tax , it calls this tool. Roam Code returns the exact files, line ranges, callers, and callees. It replaces 5-10 manual grep/cat tool calls with a single, highly compressed (~3k token) response. Blast Radius ( preflight & impact tools): Before Claude writes code, it can check the blast radius. Roam Code tells it exactly what other components and tests will break if it changes a specific symbol. Architectural Simulation ( simulate tool): Claude can test a refactor in-memory before touching your files. It can propose moving a function, and Roam Code will tell it if that move creates a circular dependency or violates an architectural boundary. Graph-level Editing ( mutate tool): Instead of Claude struggling with string manipulation, regex replaces, and indentation errors, it can command the graph: mutate move functionX to fileY . Roam Code acts as the compiler and safely rewrites the code and imports. Side-Effect Tracing ( effects tool): Claude can trace paths to see if an API route it’s modifying eventually triggers an unguarded database write down the call chain. How to use it with Claude Code: It requires Python 3.9+. You can install it and add it to Claude Code in two commands:
Install the CLI and fastmcp pip install roam-code fastmcp # Add the MCP server directly to Claude Code claude mcp add roam – fastmcp run roam.mcp_server:mcp
(Note: The first time you run it, it takes a few seconds to index the repo into a local .roam folder. After that, it updates incrementally and queries take <0.5s). If you use Claude Code on medium-to-large codebases (100+ files) and are tired of it getting lost in the weeds or burning tokens on irrelevant file reads, I’d love for you to try this out. Repo and full documentation: https://github.com/Cranot/roam-code Let me know if you run into any issues or have ideas for new MCP tools I should add for Claude! submitted by /u/DimitrisMitsos
Originally posted by u/DimitrisMitsos on r/ClaudeCode
