High-performance Buddhist text search and retrieval MCP server providing unified access to major Buddhist text corpora including CBETA, Tipitaka, GRETIL, SARIT, MUKTABODHA, SAT, and Tibetan corpora
Buddha MCP provides 6 tools for searching and fetching Buddhist and Sanskrit texts from CBETA, GRETIL, and other historical databases. Tools have clear action-verb names (search_, fetch, pipeline) and are READ_ONLY operations on a specialized knowledge domain. However, several definition quality issues reduce the score: (1) Parameter descriptions are present but many are generic/repetitive across similar tools without clear guidance on when to use each variant; (2) Output schemas are not explicitly documented in the source code provided, only input schemas visible; (3) Error handling and recovery guidance are not evident in the tool definitions; (4) The pipeline tools bundle multiple concerns (search + auto-fetch + context extraction) which violates single-responsibility; (5) Many optional parameters lack clear defaults or mutually-exclusive relationship documentation. The tools themselves are well-named and input parameters are typed, which prevents a lower score.
Fetch CBETA text by ID or query, with options for context extraction, highlighting, pagination, and various extraction methods
Combined full-text search and auto-fetch pipeline for CBETA texts with optional context extraction
Search CBETA texts by title and return matching entries with scores
Fetch GRETIL text by ID or query, with options for context extraction, highlighting, and pagination
Combined full-text search and auto-fetch pipeline for GRETIL Sanskrit texts
Search GRETIL Sanskrit texts by title and return matching entries with scores
Output schemas are not documented. The source code shows input parameter schemas but does not include documented return types or output field structures. LLMs cannot plan downstream operations without knowing what fields to expect in responses.
Pipeline tools (cbeta_pipeline, gretil_pipeline) violate single-responsibility pattern. They combine full-text search, auto-fetch, context extraction, and highlighting into one tool. This should be split: search_cbeta → fetch_cbeta, with context extraction as optional parameters on fetch, not bundled in pipeline.
Many optional parameters lack clarity on mutual exclusivity and defaults. For example, cbeta_fetch has both 'id' and 'query', both 'part'/'start_char'/'end_char'/'max_chars' slicing modes, both 'page'/'line_number' pagination modes. Descriptions do not explain which combinations are valid or what the interaction behavior is.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Parameter descriptions are repetitive and generic. E.g., 'Context lines before', 'Context lines after', 'Include matched line in context' across both cbeta and gretil tools lack guidance on typical values, use cases (e.g., when to use line_number vs start_char), or how they interact with autofetch behavior.
No error handling or recovery guidance documented. The definitions do not indicate what happens if a text ID is not found, if a regex fails, if context extraction returns empty, or how to guide the LLM to retry or use an alternative tool.
Highlight and context extraction parameters lack constraints. 'highlight' accepts a regex pattern but no description states format requirements, escape rules, or error behavior for invalid regex. 'highlight_prefix'/'highlight_suffix' have no length limits or character restrictions documented.