| FMRS | 62 / 100 · C | 79 / 100 · B |
| Reliability | 9 / 20 | 12 / 20 |
|---|
| Security and permissions | 12 / 20 | 18 / 20 |
|---|
| Maintenance | 13 / 20 | 16 / 20 |
|---|
| Documentation | 15 / 20 | 18 / 20 |
|---|
| Setup experience | 13 / 20 | 15 / 20 |
| Best for | - Developers who want Claude, Cursor, Windsurf, or other MCP clients to deeply understand codebase structure and dependencies.
- Privacy-conscious teams that prefer local embeddings and a local-only MCP server.
- Engineering teams working in supported languages such as Rust, Python, TypeScript/JavaScript, Go, PHP, and C++.
- Code intelligence scenarios that need semantic search, a symbol graph, and LSP-precise navigation together.
| - Engineering teams scaling AI coding agents while controlling spend
- Platform teams that need auditable, rollback-aware agent execution records
- Organizations using multiple agents (Claude, Codex, Gemini) under one governed flow
|
| Not for | - Workflows that only need plain-text grep and no structural understanding.
- Users who do not use an MCP client and only want a traditional IDE indexer.
- Enterprise procurement needing official vendor support or an SLA (this is a community open-source project maintained by Muvon).
- Situations where code must never leave the machine but local embedding models are also not acceptable.
| - Developers who just want a simple code-completion helper without run governance
- Teams unwilling to accept local JSONL run records with HMAC signing
- Environments without a supported adapter (Claude/Codex/Gemini CLIs, direct provider, or verifier-only)
|
| Required permissions | - Read source files under the specified project path (respects .gitignore by default and does not index sensitive files).
- Write and update local index data inside the project.
- Read local API key configuration and environment variables (VOYAGE_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY, JINA_API_KEY, GOOGLE_API_KEY, etc., all optional).
- When started with --with-lsp, launch and call the specified local language server (e.g. rust-analyzer).
- Run as a local MCP server; search itself performs no external network access.
| - Read/write access to the configured repo root (writable scope restrictable via --allow-path/--deny-path)
- Ability to invoke the chosen agent CLI (Claude/Codex/Gemini, etc.) and its underlying model account
- Local disk writes for run records, receipts, and share outputs (share/run-receipt., etc.)
- Execution of user-configured verifier commands (e.g. npm test)
|
| Risks and side effects | - When a cloud embedding provider is enabled, only the code chunks being embedded are sent to that provider; use local models for fully offline indexing.
- Indexing writes project content into a local index store, so the storage location and permissions should match team policy.
- LSP tools depend on an external language server; misconfiguration or crashes affect those tools, though not the graph or semantic search.
- Semantic search results are relevance-ranked candidates; an AI may draw conclusions from incomplete results, so important changes still need human review.
- A generic local cross-encoder reranker (e.g. bge-reranker-base) can actually regress code retrieval; a code-aware reranker is needed.
| - Verifier commands are executed; poorly chosen verifier commands carry security risk despite preflight policy checks
- Cost and token figures may be estimates (labeled with provenance) and should not be treated as settled accounting
- Receipt integrity must be verified before use as trustworthy evidence; missing rollback evidence is flagged as EVIDENCE_BOUNDARY
- Policy defaults come from martin.config.yaml and can be overridden by CLI flags; misconfiguration can loosen safety boundaries
|
| Supported clients | Claude Desktop, Claude Code, Cursor, Windsurf, Octomind, Cline, Continue, Zed, Replit | Claude Code, Codex, Gemini CLI, Cursor, VS Code, GitHub Copilot, Continue |
| Tools | 10 | 0 |