An agent-based system for business rule decision-making using Google ADK and A2A framework with MCP tool integration
Server defines 4 tools with basic descriptions and partial schemas. All tools have descriptions (10-80 chars), but parameter schemas are incomplete or missing. get_all_categories has no input schema. list_rules_by_category, get_rule_requirements, and evaluate_rule_logic have minimal input schemas with only 'type' and 'description' fields, no 'required' arrays, no property-level constraints. Output schemas are entirely undocumented. No error handling guidance, no pagination support, no tool annotations. Tool names follow verb_noun pattern (good), but descriptions lack context on WHEN to use each tool or what downstream tools expect. No evidence of idempotency, rate limiting, or secret injection patterns.
Evaluate a business rule with provided data and return the result and recommended actions
Retrieve all available business rule categories
Get the data requirements and field specifications for a specific business rule
List all business rules for a given category
All input schemas lack 'required' arrays and property-level constraints (min/max, enum, pattern). Parameters cannot be validated by LLMs or clients.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., rule_id from list_rules_by_category for get_rule_requirements).
Descriptions lack WHEN-to-use context and dependency hints. E.g., list_rules_by_category should note 'Call get_all_categories first to discover available categories.'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | <=2025-11-25 | v2 |
No error handling guidance. Tools return READ_ONLY risk but no documentation on failure modes, retryability, or recovery steps.