Autonomous Cognitive Agent — TFM Master en Soluciones IAG. Multi-tool MCP integration server with LangGraph orchestration, Google Workspace integration (Calendar, Gmail, Drive), web search, RAG, and human-in-the-loop approval workflows.
Gmail MCP server has 7 tools with basic schemas and descriptions in Spanish. All tools have input schemas with type definitions and descriptions present. However, descriptions are minimal (10-50 chars), lack context on WHEN to use each tool, and do not explain consequences of write operations. No output schemas documented. Parameters lack constraints (enums, ranges, formats). Error handling and recovery guidance absent. Tool composition is reasonable (separate read/write operations), but descriptions do not meet LLM-optimization baselines (target 50-200 chars). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification.
crear un borrador sin enviar
mover un email a la papelera (reversible)
obtener contenido completo de un email por ID
listar emails recientes de la bandeja de entrada
responder a un email manteniendo el hilo
buscar emails con sintaxis Gmail (from:, subject:, is:unread...)
enviar un email nuevo
Descriptions are too short (10-50 chars) and lack LLM-optimization guidance. 'enviar un email nuevo' does not explain WHEN to use send_email vs create_draft, what happens on retry, or prerequisites. Target: 50-200 chars with context.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., messageId for reply_to_email). Every tool must declare return type structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification (READ_ONLY, WRITE, REVERSIBLE). Agents cannot distinguish safe retries from destructive operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Parameters lack constraints. 'maxResults' has no min/max bounds (baseline: 1-50). 'query' accepts free-form strings with no format guidance. 'labelIds' array has no item type or length limits. Unbounded inputs invite invalid LLM submissions.
No error handling or recovery guidance. If send_email fails (invalid recipient, quota exceeded, auth error), LLM receives no actionable next step. Error responses must categorize as retryable/user-fixable/fatal.