Michael2150/flamerobin-mcp-server
๏ธโฃ ๐ ๐ช - Firebird database MCP server that reads connection details from FlameRobin's config โ no credential setup required. Access all locally registered databases in one session with full schema introspection, DDL/DML execution, execution plans, and missing index analysis.
Quick Install
{
"mcpServers": {
"michael2150-flamerobin-mcp-server": {
"command": "npx",
"args": [
"-y",
"michael2150-flamerobin-mcp-server"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
flamerobin-mcp-server
A Model Context Protocol (MCP) server for Firebird databases intended for local use. It reads connection details from FlameRobin's fr_databases.conf so no extra configuration is needed โ if you have FlameRobin set up with your Firebird databases, this server works out of the box.
Compared to mcpFirebird
| This project | mcpFirebird | |
|---|---|---|
| Credentials | Read automatically from FlameRobin's config โ no setup required | Must pass --user, --password, --host, --database on every launch |
| Multi-database | All FlameRobin-registered databases available in one session | Single database per server instance |
| Wire encryption | Supported (native Firebird .NET driver) | Not supported โ requires WireCrypt = Disabled on the server |
| Runtime | .NET 9 self-contained executable | Node.js / npm |
| Schema introspection | Tables, views, procedures, triggers, generators, roles, FK/PK/constraints, execution plans, missing index analysis | Tables and basic schema |
| DDL / DML / scripts | Yes โ ExecuteDdl, ExecuteDml, ExecuteScript | SQL execution only |
| Deployment | Local only โ runs on your PC alongside FlameRobin | Cloud-deployable via Smithery, SSE/HTTP transports |
Building
dotnet build FirebirdMcp.csproj
Publishing a single self-contained executable
dotnet publish FirebirdMcp.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish-single
The output is publish-single\FirebirdMcp.exe. The publish-single\ folder is gitignored.
Claude Desktop configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"firebird": {
"command": "C:\\path\\to\\publish-single\\FirebirdMcp.exe",
"env": {
"Logging__LogLevel__Default": "None"
}
}
}
}
Important: The
Logging__LogLevel__Default=Noneenv var is required. The server's startup log output is written to stdout, which Claude reads as part of the MCP handshake โ any unexpected output causes Claude to fail to recognize the server.
Tools
| Tool | Description |
|---|---|
ListDatabases | List all servers/databases registered in FlameRobin |
ListObjects | List tables, views, or both โ with optional regex filter |
ListProcedures | List stored procedures โ with optional regex filter |
ListTriggers | List triggers โ with optional regex filter |
ListGenerators | List generators/sequences with current values |
ListRoles | List roles โ with optional regex filter |
DescribeTable | Column definitions โ supports brief mode and column filter |
GetForeignKeys | FK relationships for a table (in, out, or all directions) |
GetTableConstraints | PK, FK, UNIQUE, CHECK constraints for a table |
GetProcedureSource | PSQL source of a stored procedure |
GetTriggerSource | PSQL source of a trigger |
GetViewSource | SQL source of a view |
GetExecutionPlan | Execution plan for a SELECT โ shows index usage |
AnalyzeMissingIndexes | Which columns lack indexes; optionally scoped to filter columns |
GetDatabaseInfo | ODS version, page size, dialect, etc. |
ListActiveConnections | Active connections to the database |
RunQuery | Execute a SELECT โ supports maxRows and columns projection |
ExecuteDdl | Execute CREATE/ALTER/DROP and commit |
ExecuteDml | Execute INSERT/UPDATE/DELETE and commit |
ExecuteScript | Execute multiple semicolon-separated statements |