Local-first code intelligence for AI coding agents: hybrid repository search, exact symbol/source navigation, structural outlines, conservative call relationships, and freshness-aware indexing.
Satori MCP has only 1 tool (manage_index) with a reasonable schema and description. However, the tool exhibits critical naming and composition issues. The name 'manage_index' violates verb_noun conventions and conflates multiple distinct operations (create, reindex, sync, status) into a single tool. The description (105 chars) is adequate in length but lacks clarity on when to use each action variant and what the tool returns. The input schema declares the 'action' enum properly but lacks descriptions for the enum values themselves, forcing the LLM to guess what 'sync' vs 'reindex' actually do. The 'path' parameter description is minimal (23 chars) and doesn't specify the expected format, validation rules, or error cases. Output schema is completely undocumented, there is no visibility into what fields are returned for each action. Error handling is absent from the visible code. The tool's risk is marked WRITE but there is no confirmation pattern, dry-run mode, or idempotency guarantee documented. The server is STDIO-only, which hard-caps protocol readiness at 50 and severely limits production utility.
Manage repository indexing: create indexes, sync changes, reindex, and check status for code intelligence.
Tool name 'manage_index' violates verb_noun naming convention and conflates 4 distinct operations (create, reindex, sync, status). Should be split into separate tools: create_index, sync_index, reindex_repository, get_index_status.
Enum values in 'action' parameter lack descriptions. LLM cannot infer what 'sync' does vs 'reindex', only visible values are the strings themselves. Add descriptions for each enum value explaining its effect.
Output schema is completely undocumented. No visibility into what fields are returned by manage_index for any action variant. Cannot verify whether response includes status, errors, or chaining IDs needed for subsequent operations.
Tool marked as WRITE risk but no confirmation, dry-run, or idempotency pattern documented. LLM has no way to preview changes before executing destructive 'create' or 'reindex' actions on a repository.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
'path' parameter description is minimal (23 chars: 'Absolute path to the repository root') and lacks validation rules. Does not specify if path must exist, must be readable, expected format, or error behavior if path is invalid/inaccessible.
Transport is STDIO-only, which is not remotely accessible. This prevents integration with hosted MCP clients and severely limits production deployments. Should support HTTP or Streamable HTTP for remote invocation.