MCP server providing access to Effect documentation, guides, READMEs, and reference documentation with search and retrieval capabilities
effect-mcp provides two READ_ONLY tools for searching and retrieving Effect documentation. Both tools have descriptions and visible input schemas, but exhibit significant gaps in parameter documentation, output schema definition, and error handling guidance. Output schemas are not documented anywhere in the visible code. No error recovery guidance is provided. Tool naming follows verb_noun convention but descriptions lack the depth needed to distinguish when to use search vs. direct retrieval. Overall quality is below production grade and typical of C-range community servers.
Searches the Effect documentation. Result content can be accessed with the `get_effect_doc` tool.
Get the Effect documentation for a documentId. The content might be paginated. Use the `page` parameter to specify which page to retrieve.
No parameter descriptions provided. 'query' param in effect_docs_search has description 'The search query to look for in the documentation.' (acceptable), but lacks guidance on format, length, or example queries. 'page' param in get_effect_doc is similarly sparse ('The page number to retrieve for the document content') with no range constraints (e.g., 'min 1, max 100' or 'must be >= 1').
Output schemas are not documented. No visible schema definition for return types of either tool. Rubric critical check: 'Document the output schema. LLMs need to know what fields to expect so they can plan downstream tool calls and extract the right data.' Without documented output, an LLM cannot reliably extract documentId for downstream calls to get_effect_doc or understand the structure of search results.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 40 | - | v1 |
No error handling or recovery guidance. If a search returns no results or a documentId is invalid, there is no documented error response or guidance for what the LLM should do next. Rubric: 'Error responses must tell the LLM what to do next.' Example: 'No results found. Try a broader search term or list_all_documentation() to browse available entries.'
Pagination behavior of get_effect_doc not fully specified. Parameter 'page' exists but no guidance on: what is the page size? Are pages 0-indexed or 1-indexed? What happens when page exceeds max pages? Should the tool return a total_pages or next_page cursor? Rubric: 'Tools returning lists should accept page/offset and limit parameters and return a total count or next_cursor.'
Ambiguous relationship between tools. effect_docs_search description says 'Result content can be accessed with the get_effect_doc tool' but does not explain: does search return documentId fields? What format are they in? Can search return the content directly? When should an LLM choose search over direct retrieval? The relationship is implied but undocumented.