Universal documentation knowledge-graph MCP server with hybrid full-text + vector search.
DocGraph provides 10 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (index_project, search, get_document). Descriptions are present but brief (avg 45 chars, below the 194-char baseline). All tools have input schemas with type definitions. However, parameter descriptions are minimal or missing context about when to use each tool. Output schemas are not documented, the code shows `toLeanResult()` compacting SearchResult, but this transformation is not declared in the tool definition. Error handling is absent from tool definitions. The server supports multi-project queries via projectPath parameter, which is well-designed for composition, but lacks guidance on error recovery.
Explore a topic with surrounding context
Get a document by ID or path
Get a document node/edge connections
Get related documents
Get index statistics
Index a specific file
Index all documents in the project
List all indexed documents
Output schemas not documented. Code shows `toLeanResult()` transformation and `CallToolResult` shape with `content` + `structuredContent`, but tool definitions do not declare what fields agents should expect. LLMs cannot plan downstream calls without knowing response structure.
Parameter descriptions lack context. 'Absolute path to the indexed project' appears on every tool's projectPath param, but no guidance on when/why to use it or what happens if omitted. Missing dependency hints like 'Defaults to server's project root if not specified.'
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
List projects with an active .docgraph index in this MCP server.
Search documents using hybrid full-text + vector search
Tool descriptions are too brief (avg 45 chars vs 194-char baseline). 'Explore a topic with surrounding context' does not explain when to call explore vs search, what 'surrounding context' means, or what the agent should do with results.
No error handling guidance in tool definitions. Code shows `sendError()` with code/message/data, but tools do not document what errors are possible, whether they are retryable, or what the agent should do next (e.g., 'If index not found, call index_project first').
Pagination not declared. search and list_documents accept 'limit' but do not document whether results are truncated, whether a next_cursor or offset is returned, or how to fetch additional pages. Large result sets could exhaust context.