Model Context Protocol server for Ariadne - Expose code intelligence capabilities to AI agents. Find call graphs in your codebase using tree-sitter
Ariadne MCP exposes 2 code-analysis tools with reasonable naming and moderate description quality. Both tools have clearly specified input schemas with type definitions and descriptions. However, there are notable gaps in output schema documentation, parameter constraints (enums, ranges), and error handling guidance. The tools follow a discovery + detail pattern (list_entrypoints → show_call_graph_neighborhood), which is compositionally sound, but lack pagination parameters and structured result limits. No evidence of permission gates, audit trails, or secrets management despite operating on code repositories. Tool descriptions are adequate (100-150 chars) but below the 'LLM-optimized' 50-200 char baseline. Parameter descriptions are present but sparse, lacking examples of valid format or constraint details.
Lists all entry point functions ordered by call tree complexity. Entry points are functions never called by other functions in the analyzed scope. Shows function signatures with parameters and return types, call tree size, and a reference ID (Ref) for use with other tools. Supports filtering by specific files or folders for scoped analysis. Test functions are marked with [TEST].
Shows the call graph neighborhood around a callable. Displays callers (upstream, who calls this function) and callees (downstream, what this function calls) with configurable depth. Use the Ref output from list_entrypoints as the symbol_ref input, or construct it as file_path:line#name. Supports filtering by specific files or folders for scoped analysis.
Output schema not documented in source code. No evidence of return type specification, field definitions, or pagination structure for results. LLMs cannot infer what list_entrypoints or show_call_graph_neighborhood return.
No pagination parameters (limit, offset, page_size) visible in schemas. Code-analysis results can be large; unbounded results risk context-window exhaustion. No total_count or next_cursor fields documented.
Parameter descriptions lack constraint details. 'files' and 'folders' params accept arrays but no description clarifies: required format (absolute paths? glob patterns?), max array size, or expected behavior on invalid paths.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 28 | - | v1 |
No error handling guidance. Tool descriptions do not explain failure modes: what if symbol_ref is invalid? What if no call graph exists? LLM has no recovery path.
Numeric parameters (caller_depth, callee_depth) lack range constraints. No description of min/max values, or what happens if depth is 0 or 100.
No tool-level permission scopes documented. Code analysis tools should declare read-only intent or access restrictions. No audit trail or who-called-what logging visible.