{"id":16645,"library":"mcp-firebird","title":"Firebird Model Context Protocol (MCP) Server","description":"mcp-firebird is a server implementation of Anthropic's Model Context Protocol (MCP) specifically designed for Firebird SQL databases. It enables AI agents, such as Claude Desktop, to securely and efficiently interact with Firebird databases for various tasks including schema inspection, executing read-only or write SQL queries, analyzing table structures, and generating SQL from natural language descriptions. The package, currently at version 2.6.0, provides a robust interface to unlock valuable data in Firebird systems for AI-driven applications. It supports Server-Sent Events (SSE) for real-time data streaming and offers enhanced command-line parameter handling and environment variable configuration. Developed by PuroDelphi, it is actively maintained with ongoing feature enhancements and performance optimizations, making it a comprehensive toolkit for integrating Firebird with modern AI workflows. Key differentiators include its dedicated focus and comprehensive features for Firebird within the MCP ecosystem, offering more extensive management and analysis tools compared to simpler, older implementations.","status":"active","version":"2.6.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install mcp-firebird","lang":"bash","label":"npm"},{"cmd":"yarn add mcp-firebird","lang":"bash","label":"yarn"},{"cmd":"pnpm add mcp-firebird","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This package is primarily designed to be run as a command-line server via `npx` rather than being imported as a library into other Node.js projects. Its core functionality is exposed through the CLI and the Model Context Protocol itself. Although it ships TypeScript types, these are generally for internal server components or configuration objects, not for external programmatic library usage.","symbol":"mcp-firebird","correct":"npx mcp-firebird"},{"note":"Configuration for the mcp-firebird server is typically done through environment variables (e.g., FIREBIRD_HOST, FIREBIRD_DATABASE) or by passing arguments directly to the `npx mcp-firebird` command, as opposed to a programmatic configuration API.","wrong":"import { configure } from 'mcp-firebird'","symbol":"MCP Server Configuration","correct":"Via environment variables or command-line arguments"}],"quickstart":{"code":"import { spawn } from 'child_process';\n\nconst databasePath = process.env.FIREBIRD_DATABASE_PATH ?? '/firebird/data/test_db.fdb';\nconst user = process.env.FIREBIRD_USER ?? 'SYSDBA';\nconst password = process.env.FIREBIRD_PASSWORD ?? 'masterkey';\nconst host = process.env.FIREBIRD_HOST ?? 'localhost';\nconst port = process.env.FIREBIRD_PORT ?? '3050';\n\n// Example of running mcp-firebird via npx with environment variables and CLI arguments\nconst mcpFirebirdProcess = spawn('npx', [\n  'mcp-firebird',\n  '--database', databasePath,\n  '--user', user,\n  '--password', password,\n  '--host', host,\n  '--port', port,\n  '--transport', 'sse', // Use Server-Sent Events transport\n  '--sse-port', '3003' // Specify SSE port\n], {\n  stdio: 'inherit',\n  env: { ...process.env, \n    LOG_LEVEL: 'debug' // Example of an additional environment variable\n  }\n});\n\nmcpFirebirdProcess.on('error', (err) => {\n  console.error('Failed to start mcp-firebird process:', err);\n});\n\nmcpFirebirdProcess.on('exit', (code) => {\n  console.log(`mcp-firebird process exited with code ${code}`);\n});\n\nconsole.log('MCP Firebird server started. Connect your AI client (e.g., Claude Desktop) to this server.');\nconsole.log(`Database: ${databasePath}, User: ${user}, Host: ${host}, Port: ${port}`);\nconsole.log('SSE Transport active on port 3003.');","lang":"typescript","description":"Demonstrates how to run the mcp-firebird server using `npx`, configuring it via both command-line arguments and environment variables for connecting to a Firebird database and enabling SSE transport."},"warnings":[{"fix":"Refer to the official MCP documentation and mcp-firebird release notes for compatibility details. Ensure that both the server and client adhere to the same MCP protocol version. Older MCP servers using `FastMCP` have been replaced by `McpServer` in newer SDKs.","message":"The Model Context Protocol (MCP) itself has undergone significant breaking changes, notably with the migration from MCP v1 to v2. Users should ensure their mcp-firebird server and any client applications are compatible with the specific MCP protocol version being used to avoid communication errors or unexpected behavior.","severity":"breaking","affected_versions":">=2.x"},{"fix":"Verify all connection parameters are correct. Ensure the Firebird database server is running and accessible from the machine hosting the mcp-firebird server. Double-check environment variables or CLI arguments for typos.","message":"Incorrect or insufficient Firebird database connection parameters (host, port, database path, user, password) will prevent the server from connecting to the database. These are critical for server startup and functionality.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Ensure that the user running the mcp-firebird server (or the Docker container user) has appropriate read/write permissions to the Firebird database file and any associated data directories. Check permissions on `init.sql` and `test_db.sql` if used for database initialization.","message":"File system permissions issues on the Firebird database file (`.fdb`) or data volumes, as well as initialization scripts, can lead to container startup failures or database access errors.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Review your Dockerfile and Docker Compose configuration to ensure the Firebird database file is correctly mounted as a volume and the `DATABASE` environment variable points to the correct location within the container.","message":"When running mcp-firebird within a Docker container, ensure that the `DATABASE` environment variable is correctly set to the path *inside the container* where the database file is mounted. Improper volume mounts or incorrect paths will lead to connection failures.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"last_verified":"2026-04-22T00:00:00.000Z","next_check":"2026-07-21T00:00:00.000Z","problems":[{"fix":"Set the `DATABASE` environment variable or `--database` CLI argument to the correct absolute path of your Firebird `.fdb` database file. For Docker, ensure the path reflects the location inside the container's filesystem after volume mounting.","cause":"The `DATABASE` environment variable (or equivalent CLI argument) is missing or points to an invalid path for the Firebird database file.","error":"Container startup failures: Ensure the DATABASE environment variable is properly set"},{"fix":"Verify that the Firebird database server is active and listening on the specified host and port. Double-check the `FIREBIRD_HOST`, `FIREBIRD_PORT`, `FIREBIRD_USER`, and `FIREBIRD_PASSWORD` environment variables or their CLI counterparts for accuracy. Check firewall rules.","cause":"Incorrect network configuration, invalid credentials, or the Firebird database server is not running or accessible.","error":"ERROR: Unable to connect to Firebird database. Check host, port, user, and password."},{"fix":"Adjust file system permissions for the Firebird database file and its parent directory to grant read and write access to the user account or group under which the mcp-firebird process is running.","cause":"The user account running the mcp-firebird server lacks sufficient read/write permissions for the Firebird database file or its directory.","error":"Error: EACCES: permission denied, access '/firebird/data/your_db.fdb'"}],"ecosystem":"npm"}