Skip to content

Releases: danieleteti/mcp-firebird

MCP Firebird 0.2.4 (Windows x64)

Choose a tag to compare

@danieleteti danieleteti released this 17 Jul 14:15

An MCP server that lets an AI assistant diagnose a Firebird database: read its schema, explain a query plan, propose and refute indexes, and measure whether a goal was actually met.

Tested against Firebird 2.5, 3.0, 4.0 and 5.0, not just the newest. A version-blind answer passes 5.0 and lies to a 2.5 DBA.

Install

  1. Unzip anywhere. The exe, .env.example and loggerpro.stdio.json sit together in that folder; there is no bin\ subfolder in the download.
  2. Copy .env.example to .env, beside the exe, and fill it in. (It starts with a dot, so Explorer and ls hide it unless you ask for hidden files. It is in the zip.)
  3. firebird.client_lib must point at the fbclient.dll of YOUR Firebird installation. No client library is bundled on purpose: a mismatched one fails in ways that are hard to read, and only you know which server you are talking to.
  4. Install it into your AI agent: register MCPFirebird.exe as a stdio MCP server. The agent starts the executable itself and talks to it over stdin/stdout. Nothing runs as a service, nothing listens on a port. The README has the exact recipe for Claude Desktop, Claude Code, Gemini CLI, OpenCode and Cursor. Pass --env <directory> if the .env lives elsewhere: a directory, not a file.

stdout carries JSON-RPC and nothing else; logging goes to a file, per loggerpro.stdio.json.

The tools

fb_info, fb_list_tables, fb_generate_documentation, fb_analyze_query, fb_suggest_indexes, fb_suggest_index_drops, fb_audit_table, fb_evaluate_goal, fb_monitor_transactions, plus prompts and resources.

fb_diagnose, fb_analyze_config, fb_analyze_host, fb_parse_log, fb_analyze_storage, fb_capture_trace, fb_trace_start, fb_trace_status and fb_trace_stop are the Enterprise edition's, and this build tells you so rather than pretending they do nothing.

Since 0.2.3

The Enterprise catalogue your assistant can see grew from five to nine. fb_diagnose is the entry point: start there when something is wrong and you do not know why, and it names the ordered route to run next. fb_trace_start, fb_trace_status and fb_trace_stop are the long window: up to two hours of Trace API capture drained in the background, where fb_capture_trace is capped at sixty seconds. All four appear in tools/list in this edition too, and calling one tells you how to get it instead of failing silently. The comparison tables in all four READMEs now list all nine.

A finding with no runnable remedy no longer ships an empty SQL fence. Not every advisory has a command behind it: the answer to "your page cache commits more RAM than this machine has" is a configuration change and a restart, not a statement. Those findings used to end in an empty code block, which reads as a tool that meant to say something and failed to. The fence now appears only when there is something runnable inside it.

The README header said v0.1.0. The server identity line at the top of all four READMEs had been stale since 0.2.0. It now states the version you actually downloaded.

.env.example now holds placeholders, not one machine's paths. It used to carry the maintainer's own port and file paths; copy it and the server pointed at folders that exist on exactly one computer in the world. It now shows the default port 3050 and paths that are obviously yours to fill in.

Notes

Windows x64. The exe is a Release build; the compliance suite was run against this binary, not against a debug twin of it.

MCP Firebird 0.2.3 (Windows x64)

Choose a tag to compare

@danieleteti danieleteti released this 13 Jul 16:07

An MCP server that lets an AI assistant diagnose a Firebird database: read its schema, explain a query plan, propose and refute indexes, and measure whether a goal was actually met.

Tested against Firebird 2.5, 3.0, 4.0 and 5.0, not just the newest. A version-blind answer passes 5.0 and lies to a 2.5 DBA.

Install

  1. Unzip anywhere. The exe, .env.example and loggerpro.stdio.json sit together in that folder; there is no bin\ subfolder in the download.
  2. Copy .env.example to .env, beside the exe, and fill it in. (It starts with a dot, so Explorer and ls hide it unless you ask for hidden files. It is in the zip.)
  3. firebird.client_lib must point at the fbclient.dll of YOUR Firebird installation. No client library is bundled on purpose: a mismatched one fails in ways that are hard to read, and only you know which server you are talking to.
  4. Install it into your AI agent: register MCPFirebird.exe as a stdio MCP server. The agent starts the executable itself and talks to it over stdin/stdout. Nothing runs as a service, nothing listens on a port. The README has the exact recipe for Claude Desktop, Claude Code, Gemini CLI, OpenCode and Cursor. Pass --env <directory> if the .env lives elsewhere: a directory, not a file.

stdout carries JSON-RPC and nothing else; logging goes to a file, per loggerpro.stdio.json.

The tools

fb_info, fb_list_tables, fb_generate_documentation, fb_analyze_query, fb_suggest_indexes, fb_suggest_index_drops, fb_audit_table, fb_evaluate_goal, fb_monitor_transactions, plus prompts and resources.

fb_analyze_config, fb_analyze_host, fb_parse_log, fb_analyze_storage and fb_capture_trace are the Enterprise edition's, and this build tells you so rather than pretending they do nothing.

Since 0.2.2

A sleeping index was answered with a second index. Ask why a query is slow, the plan says CUSTOMERS NATURAL, and there is an index on the filtered column: it is simply INACTIVE. fb_suggest_indexes refused to count a disabled index as usable, correctly, and then forgot it existed: it told you to CREATE INDEX. Follow that and you own two indexes over one column, both written on every INSERT, one of them dead, while the real fix, one ALTER INDEX ... ACTIVE away, was never named. It now names it.

The README said Apache-2.0. The licence line at the bottom contradicted the badge, the licensing chapter and the LICENSE file, all of which say PolyForm Internal Use 1.0.0 from v0.2.0. Anyone who scrolled to the end was told the software may be redistributed. It may not. Fixed, and 0.2.2 is withdrawn for that reason.

Two more claims that were not true: the comparison table advertised a DDL-applying tool behind a firebird.allow_ddl setting (no such tool, no such setting: all nine tools are read-only), and the milestone name "M3" appeared as if the reader knew it.

The README now exists in Italian, Spanish and German, each written as a document in its own language rather than transposed from the English, all four linked from a language bar. The download carries all four, minus the chapters on compiling the binary you just downloaded.

Notes

Windows x64. The exe is a Release build; the compliance suite was run against this binary, not against a debug twin of it.