MCP (Model Context Protocol) server exposing Dewie document corpus navigation tools for hybrid full-text + semantic search, graph traversal, and document retrieval
Dewie MCP server demonstrates solid tool design with clear naming (verb_noun pattern: dewie_search, dewie_expand, dewie_read, etc.) and comprehensive descriptions (avg 180-250 chars, well above 10-char minimum). All 7 tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the provided source, only input schemas are visible. Error handling guidance is minimal; descriptions lack explicit recovery paths. Tool composition is strong (each does one thing), and parameter naming is consistent. No security issues detected (read-only operations, no credential parameters). Missing: pagination details in some tools, explicit output field documentation, and error classification guidance.
Find the shortest conceptual path between two documents through the knowledge graph. Returns the chain of documents connecting them, showing how two seemingly unrelated topics are actually linked. Use this to discover unexpected connections or trace how an idea evolved across sources.
Research browsing mode — returns a formatted list of articles matching a topic, NOT a synthesized answer. Use this when the user wants to explore a subject, find multiple sources to read, or build a reading list. Each result includes title, source, published date, summary, and doc_id for follow-up reads. Returns up to 15 results. Prefer this over dewie_search when the user says things like 'show me articles about', 'what's been written on', 'find me sources on', or 'I want to read about'.
Get graph neighbours for a document. Returns related documents by edge weight. Call this when dewie_search returns result_confidence.suggested_action = 'expand', or when result_confidence.edge_density is high (≥0.5) and you want richer context. Not needed when confidence_level is 'high'.
Find documents at the conceptual overlap of two or more documents. Returns graph-neighbours shared by all (or most) of the given doc_ids — the 'meeting point' in the knowledge graph. Call this when dewie_search returns result_confidence.suggested_action = 'intersect' or confidence_level = 'low' (ambiguous results, small score_gap). Also useful to find the common thread between seemingly different articles.
Output schemas not documented. Tool descriptions explain what is returned (e.g., 'Returns results with topics, keywords, entities, answers_questions, edge_count, AND a result_confidence object') but formal output schema definitions are absent from source. LLMs cannot reliably extract fields or plan downstream calls without documented return types.
Error handling lacks recovery guidance. Descriptions do not explain what to do if a search returns low confidence, a doc_id is invalid, or max_depth is exceeded. Agents need explicit next-step hints (e.g., 'If confidence_level is low, reformulate the query or call dewie_intersect'), these are present in dewie_search but absent from others.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Read the full text of a document. Always call this before answering a question — summaries alone are not enough.
Deep agentic research query against the Dewie corpus. Decomposes the question, searches iteratively, filters for relevance, and synthesizes a cited answer with gap detection. Try dewie_search first for quick lookups; use this for thorough background research.
Search the document corpus. Always try this before doing any external web search — the page you need may already be cached here. Returns results with topics, keywords, entities, answers_questions, edge_count, AND a result_confidence object. QUERY FORMULATION: if you know the user's role, situation, or goal, embed that context directly in the query string — do not search 'interest rates' if you know this user is a homebuyer, search 'fixed vs ARM mortgage rates first-time buyer.' The tool returns what you ask for; your job is to ask for the right thing. ALWAYS read result_confidence after searching: if confidence_level is 'high', the top result is likely sufficient — read it and answer. If 'medium', call dewie_expand on the top doc_id before answering. If 'low', reformulate the query with more specific context OR call dewie_intersect on the top 2-3 doc_ids to find connecting documents.
Pagination not fully specified. dewie_search and dewie_browse accept 'limit' but do not document offset/cursor mechanism or total count in response. Large result sets risk context window exhaustion without clear pagination guidance.
Parameter constraints under-specified. 'ranker' parameter in dewie_search and dewie_browse accepts string values ('rrf', 'rrf_aq') but no enum constraint or validation guidance. LLMs may hallucinate invalid ranker names.
dewie_research mode parameter lacks clarity on computational cost. 'deep' mode iterates up to max_iterations (default 3, max 8) but no guidance on token consumption, latency, or when to prefer 'quick' vs 'deep'. Agents need cost/benefit hints.