A Go-based chatbot server with user-configured HTTP API tools, OAuth integration, and MCP support. Provides chat functionality with tool execution, approval workflows, and credential management.
Single tool 'user_http_tool' has critical definition gaps. Input schema visible but severely incomplete: only declares a generic 'parameters' object property with no type constraints, no parameter descriptions, no enum constraints, and no output schema documented. Description is present (67 chars) but lacks actionable guidance on when/how to use the tool, what it returns, or error recovery. Tool name is generic and does not follow verb_noun convention. No evidence of parameter validation rules, format constraints, or security guidance in the schema. This server exposes a dynamic HTTP tool without the structured definitions LLMs need to use it safely and effectively.
Dynamically configured HTTP API tool that executes user-authored HTTP requests with parameter substitution, body templating, and optional approval gating
Tool name 'user_http_tool' is generic and does not follow verb_noun convention. LLMs cannot infer the action from the name alone. Should be 'execute_http_request' or similar action-oriented name.
Input schema declares only a generic 'parameters' object with no type definitions, no parameter descriptions, no enums, and no constraints. LLMs cannot determine what parameters are valid, required, or what format they expect.
No output schema documented. LLMs cannot plan downstream operations or extract relevant fields from HTTP responses. Tool description does not specify what fields are returned or their types.
Tool description (67 chars) lacks WHEN to use it, WHAT it returns, and error recovery guidance. Does not explain how parameter substitution works, what body templating syntax is supported, or how approval gating behaves.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
No error handling guidance. Tool accepts WRITE operations but provides no documentation on retryability, failure modes, or how LLMs should recover from HTTP errors (4xx, 5xx, timeouts).