Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Input schemas present but sparse: search_wiki has only 'query' with minimal context; get_page conflates two lookup modes (by_id vs by_path) into a single 'identifier' parameter without clear type guidance; create_page and update_page lack output schema documentation. No error handling guidance, no pagination support for search results, no tool annotations (readOnlyHint/destructiveHint). Parameter descriptions are generic and do not explain constraints, formats, or dependencies. Missing: idempotency guidance for write operations, rate-limit handling, and recovery paths.
Create a new page in Wiki.js
Get page content by ID or path
Search for pages in Wiki.js
Update an existing page in Wiki.js
Output schemas not documented. No specification of what search_wiki, get_page, create_page, or update_page return. LLMs cannot plan downstream tool calls or extract required fields (e.g., page_id for chaining to update_page).
get_page conflates two lookup modes (by_id vs by_path) into a single 'identifier' parameter. LLMs cannot infer whether to pass an integer or string without explicit type guidance. Should split into get_page_by_id and get_page_by_path, or add strict enum/pattern constraints.
search_wiki lacks pagination support (limit, offset, page_size). No indication of result count or whether results are truncated. Returning all matches could blow context window; LLMs need pagination to handle large result sets.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). create_page and update_page are write operations but lack destructiveHint. Agents cannot distinguish safe (read) from risky (write) tools without explicit hints.
Parameter descriptions are under 20 characters and lack actionable constraints. 'Page ID (integer) or path (string)' is ambiguous; 'Search query string' does not explain format, length limits, or special characters. Descriptions should be 50-200 chars with explicit constraints.