SDK for creating Machine Conversation Protocol servers
Single tool with minimal definition quality. 'example_tool' has a trivial 18-char description ('An example tool') that provides no context for LLM selection or usage guidance. Input schema is present and properly typed (object with string 'param'), but the parameter itself lacks a description, LLMs cannot infer what 'param' controls. No output schema documented. No error handling guidance. Tool name lacks action verb (should be 'execute_example' or similar). This is a skeleton implementation suitable only for demonstration, not production use.
An example tool
Tool description is trivial (18 chars). Must be 50-200 chars explaining WHAT it does, WHEN to use it, and any prerequisites. Current description 'An example tool' provides zero context for LLM selection.
Parameter 'param' has no description. LLMs cannot infer what this string parameter controls. Add description like 'The input value to process (max 256 chars)'.
Tool name 'example_tool' does not start with action verb. Should be 'execute_example', 'process_example', or similar. Verb-first naming helps LLMs infer intent from the name alone.
No output schema documented. LLMs need to know what fields to expect in the response. Document the structure of the returned Content.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | <=2025-11-25 | v2 |
No error handling guidance. Error responses should tell the LLM what to do next (e.g., 'Missing param, provide a non-empty string'). Current implementation returns generic anyhow errors.