Firebird IntegrationCAUTION
Implementation of Anthropic's MCP protocol for Firebird databases.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mseep.ai/app/1cb2bb07-00f4-4579-b535-1b9de9b451e9)
Implementation of Anthropic's MCP (Model Context Protocol) for Firebird databases.
Example Usage
https://github.com/user-attachments/assets/e68e873f-f87b-4afd-874f-157086e223af
What is MCP Firebird?
MCP Firebird is a server that implements Anthropic's Model Context Protocol (MCP) for Firebird SQL databases. It allows Large Language Models (LLMs) like Claude to access, analyze, and manipulate data in Firebird databases securely and in a controlled manner.
🚀 What's New in MCP 2.7+ (Performance & Security)
This server has been upgraded to support the latest enterprise standards in the MCP ecosystem:
- ⚡ Connection Pooling (Zero Latency): Repetitive database queries now use persistent in-memory connections, completely bypassing handshake overhead and executing almost instantly.
- 🎯 Proactive Events (Triggers): Native integration with Firebird's
POST_EVENT. The server listens to database events in real-time and proactively notifies the AI client (e.g., Claude/n8n) without requiring continuous polling. - Quick Example: Ask your agent to
subscribe_to_eventwithNEW_ORDER. When Firebird runsPOST_EVENT 'NEW_ORDER', your agent gets instantly notified! Read detailed guide and examples. - 🛡️ Enterprise-Managed Authorization (EMA): Don't want to expose your actual database password (
SYSDBA) to the LLM client? Enable EMA to require an--api-keyon incoming connections. The server intercepts this token and injects the real password securely under the hood. - Quick Example: Start the server with
--password "real_password" --api-key "my-secure-token". The remote client connects usingAuthorization: Bearer my-secure-token. The database password never leaves the serv
5170c976737aOBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp-firebird --env FB_API_KEY=${FB_API_KEY} --env FB_PASSWORD=${FB_PASSWORD} --env FIREBIRD_API_KEY=${FIREBIRD_API_KEY} --env FIREBIRD_CLIENT_TOKEN=${FIREBIRD_CLIENT_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"mcp-firebird": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"FB_API_KEY": "${FB_API_KEY}",
"FB_PASSWORD": "${FB_PASSWORD}",
"FIREBIRD_API_KEY": "${FIREBIRD_API_KEY}",
"FIREBIRD_CLIENT_TOKEN": "${FIREBIRD_CLIENT_TOKEN}"
}
}
}
}Exposed tools (32)
29 read · 3 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
analyze-missing-indexes | read | Analyzes a SQL query to identify missing indexes that could improve performance |
analyze-query-performance | read | Analyzes the performance of a SQL query by executing it multiple times and measuring execution time |
analyze-table-statistics | read | Analyzes statistical information about a table including row count, column statistics, and data distribution. |
database-health-check | read | Provides a comprehensive guide for analyzing database health, including performance, integrity, and security checks. |
database-schema | read | Resource representing the complete database schema with all tables and their relationships. |
database-statistics | read | Resource representing general database statistics. |
database-tables | read | Resource representing the list of all tables in the database. |
describe-batch-tables | read | Gets the detailed schema of multiple tables in parallel for improved performance. |
describe-table | read | Gets the detailed schema (columns, types, etc.) of a specific table. |
echo | read | Echoes back the input message |
execute-batch-queries | write | Executes multiple SQL queries in parallel for improved performance. |
execute-query | write | Executes a SQL query in the Firebird database. Uses FIRST/ROWS for pagination. |
get-database-info | read | Retrieves general information about the connected Firebird database. |
get-execution-plan | write | Gets the execution plan for a SQL query to understand how the database will execute it |
get-field-descriptions | read | Gets the stored descriptions for fields of a specific table (if they exist). |
get-table-constraints | read | Returns PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, and CHECK constraints for a table, including constrained columns and references. |
get-table-data | read | Retrieves data from a specific table with optional filtering, pagination, and ordering. |
get-table-indexes | read | Returns all indexes for a table, including ordered columns, uniqueness, direction, and segment count. |
get-table-triggers | read | Returns only the triggers associated with a table, including source, description, sequence, type, and active state. |
identity | read | |
list-tables | read | Lists all user tables in the current Firebird database. |
migration-planning | read | Provides a comprehensive guide for planning database migrations, schema changes, and data transformations. |
query-optimization-guide | read | Provides a step-by-step guide for optimizing SQL queries in Firebird. |
schema-design-review | read | Provides a comprehensive guide for reviewing database schema design and suggesting improvements. |
security-audit | read | Provides a comprehensive guide for conducting a security audit of the Firebird database. |
subscribe_to_event | read | |
table-constraints | read | Resource representing the constraints of a specific table. |
table-description | read | Resource representing the detailed description (columns, types, etc.) of a specific table. |
table-indexes | read | Resource representing the indexes of a specific table. |
table-schema | read | Resource representing the schema of a specific table. |
table-triggers | read | Resource representing the triggers of a specific table. |
verify-wire-encryption | read | Reports wire-encryption configuration; does not verify negotiated encryption on an active database connection. |
Trust audit
CAUTIONgrade B · trust 83/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- declared (4 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (20)
.gitignore
logger.debug('Configuración de BD cargada: %o', { ...config, password: '***' }); // Usar formato %ologger.info(`🌐 Listening on http://0.0.0.0:${port}`);logger.info(`📡 MCP endpoint: http://0.0.0.0:${port}/mcp`);logger.info(`❤️ Health check: http://0.0.0.0:${port}/health`);.eslintrc.js
import { readBlobField, resolveBlobFields, resolveNativeBlobFields } from '../../db/blob.js';jest.mock('../../db/driver-factory.js', () => ({import { ConnectionPool, ConfigOptions } from '../../db/connection.js';import { DriverFactory } from '../../db/driver-factory.js';jest.mock('../../db/queries.js', () => ({npx @modelcontextprotocol/inspector http://192.168.1.100:3003
iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGEElEQVR4nO3dQW4bORBAUcXw/a/sLLLJJoAXA7tJFsnq9/YGRrfUn2oNZPvr9/f39wOo8+foNwAcRwCgmABAMQGAYgIAxQQAigkAFBMAKCYAUEwAoJgAQDEBgGIC
mcp, httpx
@modelcontextprotocol/sdk, cors, dotenv, express, minimist, node-firebird, url-pattern, zod
- Load security configuration from CLI and environment variables across server entry points, with JSON and trusted CommonJS support in the ESM runtime (#34). File loading confirmed by the reporter.
- **Windows**: Install Firebird client and add to PATH
5. **Add to PATH** (if not already added):
# Add to PATH (Windows)
examples/ExampleClaudeV2.mp4
Gates applied: no_behavioural_pass.
5170c976737afull audit observations/trust-audit/mcp-server/purodelphi__firebird-integration.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 5170c976737a | CAUTION | B | 83 | first audit |
Questions
What is the Firebird Integration MCP server?
Implementation of Anthropic's MCP protocol for Firebird databases.
What tools does Firebird Integration expose?
32 in total: 29 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Firebird Integration safe to connect to an agent?
With care. The audit graded it B (83/100) and found 20 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does Firebird Integration need?
It reads FB_API_KEY, FB_PASSWORD, FIREBIRD_API_KEY, FIREBIRD_CLIENT_TOKEN, FIREBIRD_PASSWORD, FIREBIRD_REAL_PASSWORD and FIREBIRD_TEST_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Firebird Integration run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as mcp-firebird at 2.11.0.
How current is this page?
The grade is for one exact copy of the source (5170c976737a), read on 2026-10-07. The repository is watched and re-audited when it changes.