Dynamic MCP tool selection and routing framework for AI agents with adaptive capability registry and planning support
Mini-A has three tools with minimal documentation. The tools are defined in tests/progToolCall.js (a test file, not production code), making the implementation difficult to verify. Naming follows verb_noun convention (read_file, list_files, run_query), which is acceptable. However, descriptions are extremely sparse, read_file has a 24-character description, list_files has a 27-character description with no parameter details, and run_query is under 20 characters. No input schemas are visible in the provided source code. The code sample shows sophisticated tool-selection logic (keyword matching, stemming, synonym groups, entity extraction) but none of this relates to the three tool definitions themselves. This logic appears to be a generic helper, not proof that the actual tools have proper schemas or parameter documentation. Critical issues: (1) Input schemas are not visible/documented in the source, so all three tools score 0 for schema. (2) Descriptions are under the 10 - 1024 char guidance and lack WHAT/WHEN/WHY clarity. (3) No parameter descriptions or type information visible. (4) No output schema documented. (5) No error handling guidance. (6) The tool definitions themselves are inferred from a test file, capping them at 50 potential.
List files in a directory
Read a file from disk
Execute SQL query
No input schemas visible in source code for any tool. Schema documentation is absent or not accessible.
Tool descriptions are too sparse (<30 chars) and lack WHAT/WHEN/WHY clarity. E.g., 'Read a file from disk' (24 chars) does not explain when to use it vs. other discovery tools, what format is returned, or whether it supports pagination.
No parameter descriptions visible for any tool. 'path' parameter in read_file lacks guidance on whether it accepts absolute vs. relative paths, symlinks, or special characters.
No output schemas documented. Agents cannot predict what fields read_file returns (raw text? metadata? encoding?) or what list_files returns (file names only? full paths? sizes?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 27 | - | v1 |
run_query has a 'WRITE' risk classification but its description ('Execute SQL query') does not state this is destructive or warn about side effects. No confirmation pattern or dry-run mode evident.
Tool definitions are inferred from a test file (tests/progToolCall.js), not from production code. Implementation details are not visible, capping confidence in actual registration and schema quality.
No error handling guidance. If read_file encounters a permission denied or file not found error, the LLM has no recovery hint (e.g., 'Check file permissions' or 'Try list_files to discover available paths').
list_files has no documented parameters. Does it accept a 'directory' parameter? Are there pagination parameters? Are results returned as JSON or free-text?