mason
Mason indexes your codebase into a persistent concept map linking features and flows to their implementing files, so AI agents can answer "where is X implemented" without running grep/glob. It also provides pre-edit impact analysis and generates CLAUDE.md files from structured analysis of git history, architectural file sampling, and test mappings.
README
Mason – the context builder for LLMs 👷
Mason gives LLMs a persistent map of your codebase so they stop exploring from scratch every session.
The problem: Every time an LLM starts a new conversation about your code, it greps, reads files, and pieces together the architecture — burning tokens on context it already understood yesterday. On a 164-file project, answering "what features does this app have?" requires reading 8+ files across multiple tool calls.
Mason's fix: A concept map that persists across sessions. One tool call returns a feature-to-file lookup table — the LLM knows exactly where to look, without exploring.
Measured result (deepeval, Claude Sonnet, 164-file KMP project):
| Question | With Mason | Without Mason | Token saving |
|---|---|---|---|
| List all features | 10,258 tok | 31,346 tok | 67% |
| Trace data flow | 12,010 tok | 15,258 tok | 21% |
| Compare platforms | 10,897 tok | 19,353 tok | 44% |
| Onboarding flow | 10,271 tok | 11,432 tok | 10% |
| Average | 36% |
Same answer quality (0.9/1.0 on all tests, both paths). Reproduce: bench/.
Quick start
claude mcp add mason --scope user -- npx -p mason-context mason-mcp
Restart Claude Code, then ask: "use mason to analyze this project and create a snapshot."
That's it — Mason will analyze your codebase and create a concept map. Next session, it loads the map instead of re-exploring everything.
How it works
Concept map
Mason's core feature. It persists a feature-to-file map in .mason/snapshot.json that survives across conversations. When the LLM needs to understand your project, it reads this map instead of grepping through your entire codebase:
{
"features": {
"home screen": {
"files": ["HomeScreen.kt", "HomeViewModel.kt", "GetWeatherDataUseCase.kt"]
}
},
"flows": {
"weather fetch": {
"chain": ["HomeViewModel.kt", "WeatherRepositoryImpl.kt", "WeatherServiceImpl.kt"]
}
}
}
The map is generated by the LLM itself — Mason provides the analysis tools, and the LLM interprets your code to decide what the features and flows are. This means the map captures architectural understanding, not just file listings.
Create one by asking your AI assistant to "create a mason snapshot", or via CLI:
mason set-llm gemini # configure a provider (no API key needed)
mason snapshot ~/my-project # generate concept map
mason snapshot --install-hook # auto-update on every commit
Change impact analysis
Before editing a file, Mason can tell you what else might be affected. It combines three signals that would each require multiple tool calls to gather manually:
- Co-change history — files that historically change together in git commits
- References — files that import or mention the target by name
- Related tests — test files paired to the target by naming convention
mason impact WeatherRepository.kt -d ~/my-project
Also available as the get_impact MCP tool — ask your assistant "what would be affected if I changed WeatherRepository?"
Git history analysis
Mason aggregates hundreds of commits into actionable stats: which files change most often (hot files you should be careful with), which directories haven't been touched in months (potentially stale code), and what commit conventions the team follows. This is the kind of analysis that would take dozens of git log calls to compute manually.
mason analyze ~/my-project
MCP tools
Mason exposes 6 tools via the Model Context Protocol. Any MCP-compatible client (Claude Code, Cursor, etc.) can use them:
| Tool | What it does |
|---|---|
get_snapshot |
Load the concept map — maps features/flows to files |
save_snapshot |
Persist the concept map for future sessions |
get_impact |
Change impact: co-change history, references, related tests |
analyze_project |
Git history: commit patterns, hot files, stale dirs |
full_analysis |
All-in-one first visit: git stats + structure + code samples + test map |
get_code_samples |
Smart file previews selected by architectural role |
CLI usage
Mason also works as a standalone CLI for generating CLAUDE.md files and running analysis without an MCP client. Configure an LLM provider once, then use any command:
mason set-llm claude|gemini|ollama|openai # configure provider
mason generate # analyze codebase + LLM -> CLAUDE.md
mason analyze # git stats only (no LLM needed)
mason impact File.kt # change impact analysis
mason snapshot # create/update concept map
Most providers work without an API key — claude, gemini, and ollama all use their respective CLIs directly.
Security
What the snapshot contains: Feature names, relative file paths, and flow descriptions. No source code, secrets, or business logic.
What it doesn't touch: Mason respects .gitignore (via git ls-files) and has a deny-list that blocks .env, .pem, .key, credentials, and other sensitive files from being sampled. Path traversal protection ensures all file access stays within the project root.
LLM data flow: Generating a snapshot via CLI sends sampled file contents to your configured LLM provider — the same way any AI coding assistant reads your code. Use ollama for fully local generation. The MCP server tools (get_snapshot, get_impact, etc.) only read local files.
Language support
Mason is completely language-agnostic. It uses file naming patterns and git history rather than language-specific parsing, so it works with any project that has source files and a git repository — TypeScript, Kotlin, Python, Go, Rust, Swift, Java, C#, Dart, and more.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。