MCP server for searching and indexing code and documentation from multiple sources (GitHub, Notion, etc.)
Single tool with adequate naming and description, but critical gaps in schema documentation and parameter descriptions. Tool name 'list_indexed_sources' follows verb_noun convention. Description (156 chars) is within baseline range (p10=34, p90=392) and explains purpose clearly. However, the input parameter 'status' lacks a description in the visible schema, only an enum and type are shown. No output schema is documented, forcing LLMs to guess the response structure. This violates the pattern:tool requirement that output schemas be documented. The tool is READ_ONLY (good security posture), but lacks the structured output documentation needed for reliable agent composition.
List every source you have indexed in indox. Call this to discover what search_code can find. Scoped to the user that issued the MCP bearer token. Returns source display names, kinds, chunk counts, and indexing status.
Output schema not documented. LLMs cannot infer what fields list_indexed_sources returns (e.g., source names, kinds, chunk counts, status). Without documented output structure, agents cannot reliably chain this tool to downstream operations.
Parameter 'status' lacks description in schema. The enum values (ready, running, failed, idle, any) are present, but no text explains what each status means or when to use them. LLMs rely on descriptions to understand parameter semantics.
No pagination support documented. If indexed sources can be numerous, the tool should accept limit/offset or cursor parameters and return a total count. Current schema shows no pagination fields.
Tool description does not explain what 'source display names, kinds, chunk counts, and indexing status' means in concrete terms. LLMs need examples or field definitions to understand the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Only one tool exposed. The server claims to support 'search_code' in the description ('Call this to discover what search_code can find'), but search_code is not registered as a tool. This creates a broken reference and suggests incomplete tool registration.