Michael2150/flamerobin-mcp-server
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.
Ask AI about Michael2150/flamerobin-mcp-server
Powered by Claude Β· Grounded in docs
I know everything about Michael2150/flamerobin-mcp-server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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 |
