Tools for executing local special purpose language models
Single tool 'generate_smiles' has a complete input schema with 14 well-described parameters (all with type and description), but the tool description is minimal (67 chars) and lacks critical context about when/why to use it, what it returns, or error handling. The tool name lacks a clear action verb (should be 'generate_smiles_string' or similar for clarity). No output schema is documented, LLMs cannot predict the return type or structure. No error handling guidance provided. Parameter descriptions are adequate but lack constraints (e.g., valid ranges for numeric fields). The Pydantic model is well-structured internally, but this is not exposed to the MCP schema.
Calls SmileyLlama to generate a SMILES string within the specified parameters
Tool description is too brief (67 chars) and lacks actionable context. Does not explain WHEN to call this tool, WHAT it returns, or HOW to interpret results. LLMs cannot reliably select this tool without more guidance.
No output schema documented. The tool returns a string (SMILES), but LLMs need to know the exact return type, format, and any error conditions. Undocumented outputs force LLMs to guess.
No error handling or recovery guidance. If the LLM model fails to generate valid SMILES, or if constraints are unsatisfiable, the tool provides no actionable error message or next steps.
Numeric parameters (max_hbond_donors, max_hbond_acceptors, exact_hbond_donors, exact_hbond_acceptors) lack min/max constraints in schema. LLMs may pass negative or absurdly large values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Tool name 'generate_smiles' is slightly ambiguous, does it generate one SMILES string or multiple? Clearer name: 'generate_smiles_string' or 'create_smiles_molecule'.