Enhanced MCP server for ToolsConnector with smart tool selection, multi-tenant serving, and schema optimization. Exposes connectors as MCP tools for AI assistants.
12 tools with basic descriptions and partial schemas. No output schemas documented. Error handling absent. Naming is verb-noun compliant but descriptions are generic (avg ~60 chars, below 194-char baseline). No tool annotations (readOnlyHint/destructiveHint). Composition is sound (single responsibility per tool), but parameter documentation is severely incomplete, LLMs cannot infer what 'query', 'range', 'values' mean without descriptions. No pagination guidance for list tools. Security: credentials appear to be injected server-side (good), but no audit trail or permission gate patterns visible.
Create an event in Google Calendar
List events from Google Calendar
Delete a file from Google Drive
List files in Google Drive with optional search and filtering
Upload a file to Google Drive
List emails from Gmail mailbox with optional query filtering
Read values from a Google Sheet
Parameter descriptions missing or minimal. 'query', 'range', 'values', 'buttons' lack actionable guidance. LLMs cannot infer format, constraints, or valid values without explicit descriptions.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., file_id, event_id, channel_id). Breaks tool chaining.
List tools (gmail_list_emails, slack_list_channels, gdrive_list_files, gcalendar_list_events) lack pagination parameters (limit, offset, page_size). No guidance on result caps. Large result sets will blow context windows.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
Write values to a Google Sheet
List Slack channels
Get WhatsApp Business phone number details and quality rating
Send interactive button message via WhatsApp Business
Send a WhatsApp template message via WhatsApp Business Cloud API
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes (e.g., gdrive_delete_file vs gdrive_list_files) without parsing descriptions.
No error handling guidance. Tools return raw API errors without recovery hints. LLMs cannot self-correct or know whether to retry, ask user, or abort.