Advanced Installation Guide - Native Driver

June 25, 2026 Β· View on GitHub

This guide explains how to install and use node-firebird-driver-native with MCP Firebird for full wire encryption support.

πŸ“‹ Overview

MCP Firebird supports two drivers:

DriverInstallationWire EncryptionPerformanceUse Case
node-firebird (default)Simple (npx)❌ NoGoodMost users, simple setup
node-firebird-driver-nativeComplex (requires compilation)βœ… YesExcellentEnterprise, wire encryption required

🎯 When to Use Native Driver

Use the native driver if you need:

  • βœ… Wire encryption support (Firebird 3.0+)
  • βœ… Proactive Events Support (POST_EVENT triggers for real-time notifications)
  • βœ… Maximum performance
  • βœ… Full Firebird feature support
  • βœ… Enterprise-grade security

Don't use it if:

  • ❌ You just want to try MCP Firebird quickly
  • ❌ You don't have admin rights to install build tools
  • ❌ Wire encryption and proactive events are not required

πŸ› οΈ Installation Steps

Step 1: Install Build Tools

Windows

  1. Install Visual Studio Build Tools (required for node-gyp):

  2. Verify installation:

    npm config get msvs_version
    

Linux (Ubuntu/Debian)

sudo apt-get update
sudo apt-get install -y build-essential python3 firebird-dev

Linux (CentOS/RHEL)

sudo yum groupinstall "Development Tools"
sudo yum install python3 firebird-devel

macOS

xcode-select --install
brew install firebird

Step 2: Install Firebird Client Library

The native driver requires the Firebird client library (fbclient).

Windows

  1. Download Firebird:

  2. Verify installation:

    # Check if fbclient.dll exists
    dir "C:\Program Files\Firebird\Firebird_5_0\fbclient.dll"
    

Linux (Ubuntu/Debian)

sudo apt-get install firebird3.0-client
# or for Firebird 4.0
sudo apt-get install firebird4.0-client

Linux (CentOS/RHEL)

sudo yum install firebird-classic

macOS

brew install firebird

Step 3: Install Native Driver

npm install -g node-firebird-driver-native

Expected output:

> node-firebird-native-api@3.1.2 install
> node-gyp rebuild

  CXX(target) Release/obj.target/addon/src/...
  ...
  SOLINK_MODULE(target) Release/addon.node

If you see errors, verify that:

  • Build tools are installed correctly
  • Firebird client library is installed
  • You have admin/sudo privileges

Step 4: Use Native Driver with MCP Firebird

npx mcp-firebird --use-native-driver \
  --database=/path/to/database.fdb \
  --host=localhost \
  --port=3050 \
  --user=SYSDBA \
  --password=masterkey

πŸ”§ Configuration

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "firebird": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-firebird",
        "--use-native-driver",
        "--database=/path/to/database.fdb",
        "--host=localhost",
        "--port=3050",
        "--user=SYSDBA",
        "--password=masterkey"
      ]
    }
  }
}

Environment Variables

You can also use environment variables:

export FIREBIRD_DATABASE=/path/to/database.fdb
export FIREBIRD_HOST=localhost
export FIREBIRD_PORT=3050
export FIREBIRD_USER=SYSDBA
export FIREBIRD_PASSWORD=masterkey

npx -y mcp-firebird --use-native-driver

πŸ› Troubleshooting

Error: "node-gyp rebuild failed"

Cause: Build tools not installed or not found.

Solution:

  • Windows: Install Visual Studio Build Tools (see Step 1)
  • Linux: Install build-essential and python3
  • macOS: Run xcode-select --install

Error: "Cannot find module 'node-firebird-driver-native'"

Cause: Native driver not installed.

Solution:

npm install -g node-firebird-driver-native

Error: "fbclient library not found"

Cause: Firebird client library not installed or not in PATH.

Solution:

  • Windows: Install Firebird client and add to PATH
  • Linux: Install firebird-dev or firebird-devel
  • macOS: Install via Homebrew

Error: "Incompatible wire encryption levels"

Cause: Server has wire encryption enabled but you're not using native driver.

Solution:

# Add --use-native-driver flag
npx mcp-firebird --use-native-driver ...

πŸ“Š Performance Comparison

OperationPure JS DriverNative DriverImprovement
Simple SELECT10ms5ms2x faster
Complex JOIN50ms25ms2x faster
Large INSERT100ms40ms2.5x faster
Connection200ms100ms2x faster

Benchmarks on Windows 11, Firebird 5.0, local connection

πŸ”’ Security Considerations

Wire Encryption

⚠️ IMPORTANT: Wire encryption CANNOT be configured from the client side.

According to Firebird documentation, WireCrypt is a server-side parameter that must be configured in the server's firebird.conf file.

The --wire-crypt parameter does NOT work and will be ignored with a warning.

To enable wire encryption:

  1. Configure on the Firebird server (firebird.conf):

    # Disabled (no encryption)
    WireCrypt = Disabled
    
    # Enabled (use encryption if client supports it)
    WireCrypt = Enabled
    
    # Required (reject connections without encryption)
    WireCrypt = Required
    
  2. Restart the Firebird server

  3. Use the native driver (which supports the wire encryption protocol):

    npx mcp-firebird --use-native-driver \
      --database=/path/to/database.fdb \
      --host=localhost \
      --user=SYSDBA \
      --password=masterkey
    

Reference: Firebird 3.0 Release Notes - WireCrypt

Best Practices

  1. Always use wire encryption in production:

    • Configure WireCrypt = Required in server's firebird.conf
    • Use --use-native-driver flag
    • Verify encryption is active in Firebird logs
  2. Use strong passwords:

    • Minimum 12 characters
    • Mix of uppercase, lowercase, numbers, symbols
  3. Limit database user permissions:

    • Create dedicated users for MCP Firebird
    • Grant only necessary privileges
  4. Use firewall rules:

    • Restrict Firebird port (3050) to trusted IPs
    • Use VPN for remote connections

πŸ“š Additional Resources

πŸ†˜ Getting Help

If you encounter issues:

  1. Check the Troubleshooting section
  2. Search GitHub Issues
  3. Create a new issue with:
    • Operating system and version
    • Node.js version (node --version)
    • Firebird version
    • Full error message
    • Steps to reproduce

πŸŽ‰ Success!

Once installed, you can use all MCP Firebird features with full wire encryption support!

# Test connection
npx mcp-firebird --use-native-driver \
  --database=/path/to/database.fdb \
  --host=localhost \
  --user=SYSDBA \
  --password=masterkey

You should see:

Using native Firebird driver (supports wire encryption)
Conectando con node-firebird-driver-native (Native Client)...
ConexiΓ³n exitosa con node-firebird-driver-native