Enterprise-grade MCP server with comprehensive security hardening
Waygate MCP exhibits fundamental definition quality issues. Of 10 tools, 6 have basic descriptions (execute_command, read_file, write_file, list_directory, search_files) but lack structured output documentation. The remaining 4 tools (save_note, add_todo, lookup_info, calculate, set_reminder) appear to be example/demo tools with minimal descriptions. Parameter schemas are present but descriptions are generic and do not follow LLM-optimized guidance. No tool includes error handling guidance, recovery instructions, or output schema documentation. The server conflates security-critical tools (execute_command with DESTRUCTIVE risk) with utility tools without permission gating or audit annotations. No per-tool scope declarations, no idempotence documentation, and no composition guidance for multi-step workflows.
Add a task to your to-do list
Perform simple calculations
Execute system command with safety validation
List directory contents with filtering
Look up information from a simple knowledge base
Read file contents with safety validation
Save a note with optional tags
No output schema documentation for any tool. LLMs cannot infer what fields are returned or how to chain tools together. Pattern baseline requires 100% of A+ tools to have documented return types.
execute_command is DESTRUCTIVE-risk but has no permission gate, no dry-run option, no confirmation step, no audit trail guidance. Pattern requires gatekeeping irreversible operations.
Parameter descriptions are generic and fail LLM optimization baseline (target 50-200 chars, action-oriented). E.g. 'timeout' → 'Timeout in seconds (default 30)' does not explain WHEN to use a custom timeout or valid range constraints. Baseline requires descriptions to answer WHAT, WHEN, and WHAT IT RETURNS.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 42 | - | v1 |
Search for files by content or name
Set a simple reminder
Write content to file with safety validation
No error handling guidance. Tools have no recovery instructions (e.g. 'file not found → try search_files()'). Pattern baseline requires errors to tell LLM what to do next.
Tools like lookup_info and calculate lack any real-world context or constraints. 'Information query' is too vague. LLMs need clear guidance on what knowledge base contains and when to call it vs. search_files.
No enum constraints on 'type' parameter in search_files or 'priority' in add_todo. Pattern requires enums for known sets of values to prevent hallucinated inputs. 'priority' should declare: low|medium|high.
No scope/permission declarations per tool. Pattern requires each tool to declare required permissions (e.g. read:files, write:notes, exec:shell). Enables least-privilege and audit trails.
No idempotence or side-effect documentation. LLMs retry on ambiguous failures, tools like write_file and add_todo need explicit guidance on whether repeated calls with same input are safe.
set_reminder time format is under-specified. 'YYYY-MM-DD HH:MM' is documented but no guidance on timezone, past-time validation, or maximum advance booking. Leads to LLM errors.