A collection of MCP servers for filesystem operations, browser automation, restaurant ordering, and web search
Server exposes 22 tools across 5 domains (filesystem, browser automation, restaurant ordering, web search). Tool definitions are present with schemas and descriptions, but quality is inconsistent. Filesystem tools (read_file, write_file, etc.) have clear, actionable descriptions (50-100 chars) and complete input schemas with type constraints. However, many parameters lack descriptions (e.g., 'tab_id' in click, fill, extract_text has minimal context). Restaurant tools (add_item_to_cart, finalize_order) have good descriptions but no output schemas documented. Web search tools (web_search, image_search) have detailed parameter descriptions with defaults and constraints, but lack guidance on error recovery. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present despite clear risk levels. Error handling is minimal, most tools return generic error dicts without recovery guidance. Descriptions average ~80 chars (below 194-char baseline), and parameter descriptions are sparse or missing entirely.
Add a dish with a specific quantity to the customer's cart.
Check if a specific dish is available in the menu and in stock.
Verify if the requested quantity of a dish is available in stock.
Click an element by its reference ID on the page snapshot.
Copy a file or directory.
Delete a file or directory.
Extract plain text content from the current page.
Browser automation tools (click, fill, extract_text, snapshot) lack parameter descriptions for 'tab_id'. LLMs cannot infer when tab_id is required vs optional or how to obtain it.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., order_id after finalize_order, menu structure after get_menu).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. delete_file is destructive, write_file is reversible, read_file is read-only, LLMs need this metadata to plan safely.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Get metadata (size, mtime, type) for a path.
Fill an input field with text.
Finalize and place the customer's order. This clears the cart and generates an order ID.
Retrieve the full restaurant menu with dish names, prices, stock, and descriptions.
Get alternative dish suggestions if the requested dish is unavailable or out of stock.
Search for images using SearXNG.
List files and directories at a given path.
Move or rename a file/directory.
Navigate to a URL using PinchTab.
Read the contents of a file (text or base64 for binary).
Recursively search for files matching a glob pattern.
Get a token-efficient text snapshot of the current page.
View the current items in the cart and the total price.
Perform a web search using the local SearXNG meta-search engine. Returns a list of results with title, URL, and snippet.
Write text content to a file (creates dirs as needed).
Error handling is minimal. Tools return generic error dicts without recovery guidance. E.g., 'File not found' does not suggest search_files() or list_directory() as alternatives.
Restaurant tools lack pagination support. get_menu returns entire menu without limit/offset. Large menus will blow context window; no guidance on result limits.