MCP server for searching Magento 2 GraphQL API documentation
This server provides 8 tools for searching Magento GraphQL documentation. While tool names follow verb_noun conventions and all tools have descriptions, there are significant gaps in schema completeness, parameter descriptions, and error handling. Most tools accept string queries or file paths with minimal validation constraints. Output schemas are not formally documented, responses are formatted strings rather than structured JSON objects. Error messages exist but lack recovery guidance. The server is read-only (low risk), but definition quality falls well below production baseline due to incomplete parameter documentation and missing output schema declarations.
Retrieve complete documentation page by file path
Get complete details about a specific GraphQL element
Get documents related to a given file
Get complete tutorial by name
List all documentation categories with document counts
Search Magento 2 GraphQL documentation by keywords. Use SHORT keyword queries (1-3 words) to find documentation pages. Can filter by category, subcategory, or content type.
Search code examples by query and language
Output schemas are not documented. All tools return formatted strings (Markdown) rather than structured JSON objects. LLMs cannot parse return types, extract specific fields, or chain results to downstream tools.
search_documentation accepts 'queries' (array of strings) but provides no constraint on query length, format, or count. Descriptions suggest '1-3 words' but this is not enforced via minItems/maxItems or string length constraints. LLMs may pass arbitrary-length queries, phrase-based searches, or punctuation that breaks FTS.
Parameters 'category', 'subcategory', 'content_type', and 'element_type' accept free-form strings with no enum constraints. Descriptions list valid values ('schema, develop, usage, tutorials, payment-methods') but JSON Schema does not enforce them. LLMs may hallucinate invalid category names.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Search for GraphQL queries, mutations, types, or interfaces
Error handling is minimal and non-recoverable. When get_document fails ('Document not found'), the response suggests using search_documentation but does not return alternatives or partial matches. When search_graphql_elements returns no results, the response is a bare string with no guidance on retry strategy or available alternatives.
get_document and get_element_details accept file_path and element_name parameters (natural language strings) with no validation. No guidance on format, case sensitivity, or what happens on partial matches. LLMs cannot self-correct typos.
No pagination or result limits documented in tool descriptions. search_documentation and search_graphql_elements return up to DB_TOP_K results but the limit is not visible to LLMs. Large result sets are returned as single markdown strings, not paginated arrays.