MCP server for simulating AI-powered phone calls to collect business information with disclosure of AI identity
This MCP server has a single tool with critical definition gaps. The tool `execute_skill_action` has a description that is present but lacks depth, parameters with type information but no descriptions, no documented output schema, and no error handling guidance. The implementation itself is minimal, it only prints a JSON status message and does not actually implement the MCP protocol handshake, tool invocation routing, or result formatting. The codebase shows a mock client (AiCallsPhoneReporterClient) that simulates calls, but there is no actual MCP transport layer or tool execution bridge. This is a non-functional MCP server stub.
Execute AI-powered phone call simulation to collect business information
Tool description is superficial (48 characters). Does not explain WHEN to use this tool, WHAT it returns, or HOW to interpret results. Lacks actionable context for LLM tool selection.
Parameter `query_fields` lacks description. LLM cannot understand what fields are valid, what format they should take, whether they are free-form strings or constrained values, or what the downstream implications are.
Parameter `business_name` lacks description. No guidance on whether it must be exact, can be partial, or should be looked up first. No format constraints.
No output schema documented. It is unclear what structure the tool returns, what fields are present, what type each field is, or how the agent should consume the result. Code shows a mock returning `{call_summary, ai_disclosed}`, but this is not formally specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 27 | 2026-07-28+ | v2 |
No error handling defined. Tool does not document what happens on invalid business_name, empty query_fields, malformed input, or service failures. No recovery guidance for LLM.
Tool name `execute_skill_action` is vague. Does not start with a clear action verb like `simulate_phone_call`, `collect_business_info`, or `call_business`. LLM cannot infer intent from name alone.
MCP server implementation is non-functional. The `run_mcp_server()` function only prints a status message; it does not implement the MCP protocol handshake, request routing, tool invocation, or response formatting. A real MCP server must parse `ClientRequest` messages and emit `ServerResponse` messages.
Tool semantics are ethically unclear and potentially deceptive. Tool claims to 'simulate' AI calls but code includes `ai_disclosed: True`. No documentation of legal/ethical constraints, disclosure requirements, or safeguards against impersonation or fraud.