Unix/Linux man page, Perldoc, and Info page web interface with MCP support
phpMan defines 2 tools with reasonable naming (cli_help, cli_search) and complete input schemas. Both descriptions are present and moderately detailed (150-200 chars), exceeding the 20-char minimum. However, parameter descriptions lack specificity about format constraints, valid ranges, and error recovery guidance. Output schemas are not documented in the visible code. Error handling is minimal, no guidance on what to do if a command is not found or search returns no results. The tools follow a single-responsibility pattern (help vs search) but lack the LLM-optimized descriptions and comprehensive error recovery patterns expected of production-grade tools.
Get structured man / perldoc / info / pydoc3 / ri page for a command or module. Returns sections with sub-sections, synopsis, and full content. Supports all Unix/Linux commands, Perl modules (e.g. File::Basename), and GNU info pages.
Search Unix/Linux man pages, Perl modules, Python docs, and Ruby docs by keyword. Uses full-text search (FTS5) across all documentation sources. Returns matching command names with sections, one-line descriptions, and detail links. Faster and more comprehensive than apropos.
Output schemas not documented. LLMs cannot plan downstream operations or extract structured data without knowing what fields to expect (sections, synopsis, content structure for cli_help; match count, result fields for cli_search).
Parameter descriptions lack format constraints and valid ranges. 'command' and 'query' accept free-form strings with no guidance on length, character restrictions, or examples. 'section' parameter has no explanation of valid section numbers (1, 3pm, 8, etc.).
No error recovery guidance. If a command is not found or search returns zero results, the tool provides no actionable next steps. Error responses should suggest alternatives (e.g., 'Command not found. Try search_cli() with a keyword.').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No pagination or result limits documented. cli_search may return hundreds of matches; without limit/offset parameters and a total count, LLMs cannot handle large result sets or plan multi-page queries.
Tool descriptions include example values ('File::Basename', 'Array#map', 'recursive delete') which LLMs may reuse literally rather than adapting to context. Replace with formal constraints (enums, patterns) or remove examples.