A collection of MCP server templates for common tasks: API gateway, database operations, file management, web scraping, and a starter template
19 tools with explicit schemas and descriptions, but quality is inconsistent. Most tools have basic descriptions (50-150 chars) and parameter schemas, but lack depth on error handling, output structure, and composition guidance. Tool naming follows verb_noun convention well (register_api, call_api, list_tables, read_file). However, descriptions are often generic ('Make an HTTP request', 'Execute a SQL SELECT query') without explaining WHEN to use each tool or what downstream tools expect. Parameter descriptions exist but lack constraints (e.g., maxRows defaults to 1000 with no explanation of why or what happens if exceeded). Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Security concerns: register_api accepts authToken as a parameter (should be env-injected). File tools lack path traversal validation. Database execute tool has no dry-run or confirmation pattern.
Perform a basic arithmetic calculation
Make an HTTP request to a registered API endpoint.
Get the schema of a specific table including columns, types, defaults, and indexes.
Execute a write SQL statement (INSERT, UPDATE, DELETE). Requires ENABLE_WRITES=true.
Extract specific HTML elements from a page (headings, paragraphs, lists, etc.).
Extract all links from a web page with their text and URLs.
Fetch a web page and extract its main text content. Returns clean text without HTML.
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and what types they are. This breaks tool chaining and increases hallucination.
Credentials exposed as parameters. register_api accepts authToken as a string parameter; this will be logged in traces and prompt history. Must use server-side secret injection via environment variables.
No path traversal validation in file tools. read_file, write_file, list_directory, search_files accept relative paths without sanitization. Agents could be tricked into accessing /etc/passwd or writing outside intended directories.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Get detailed metadata about a file or directory.
Get metadata from a web page (title, description, OG tags, etc.) without fetching full content.
Generate a personalized greeting message
List all registered APIs and their endpoints.
List files and subdirectories in a directory. Returns names, types, and sizes.
List all tables in the database with row counts.
Execute a SQL SELECT query and return results as JSON. Only SELECT statements are allowed.
Read the contents of a file. Returns the text content.
Register an API with its endpoints. Call this first to set up the API gateway.
Search for a text pattern in files. Returns matching lines with context.
Test connectivity to a registered API by making a simple request.
Write content to a file. Creates parent directories if needed.
Destructive operations lack confirmation. execute (SQL DELETE/UPDATE) and write_file have no dry-run or confirmation step. Agents can accidentally destroy data without recovery options.
Generic descriptions without WHEN/WHY guidance. Most tool descriptions state WHAT they do but not WHEN to use them or how they differ from similar tools. E.g., 'Execute a SQL SELECT query' doesn't explain when to use query vs describe_table.