Three tools with basic descriptions but significant schema and parameter documentation gaps. python_execute and bash_execute have acceptable descriptions (100+ chars) but lack output schema documentation. Parameters use Annotated hints but lack formal JSON Schema type declarations in visible definitions. get_python_modules returns list[str] but no pagination or result limits documented. No error handling guidance, no parameter constraints (enums, ranges), and no security considerations for code execution tools. Tool names are verb-based (good), but descriptions do not explain WHEN to use each tool vs alternatives or what happens on failure.
Execute bash code in a container or virtual machine environment.
Provides the python available third-party modules.
Execute Python code in a container or virtual machine environment. You will get results from stdout. Supports most Python standard library and scientific packages. The code will be executed with Python 3.11 or higher.
No output schema documentation. Tools return raw strings or lists without documenting field structure, types, or format. LLMs cannot plan downstream operations or extract structured data.
Code execution tools (python_execute, bash_execute) lack security warnings and error recovery guidance. Descriptions do not explain failure modes, timeout behavior, or what to do if execution fails.
Parameters lack formal constraints. 'timeout' has no min/max bounds (could accept negative or absurdly large values). 'env' dict has no validation rules. 'code' parameter has no length limits or injection warnings.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
get_python_modules returns unbounded list with no pagination. Large module lists could exhaust context window. No limit parameter or cursor documented.
Descriptions do not explain WHEN to use each tool or distinguish between python_execute and bash_execute. LLMs must guess whether to run Python or Bash for a given task.