火鸟数据库助手添加福利群:解决AI开发者的「MCP实战痛点」为Firebird数据库实现Anthropic的MCP(模型上下文协议)。
https://github.com/user-attachments/assets/e68e873f-f87b-4afd-874f-157086e223af
MCP Firebird是一个服务器,为Firebird SQL数据库实现了Anthropic的模型上下文协议(MCP)。它允许像Claude这样的大型语言模型(LLMs)以安全和受控的方式访问、分析和操作Firebird数据库中的数据。
# 全局安装(稳定版)
npm install -g mcp-firebird
# 运行服务器
npx mcp-firebird --database /path/to/database.fdb
# 或使用特定的稳定版本
npm install -g mcp-firebird@2.2.3

稳定版特性(v2.2.3):
# 安装具有最新特性的alpha版本
npm install -g mcp-firebird@alpha
# 或使用特定的alpha版本
npm install -g mcp-firebird@2.3.0-alpha.1

Alpha版特性(v2.3.0-alpha.1):
对于备份/恢复操作,您需要安装Firebird客户端工具。有关更多详细信息,请参见完整安装。
对于VSCode和GitHub Copilot集成,请参见VSCode集成。
编辑Claude Desktop配置:
code $env:AppData\Claude\claude_desktop_config.json # Windows
code ~/Library/Application\ Support/Claude/claude_desktop_config.json # macOS

添加MCP Firebird配置:
{
"mcpServers": {
"mcp-firebird": {
"command": "npx",
"args": [
"mcp-firebird",
"--host",
"localhost",
"--port",
"3050",
"--database",
"C:\\path\\to\\database.fdb",
"--user",
"SYSDBA",
"--password",
"masterkey"
],
"type": "stdio"
}
}
}

重启Claude Desktop
MCP Firebird支持多种传输协议,以适应不同的客户端需求和部署场景。
STDIO传输是Claude Desktop集成的标准方法:
{
"mcpServers": {
"mcp-firebird": {
"command": "npx",
"args": [
"mcp-firebird",
"--database", "C:\\path\\to\\database.fdb",
"--user", "SYSDBA",
"--password", "masterkey"
],
"type": "stdio"
}
}
}

SSE传输允许服务器作为Web服务运行,适用于Web应用程序和远程访问:
# 在默认端口3003上启动SSE服务器
npx mcp-firebird --transport-type sse --database /path/to/database.fdb
# 自定义端口和完整配置
npx mcp-firebird \
--transport-type sse \
--sse-port 3003 \
--database /path/to/database.fdb \
--host localhost \
--port 3050 \
--user SYSDBA \
--password masterkey

# 设置环境变量
export TRANSPORT_TYPE=sse
export SSE_PORT=3003
export DB_HOST=localhost
export DB_PORT=3050
export DB_DATABASE=/path/to/database.fdb
export DB_USER=SYSDBA
export DB_PASSWORD=masterkey
# 启动服务器
npx mcp-firebird

SSE服务器运行后,客户端可以连接到:
http://localhost:3003/ssehttp://localhost:3003/messageshttp://localhost:3003/health最新的MCP协议,支持双向通信:
# 使用可流式HTTP启动
npx mcp-firebird --transport-type http --http-port 3003 --database /path/to/database.fdb

同时支持SSE和可流式HTTP协议,并具有自动检测功能:
# 启动统一服务器(支持SSE和可流式HTTP)
npx mcp-firebird --transport-type unified --http-port 3003 --database /path/to/database.fdb

http://localhost:3003/ssehttp://localhost:3003/mcphttp://localhost:3003/mcp-autohttp://localhost:3003/healthnpx mcp-firebird \ --transport-type sse \ --sse-port 3003 \ --database ./dev-database.fdb \ --user SYSDBA \ --password masterkey
npx mcp-firebird \
--transport-type unified \
--http-port 3003 \
--database /var/lib/firebird/production.fdb \
--host db-server \
--port 3050 \
--user APP_USER \
--password $DB_PASSWORD

docker run -d \ --name mcp-firebird \ -p 3003:3003 \ -e TRANSPORT_TYPE=sse \ -e SSE_PORT=3003 \ -e DB_DATABASE=/data/database.fdb \ -v /path/to/database:/data \ purodelhi/mcp-firebird:latest
配置会话超时和限制:
# 会话管理的环境变量
export SSE_SESSION_TIMEOUT_MS=1800000 # 30分钟
export MAX_SESSIONS=1000 # 最大并发会话数
export SESSION_CLEANUP_INTERVAL_MS=60000 # 每分钟清理一次
npx mcp-firebird --transport-type sse

对于Web应用程序,配置CORS设置:
# 允许特定来源
export CORS_ORIGIN="https://myapp.com,https://localhost:3000"
export CORS_METHODS="GET,POST,OPTIONS"
export CORS_HEADERS="Content-Type,mcp-session-id"
npx mcp-firebird --transport-type sse

对于生产部署,使用像nginx这样的反向代理:
server {
listen 443 ssl;
server_name mcp-firebird.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:3003;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

连接被拒绝
# 检查服务器是否正在运行
curl http://localhost:3003/health
# 检查端口可用性
netstat -an | grep 3003

会话超时
# 增加会话超时时间
export SSE_SESSION_TIMEOUT_MS=3600000 # 1小时

CORS错误
# 允许所有来源(仅限开发)
export CORS_ORIGIN="*"

内存问题
# 减少最大会话数
export MAX_SESSIONS=100
# 启用更频繁的清理
export SESSION_CLEANUP_INTERVAL_MS=30000

JSON解析问题(在v2.3.0-alpha.1+中修复)
# 如果遇到“Invalid message: [object Object]”错误,
# 升级到最新的alpha版本:
npm install mcp-firebird@alpha
# 或直接使用最新的alpha版本:
npx mcp-firebird@alpha --transport-type sse

注意:在2.3.0-alpha.1之前的版本中,存在一个错误,即对/messages端点的POST请求无法正确解析JSON正文。这已通过改进的中间件处理得到修复,支持application/json和text/plain内容类型。
# 启用调试日志记录
export LOG_LEVEL=debug
# 监控服务器健康状态
curl http://localhost:3003/health | jq

curl http://localhost:3003/health | jq '.sessions'

要通过 Smithery 自动安装 MCP Firebird for Claude Desktop,请执行以下命令:
npx -y @smithery/cli install @PuroDelphi/mcpFirebird --client claude
有关更详细的信息,请查看以下文档:
如果您发现 MCP Firebird 对您的工作或项目有帮助,请考虑通过捐赠支持其开发。您的贡献有助于维护和改进此工具。

支持此项目的另一种好方法是通过 Asistentes Autónomos 雇佣我们的 AI 代理。我们提供针对各种业务需求的专门 AI 助手,帮助您自动化任务并提高生产力。
⭐ 捐赠者、赞助商和客户将获得优先支持和帮助,包括问题解决、功能请求和实施指导。虽然我们努力帮助所有用户,但那些为项目提供财务支持的用户将获得更快的响应时间和专门的协助。
您的支持非常宝贵,并有助于确保 MCP Firebird 的持续开发!
本项目遵循 MIT 许可证 - 详情请参阅 LICENSE 文件。