An MCP server providing agentic AI capabilities with tools for CRM operations, weather, web search, task planning, calculations, memory management, and time/date operations. Integrates with MongoDB for customer data and uses FastMCP framework.
Server has 17 tools with basic schemas and descriptions, but significant quality gaps. Most tool descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameter descriptions exist but lack constraints, ranges, and format guidance. No output schemas documented. Error handling returns status/error fields but lacks recovery guidance. Tool naming is mostly verb-noun compliant, but several tools lack specificity (e.g., 'remember'/'recall' are vague; 'forecast' vs 'weather_info' overlap). No tool annotations (readOnlyHint/destructiveHint). Security concerns: calculate_expression uses eval() with restricted globals but still risky; no secret injection pattern visible. Composition issues: memory tools (remember/recall/list_memory_keys/clear_memory) are overly granular; clear_memory is destructive but lacks confirmation pattern.
Calculate the result of a mathematical expression
Clear memory storage
Convert a value from one unit to another
Create a new customer record
Fetch content from a webpage and return it in a structured format. This format is easy for LLM processing.
Get weather forecast for a location
Generate a task plan to achieve a goal
Memory tools (remember/recall/list_memory_keys/clear_memory) are overly granular and lack composition. Should consolidate into store_memory/retrieve_memory with structured key-value operations. Current design forces 4 separate calls for simple operations.
calculate_expression uses eval() with restricted globals. While safer than unrestricted eval, this is still a code injection risk. Should use a proper math parser (e.g., ast.literal_eval or sympy) instead.
clear_memory is destructive (deletes data) but has no confirmation pattern, dry-run option, or recovery guidance. Agents can accidentally wipe memory without safeguards.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Get the current time in ISO format
Retrieve customer information by ID
Get detailed information about the current date
List customers
List all keys stored in memory
Recall information from memory
Store information in memory
Search the web for information using DuckDuckGo.
Update customer information
Get current weather information for a location
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., create_customer returns a customer object, but the response structure is not formally specified.
list_customers accepts only 'limit' parameter but lacks offset/page and total_count in response. Cannot paginate large result sets; risks context window exhaustion.