| FMRS | 63 / 100 · C | 79 / 100 · B |
| Reliability | 11 / 20 | 12 / 20 |
|---|
| Security and permissions | 13 / 20 | 18 / 20 |
|---|
| Maintenance | 11 / 20 | 16 / 20 |
|---|
| Documentation | 15 / 20 | 18 / 20 |
|---|
| Setup experience | 13 / 20 | 15 / 20 |
| Best for | - Teams that need the knowledge behind agent answers to stay inspectable, versioned, and portable
- Local-first workflows that avoid hosted indexes, cloud registries, or cloud refresh workers
- Scenarios requiring visible source references and conservative link resolution that warns instead of guessing
- Deployments that want deterministic lexical search without an embedding service or LLM key
| - 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 | - Retrieval quality that depends on vector or semantic search
- Heading-based splitting, or Obsidian semantics like Canvas, Bases, PDFs, images, audio, video, and Dataview fields
- Importing GitHub repository URLs directly (there is no dedicated importer; use a local checkout or docs folder)
- Workflows that need to write back to the knowledge source or need agent-callable write tools
| - 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 local bundle directories and source cache and refresh state under ~/.okfy
- Make same-origin network fetches to registered documentation sites when refresh is enabled (respects robots.txt by default)
- Be launched as a stdio subprocess by an MCP client; the tools themselves are read-only
| - 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 | - HTML cleanup quality varies by documentation site and can affect search results
- Preflight rejects DNS-resolved private targets, but fetch-time DNS is not IP-pinned, leaving a theoretical DNS rebinding risk
- The default stale-while-refresh mode can briefly serve non-latest docs; blocking or off modes change this
- One page or file becomes one concept with no heading-based splitting, so granularity can be coarse
- `--force` replaces a non-empty output bundle, and unsafe output directories are rejected unless an explicit dangerous override is given
| - 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, Codex, Cursor | Claude Code, Codex, Gemini CLI, Cursor, VS Code, GitHub Copilot, Continue |
| Tools | 6 | 0 |