home / mcp / mcp firebird server

MCP Firebird Server

Implementation of Anthropic's MCP protocol for Firebird databases.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "purodelphi-mcpfirebird": {
      "url": "https://server.smithery.ai/your-username/mcp-firebird",
      "headers": {
        "DB_HOST": "localhost",
        "DB_PORT": "3050",
        "LOG_LEVEL": "debug",
        "CORS_ORIGIN": "https://example.com",
        "MAX_SESSIONS": "1000",
        "TRANSPORT_TYPE": "http",
        "SSE_SESSION_TIMEOUT_MS": "1800000"
      }
    }
  }
}

MCP Firebird implements Anthropic’s Model Context Protocol (MCP) for Firebird SQL databases, enabling large language models to securely access, analyze, and manipulate Firebird data with multiple transport options and robust session management.

How to use

You connect an MCP client to MCP Firebird to run SQL queries, analyze schemas, manage backups, and receive performance insights. Use the typical client workflow to query data, inspect table structures, and request maintenance or optimization suggestions. The server supports multiple transport mechanisms so you can choose STDIO for local clients, SSE for web-based interactions, or Streamable HTTP for modern, bidirectional communication. You’ll benefit from unified protocol detection, secure session handling, and compatibility with Claude Desktop and other MCP clients.

When you are ready to use MCP Firebird with a client, you typically: - Start the MCP Firebird server with your chosen transport configuration. - Connect your MCP client to the server endpoint. - Execute SQL queries, request schema analysis, or trigger maintenance tasks through the MCP client. - Review results and adjust database usage or indexing as needed based on the guidance from the MCP client.

How to install

Prerequisites: you need a modern Node.js runtime installed on your machine and, for some installations, build tools if you plan to use the native driver.

1. Install the MCP Firebird package globally (stable version) and run the server. Use a stable version like 2.2.3 to start:
```bash
npm install -g [email protected]
```
```bash
npx mcp-firebird --database /path/to/database.fdb
```
- If you need wire encryption, configure the native driver globally and install the native driver package as shown in the advanced steps.
2. Alternatively, install the alpha (latest features) and run the server:
```bash
npm install -g mcp-firebird@alpha
```
```bash
npx mcp-firebird --transport-type http --http-port 3003 --database /path/to/database.fdb
```
This enables the latest MCP features, including modern Streamable HTTP transport.
3. Local Smithery deployment (quick-start)
```bash
npx -y @smithery/cli@latest install mcp-firebird --client claude
```
This installs MCP Firebird for a Claude client with interactive setup and auto-configuration.

Additional topics

Transport options give you flexibility in how clients connect: - STDIO: standard input/output for Claude Desktop and similar clients. - SSE: server-sent events for web apps and remote clients. - Streamable HTTP: modern, bidirectional HTTP transport.

Wire encryption and security: you can enable wire encryption with the native driver, but ensure your server is configured appropriately. If you encounter wire encryption incompatibilities with certain Firebird versions, disable WireCrypt on the server and use compatible authentication methods.

Environment and deployment notes: you can run MCP Firebird in Docker, on local machines, or via cloud deployment. When using Docker, you’ll typically map ports and pass environment variables to configure transport and database access.

Common troubleshooting focuses on: - Verifying server health and connectivity - Adjusting session timeouts for SSE - Handling CORS settings for web clients - Ensuring database paths and permissions are correct on the target system

Quick example deployment URL you may use for cloud deployment with Smithery is provided by the cloud provider as the server endpoint, and you would connect your MCP client to that URL to begin interacting with your Firebird database.

Security and configuration notes

Configure session timeouts, maximum sessions, and cleanup intervals to balance performance and resource usage. Use environment variables to tune these values when running in SSE or unified transports.

If you operate behind a reverse proxy, set up TLS termination at the proxy and forward requests to the MCP Firebird server. This helps protect credentials and sensitive queries when exposing the server to the internet.

Troubleshooting

Firebird connection issues: if you see encryption incompatibilities, disable WireCrypt on the Firebird server and use compatible authentication methods. Review your server logs for WireCrypt and authentication errors and verify Firebird versions.

SSE connection issues: check that the server is running, verify the port, and confirm that the health endpoint responds. If sessions timeout too quickly, increase SSE_SESSION_TIMEOUT_MS.

JSON parsing issues: upgrade to the latest alpha version to fix parsing bugs in /messages handling. Ensure you are using a version that includes the fix.

Notes on deployment and JSON configuration

When configuring Claude Desktop or other MCP clients, you typically provide a configuration snippet that maps your MCP server to a client. For example, you can point a client to an HTTP endpoint or connect via STDIO transport with a local command.

Available tools

query

Execute SQL queries against the Firebird database and retrieve results.

analyzeSchema

Get details about tables, columns, and relationships to understand database structure.

backupRestore

Perform backup and restore operations for database maintenance.

performance

Analyze query performance and provide optimization suggestions.