Firebird MCP Server logo

Firebird MCP Server

by stagsz

The Firebird MCP Server provides read-only access to Firebird databases, enabling LLMs to inspect schemas and execute queries. It's designed for use with tools like Claude Desktop to interact with Firebird databases.

View on GitHub

Last updated: N/A

Firebird MCP Server

A Model Context Protocol server that provides read-only access to Firebird databases. This server enables LLMs to inspect database schemas and execute read-only queries.

Components

Tools

  • query
    • Execute read-only SQL queries against the connected database
    • Input: sql (string): The SQL query to execute
    • All queries are executed within a READ ONLY transaction

Resources

The server provides schema information for each table in the database:

  • Table Schemas (firebird://<host>/<table>/schema)
    • JSON schema information for each table
    • Includes column names and data types
    • Automatically discovered from database metadata

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:

Docker

  • When running docker on macos, use host.docker.internal if the server is running on the host network (eg localhost)
  • username/password can be added to the firebird url with firebird://SYSDBA:masterkey@host:3051/test_db
{
  "mcpServers": {
    "firebird": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/firebird",
        "firebird://host.docker.internal:3051/test_db"
      ]
    }
  }
}

NPX

{
  "mcpServers": {
    "firebird": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-firebird",
        "firebird://localhost:3051/test_db"
      ]
    }
  }
}

Replace /test_db with your database name.

Development Setup

Docker Environment Variables

Required environment variables for the Firebird container:

  • DATABASE: Path to the database file (e.g., /firebird/data/test_db.fdb)
  • FIREBIRD_USER: Database user (default: SYSDBA)
  • FIREBIRD_PASSWORD: Database password (default: masterkey)
  • EnableLegacyClientAuth: Enable legacy client authentication (default: "true")
  • EnableWireCrypt: Enable wire encryption (default: "false")
  • CreateDb: Allow database creation (default: "true")

Building

Docker:

docker build -t mcp/firebird -f src/firebird/Dockerfile .

Troubleshooting

Common issues:

  1. Container startup failures:

    • Ensure the DATABASE environment variable is properly set
    • Check permissions on the firebird_data volume
    • Allow sufficient time for the Firebird server to initialize
  2. Database initialization:

    • The server uses several initialization scripts (init.sql, test_db.sql)
    • Ensure these files have correct permissions

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.