Local MCP server for AWS DevOps Agent chat. Provides a single send_message tool that handles CreateChat + SendMessage + EventStream parsing internally. Eliminates the need for the LLM to generate raw call_boto3 Python or parse streaming responses.
Single tool 'send_message' has a clear verb-noun name and adequate description (156 chars), but critical gaps undermine quality. Input schema is present with 6 parameters, all typed and described, meeting baseline requirements. However, output schema is undocumented, the tool returns a dict with 'execution_id', 'response', and optional 'warning' fields, but this structure is never formally declared. Error handling returns dict responses with warning fields rather than actionable recovery guidance. The tool conflates two responsibilities (chat creation + message sending) and lacks idempotency guarantees. No parameter validation, no enum constraints, no pagination support. The description mentions 'use aws___call_aws for investigations' but this external tool is not defined in this server, creating a composition gap.
Send a message to the AWS DevOps Agent and return the full response. Creates a new chat session if execution_id is omitted. Use for ALL chat interactions; use aws___call_aws for investigations and list operations.
Output schema undocumented. Tool returns dict with 'execution_id', 'response', 'warning' fields, but structure is never formally declared. LLMs cannot plan downstream operations or extract fields reliably.
Error handling lacks recovery guidance. Returns generic strings like 'CreateChat failed: {e}' or 'SendMessage failed: {e}' without actionable next steps. LLM cannot determine if error is retryable, user-fixable, or fatal.
Tool combines two responsibilities: chat session creation + message sending. Should split into create_chat_session and send_chat_message for composability and single responsibility.
No idempotency guarantees. Tool description does not state whether repeated calls with same execution_id and content are safe to retry. Agents may duplicate messages on retry.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Parameter 'region' defaults to 'us-east-1' without validation. No enum constraint or format validation. LLM could pass invalid region names, causing silent failures.