MCP server that calls the IBSurgeon Configuration Calculator API to generate optimized Firebird database configuration files
Three tools with basic registration but significant quality gaps. Tool names follow verb_noun pattern (good), but descriptions are minimal (avg 95 chars, well below 194-char baseline). Input schemas are present but lack parameter descriptions entirely, critical violation of pattern:tool-description. No output schemas documented. Error handling is absent from tool definitions. The write_firebird_configs tool performs destructive operations (file writes with backups) but has no dry-run guidance in description, and no confirmation pattern. Security concern: credentials loaded from file path without validation.
Call the IBSurgeon Configuration Calculator API and return optimized firebird.conf and databases.conf content.
Return MCP server version, available tools, API version, and update notification if a newer release exists.
Write firebird.conf and databases.conf to disk with timestamped backups before overwrite. Use dry_run to preview paths.
No parameter descriptions in input schemas. All three tools register parameters (server_version, cores, output_dir, etc.) with type and description fields in the schema object, but the actual description text is missing or empty in the visible code. LLMs cannot infer what 'cores' means or why 'page_size' accepts only 4096/8192/16384/32768 without explicit descriptions.
No output schemas documented. Tool definitions in tools.go register tools with Name and Description only, no InputSchema or OutputSchema fields visible. Callers cannot know what fields to expect from calculate_firebird_config (does it return firebird_conf and databases_conf as strings? objects? with metadata?). This forces LLMs to guess and wastes tokens on discovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2025-06-18+ | v2 |
Destructive tool (write_firebird_configs) lacks confirmation pattern. Description mentions 'dry_run' parameter but does not explain when to use it or warn that the tool modifies disk state. No guidance on recovery if write fails mid-operation. Agents may accidentally overwrite production configs without understanding consequences.
Tool descriptions are too brief (30 - 40 chars). 'Call the IBSurgeon Configuration Calculator API...' and 'Write firebird.conf and databases.conf to disk...' lack context on WHEN to use each tool, what prerequisites exist (e.g. credentials file required), and what the agent should do with results. Baseline is 194 chars; these are 50% below.
No error handling guidance in tool definitions. If calculate_firebird_config fails (API unreachable, invalid credentials, malformed input), the tool returns an error but provides no recovery hint. Should describe: 'If credentials fail, check credentials file path. If API times out, retry with smaller database size. If validation fails, ensure cores is 1-100 and ram is 4-10000.'