Web-based research agent using Amazon Web Services Strands Agents, Ollama running Qwen3, and Tavily MCP Server for internet search capabilities
This MCP server exposes only 2 tools (current_time, shell) with severely deficient definitions. Neither tool has visible input schemas in the source code, only tool names and brief descriptions are evident. The tools are imported from strands_tools library, meaning their actual schemas are not defined in this server's code and cannot be verified. The shell tool is particularly concerning: it has DESTRUCTIVE risk classification but no parameter validation, error handling, or security guidance documented. Descriptions are minimal (under 50 chars each) and lack LLM-optimized context about WHEN to use each tool or WHAT they return. No input validation, no pagination, no recovery guidance. This is a thin wrapper around external agent libraries without proper tool definition scaffolding.
Get the current date and time
Execute shell commands
No input schemas visible for either tool. Tools are imported from strands_tools library; their actual JSON Schema definitions are not present in this server's source code. Cannot verify parameter types, constraints, or descriptions.
Descriptions are generic and below 50 characters. 'Get the current date and time' (33 chars) and 'Execute shell commands' (22 chars) lack context about parameters, return format, prerequisites, or when to use vs alternatives.
shell tool classified as DESTRUCTIVE but has no security guardrails documented. No mention of parameter validation, command sanitization, injection prevention, permissions checks, or audit logging. Risk of prompt injection attacks.
No error handling, recovery guidance, or retry logic documented. Shell command failures will surface raw exit codes or stderr with no guidance to the LLM on what went wrong or how to recover.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 32 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 36 | - | v1 |
Tool definitions are inferred from imports (from strands_tools import current_time, shell) rather than explicitly registered in agent.py with schemas. Cannot verify parameter types, constraints, or return format completeness.
No confirmation or dry-run pattern for destructive operations (shell commands). Agents can execute arbitrary commands without review, creating catastrophic failure risk.