Graph-powered code intelligence engine — indexes codebases into a knowledge graph, exposed via MCP tools for AI agents and a CLI for developers.
Synaptiq provides 7 well-named, read-only code-analysis tools with clear descriptions and reasonable schema completeness. However, parameter descriptions lack depth, output schemas are entirely undocumented, and error handling guidance is absent. The tools follow verb-noun naming well (list_repos, search via query, context lookup, impact analysis) and have coherent composition. The main gaps are: (1) no documented output schemas, LLMs cannot know what fields to expect from responses, forcing unstructured parsing; (2) parameter descriptions are minimal (e.g., 'limit' has only 'Maximum number of results (default 20).' without mentioning implications or constraints); (3) no error recovery guidance, if a symbol is not found or a query fails, the tools do not hint at next steps; (4) missing optional parameters like pagination cursors despite tool descriptions mentioning ranked results. All 7 tools score similarly (58 - 65) due to these consistent gaps.
Get a 360-degree view of a symbol: callers, callees, type references, heritage, and community membership.
Execute a raw Cypher query against the knowledge graph.
List all symbols detected as dead (unreachable) code.
Parse a git diff and map changed files/lines to affected symbols in the knowledge graph.
Blast radius analysis: find all symbols affected by changing a given symbol, grouped by depth with confidence scores.
List all indexed repositories with their stats.
Search the knowledge graph using hybrid (keyword + vector) search. Returns ranked symbols matching the query.
Output schemas completely undocumented. No tool declares what fields its response contains. LLMs cannot know whether a query result includes 'confidence_score', 'file_path', 'node_type' or none of these, forcing unstructured string parsing.
Parameter descriptions lack actionable constraints. 'limit' says 'Maximum number of results (default 20)' but does not state valid range (1 - 1000?). 'max_tokens' appears in 4 tools but never explains what happens if response exceeds limit (truncation? error?). 'focus_files' uses Personalized PageRank but doesn't explain how bias is applied or when to use it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No error recovery guidance. If synaptiq_query returns no results for a symbol, there is no hint that the LLM should try a partial search or list_repos to discover available symbols. If synaptiq_cypher fails (invalid query), no guidance on how to correct it.
synaptiq_cypher exposes raw Cypher query execution without validation. No mention of read-only enforcement, no examples of safe queries, no guidance on query complexity limits. High risk of malformed queries or DoS attempts.
Missing pagination for large result sets. synaptiq_dead_code returns 'all symbols detected as dead' with only a max_tokens limit. If a codebase has thousands of dead symbols, the response could be huge, blowing the context window. No next_cursor or offset/limit pagination visible.
Tool composition assumes multi-step workflows but does not document chaining. E.g., synaptiq_context should return 'callers' and 'callees', are these symbol names or full objects? Without documented output fields, the LLM cannot know whether to chain into another context lookup or extract identifiers.