MCP server for MediaWiki API integration with Wizzypedia
The server defines 13 tools with clear naming conventions (verb_noun pattern). Most tools have brief descriptions and declared input schemas with type information. However, there are critical gaps: (1) descriptions are generally terse (10 - 50 chars), below the 50 - 200 char baseline for LLM optimization; (2) parameter descriptions are minimal or absent for several tools, violating the requirement that every parameter have a description; (3) no output schemas are documented, leaving LLMs to guess what fields to expect from responses; (4) error handling guidance is absent, tools do not explain what to do on failure; (5) destructive operations (delete_page, edit_page, create_page) lack confirmation or dry-run patterns; (6) no pagination or result-limiting is evident for list tools. The server lands in the 'Fair' range, definitions exist and are structurally sound, but lack the depth and LLM-oriented guidance needed for production-grade reliability.
Create a new page on Wizzypedia (requires authentication)
Delete a page from Wizzypedia (requires authentication and deletion permissions)
Edit a page on Wizzypedia (requires authentication)
Retrieve the content of a specific page from Wizzypedia
Get all pages that link to a specific page
Get all categories that a page belongs to
Retrieve the HTML rendered version of a specific page from Wizzypedia
Get all links from a specific page
No output schemas documented. LLMs cannot determine what fields to expect from tool responses, forcing them to guess and leading to failed downstream tool chains and hallucinated field names.
Destructive operations (delete_page, edit_page, create_page) lack confirmation or dry-run patterns. Agents may irreversibly delete or modify content without a safety check.
Tool descriptions are terse (30 - 60 chars), below the 50 - 200 char baseline for LLM optimization. Descriptions lack context on WHEN to use each tool, prerequisites, and what to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 13 | - | v1 |
Get the revision history of a page
Get a random page from Wizzypedia
Get information about a specific user
List pages in a specific namespace on Wizzypedia
Search for pages on Wizzypedia using the MediaWiki search API
Error handling guidance is absent. Tools do not explain what the LLM should do on failure (retry, ask user, try alternate tool, etc.), violating the recovery-guide pattern.
list_pages and get_page_backlinks accept a 'limit' parameter but no pagination offset/cursor or result count. Without pagination, large result sets will overflow the context window.
Parameter descriptions are missing or generic for several tools. E.g., 'namespace' in list_pages lacks guidance on valid values (Main, User, Template, etc.). LLMs cannot infer constraints from parameter names alone.
edit_page includes a 'createonly' boolean parameter with no description of its default value or interaction with the 'text' parameter. Undocumented defaults and parameter relationships invite misuse.
Tools accept MediaWiki credentials (username, password) in environment variables and command-line arguments. While the source shows they are read at startup (not in tool parameters), the HTTP mode's Express app suggests potential exposure via state. Verify secrets are never logged or included in responses.
get_random_page has no input schema declared (empty {}), but no explicit description of what it returns or how to use the result. Minimal documentation makes it low utility.