Turn legacy SOAP/WSDL systems into safe, typed, audit-logged MCP servers for AI agents.
Four SOAP adapter tools with consistent naming (demo_soap_*) and clear descriptions. All tools have proper JSON Schema with required parameters and type definitions. However, parameter descriptions are completely absent, the schema shows only type and required fields, with no explanation of what intA and intB represent or their valid ranges. Descriptions are adequate (50-80 chars) but lack context about when to use each tool or what the return value represents. No output schema documented. Error handling is minimal, no guidance on what happens on division by zero or invalid inputs.
SOAP operation 'Add' on service 'Calculator' (adapter: demo_soap). Adds two integers.
SOAP operation 'Divide' on service 'Calculator' (adapter: demo_soap). Divides intA by intB.
SOAP operation 'Multiply' on service 'Calculator' (adapter: demo_soap). Multiplies two integers.
SOAP operation 'Subtract' on service 'Calculator' (adapter: demo_soap). Subtracts intB from intA.
Parameter descriptions completely missing. Schema defines intA and intB as integers but provides no explanation of their meaning, valid ranges, or constraints. LLMs cannot infer whether intA is a count, ID, or magnitude.
No output schema documented. Tool descriptions do not explain what the return value represents (e.g., is it a single integer result, or a structured object with result + metadata?). Agents cannot plan downstream operations without knowing the response structure.
No error handling guidance. Divide tool does not document what happens on division by zero. No recovery hints provided (e.g., 'Check that intB is not zero').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Tool descriptions lack context about when to use each tool. All four descriptions are mechanical rewrites of WSDL operation names. No guidance on prerequisites, typical use cases, or relationship to other tools.
No input validation or constraint documentation. Descriptions do not specify valid ranges for intA and intB (e.g., are they 32-bit integers? Can they be negative? What is the maximum value?). Agents may pass invalid values without guidance.