Terminal-based chatbot application using local Ollama models with RAG, database connections, and MCP tool integration
Server has 6 tools with basic schemas and descriptions, but significant quality gaps. Tool names lack consistent verb-noun structure (e.g., 'connect', 'disconnect', 'run-sql' use hyphens inconsistently). Descriptions are present but generic (avg ~60 chars, below 194-char baseline). Parameters lack descriptions in several tools (connect, disconnect, list-connections have empty properties). No output schemas documented. Error handling and recovery guidance absent. Security concern: connect tool exposes database credentials as parameters, violating secret-injection pattern. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels.
Connect to Oracle database. Must be called before running queries.
Disconnect from Oracle database
List active database connections
Execute a SQL query and return results in CSV format
Get database schema information (tables, columns, etc.)
Search the web for current information. Use this when you need up-to-date information or facts you're not certain about.
Database credentials (username, password) exposed as tool parameters in 'connect' tool. Violates secret-injection pattern, credentials will be logged in traces and prompt history.
Missing parameter descriptions in 'disconnect' and 'list-connections' tools (empty properties objects). LLMs cannot infer parameter meaning without descriptions.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., connection IDs for chaining).
Tool names use inconsistent hyphenation ('run-sql', 'schema-information', 'list-connections') instead of snake_case verb_noun convention. Complicates LLM parsing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, IRREVERSIBLE). Agents cannot reason about safety.