Comprehensive FastMCP server for database operations (SQL, NoSQL, Vector) and system tools with portmanteau tool consolidation
This server exhibits critical definition quality issues. The architecture relies on 'portmanteau' tools, massive multi-operation tools that violate the single-responsibility principle. db_connection and db_operations each accept 7+ parameters with conditional behavior based on an 'operation' enum, forcing LLMs to reason about which sub-operation to invoke rather than selecting among well-named, focused tools. Descriptions exist but are verbose and lack clarity about when to use each tool vs. alternatives. Parameter schemas are present but heavily overloaded with optional/conditional fields. Two tools (agentic_workflow_tool, safety_guard_status) reference deprecated Sampling patterns. Error handling is not evident in descriptions. The composition violates pattern:tool (each tool should do one thing) and pattern:tool-chain (outputs should feed into downstream tools' inputs).
[SEP-1577] Autonomous database orchestration using FastMCP sampling. Allows the LLM to autonomously orchestrate complex database operations (analysis, query, optimization) with strict safety guardrails. Leverages ctx.sample() to think through multi-step plans and provides intelligent, dialogic feedback. Safety is always-on. Writes require confirm=True. Plans run as dry_run=True by default.
Database connection management portmanteau tool. Comprehensive database connection management consolidating all connection operations into a single interface. Supports SQL: PostgreSQL, SQLite, MySQL/MariaDB, DuckDB; NoSQL: MongoDB; Vector: ChromaDB; Key-Value: Redis. With unified connection lifecycle management across all types.
Database operations portmanteau tool. Comprehensive database operations consolidating all data manipulation and query execution into a single interface. Supports SQL queries, transactions, batch operations, and data export across all registered database connections.
Firefox bookmark management portmanteau tool. Comprehensive Firefox bookmark management consolidating all bookmark operations into a single interface.
Help system that provides documentation for all available tools and operations
Portmanteau Tool Architecture: db_connection and db_operations are massive multi-operation tools with 7+ parameters and an 'operation' enum (list_databases, register, list_connections, test, test_all, close, info for db_connection; execute_query, quick_sample, export, transaction, write, batch_insert for db_operations). This forces LLMs to reason about which sub-operation to invoke rather than selecting among focused, single-responsibility tools. A tool should do one thing; these do 6-8 things conditionally.
Non-compositional Tool Design: db_operations lacks clear input/output contracts with downstream tools. For example, 'export' returns results in 'json', 'csv', or 'excel' format with optional output_path, but there is no indication of what fields are returned, whether pagination is supported, or how to chain results to other tools. This violates pattern:tool-chain.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
Check or update the status of the Agentic Safety Guard. Returns the current guard status with a fresh timestamp.
Overloaded Parameter Schemas: db_connection's 'connection_config' parameter accepts 'dict|null' with no schema for its structure. Similarly, db_operations' 'params' and 'data' are untyped dicts. LLMs cannot infer the required fields, types, or constraints without seeing actual examples or nested schema definitions.
Deprecated Sampling Pattern: agentic_workflow_tool description references '[SEP-1577] Autonomous database orchestration using FastMCP sampling' and mentions 'ctx.sample()'. Sampling was deprecated in 2026 and is scheduled for removal ~2027-07-28. New implementations should integrate directly with LLM provider APIs rather than relying on server-initiated sampling.
Missing Error Handling Guidance: No tool descriptions provide recovery hints or error classification. For example, db_operations could fail due to invalid SQL, connection timeout, or permission denial, but the description does not guide the LLM on what to do next. This violates pattern:recovery-guide.
Insufficient Parameter Descriptions: Many parameters lack actionable constraints. For example, 'batch_size' defaults to 1000 with no explanation of valid range, performance implications, or when to adjust it. 'limit' defaults to 100 but does not state whether it enforces pagination. 'output_format' lists 'json', 'csv', 'excel' but does not explain field inclusions or charset.
Ambiguous Tool Names: 'db_connection' and 'db_operations' are generic and do not start with action verbs. Names like 'manage_database_connection' or 'execute_database_operation' would be clearer, but even better would be splitting into single-operation tools (open_database, close_database, execute_query, export_results, etc.).
No Output Schema Documentation: Tool descriptions do not specify what fields or structure responses contain. For example, db_operations' 'execute_query' likely returns rows, but the response format (list of objects? nested? paginated?) is undocumented. This prevents agents from planning downstream tool calls or extracting data reliably.