MCP server providing tools for extracting URL content, sending emails, querying a knowledge base, executing SQL queries, and managing database resources
Server has 6 tools with significant quality gaps. Tool names are action-verb based (good), but descriptions are inconsistent, some are generic ('Execute SQL queries safely'), others lack critical context. Parameters have type definitions but many lack descriptions (e.g., 'sql' param in query_data has minimal guidance). No output schemas documented. Error handling is minimal (generic try-catch returns). Security concerns: query_data accepts raw SQL with no injection protection; send_email exposes SMTP config dependency without validation guidance. Tools like list_resources and get_resource appear to duplicate resource protocol functionality, creating composition confusion.
Extract content from a URL. Args: url_text: Text containing the URL to extract content from Returns: A string containing the extracted content
Retrieve the entire knowledge base as a formatted string. Returns: A formatted string containing all Q&A pairs from the knowledge base.
Get a resource by its URI Args: resource_uri: The URI of the resource to retrieve (e.g., 'schema://main') Returns: The requested resource content or an error message
List all available resources with their descriptions
Execute SQL queries safely
Send an email to the specified recipient. Args: to_email: The recipient's email address subject: The email subject message: The email message content Returns: A status message indicating if the email was sent successfully
query_data accepts raw SQL with no injection protection or input validation. Description is 28 chars and provides no guidance on safe usage, parameter format, or error recovery.
send_email relies on environment variables (SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD) but provides no guidance in description about prerequisites or configuration. Error message 'Missing email configuration' gives agent no recovery path.
list_resources and get_resource are tools that duplicate MCP resource protocol functionality. This creates composition confusion, agents cannot distinguish between tool-based and protocol-based resource access.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse unstructured text. get_knowledge_base returns formatted string instead of structured JSON.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
extract_url_content has no guidance on URL format validation, timeout behavior, or handling of non-HTML content. Error messages are generic ('Error extracting content: ...') with no recovery hints.