Token导航 LogoToken导航TokenDH.com
MCP Server Firebird logo
AI代理stdio官方级别未说明来源级核验

MCP Server Firebird

MCP Server

一个完整的MCP服务器,用于连接外部Firebird数据库,允许AI助手执行SQL查询、列出表格和管理Firebird数据库连接。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
数据库连接PythonSQL查询Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

marcelofmatos

提供方

marcelofmatos

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -e FIREBIRD_LANGUAGE=pt_BR ...

详细介绍

MCP服务器Firebird

一个完整的模型上下文协议 (MCP) 服务器,用于连接到外部 Firebird 数据库。该服务器允许人工智能助手以安全高效的方式执行SQL查询,列出表格并管理与Firebird银行的连接。

📦 索引

🔥 特点

  • 完整的 MCP 协议 - 实现所有MCP规范 2024-11-05
  • 火鸟3.0.10正式版 - 包含在容器中的客户端库
  • 自动内容 - 不需要主机上的卷或安装
  • 智能诊断 自动检测和解决问题
  • 外部连接 - 连接到任何远程 Firebird 服务器
  • 4 MCP工具 -test_connection、execute_query、list_tables、server_status
  • 肯定的 非 root 用户,内置健康检查
  • 国际化 - 多语言支持 (pt_BR, en_US)
  • 全面测试 单元和集成测试的测试覆盖率 > 80%
  • 代码质量 - Linting,自动格式化和安全检查
  • 自动IC/CD -管道完成com GitHub操作
  • 🎯 默认提示系统 - 当响应开始使用 MCP 服务器时自动应用专家上下文
  • 🧠 3个专业提示 -firebird_expert,firebird_performance,firebird-architecture

🌍 国际化

服务器通过集中的JSON文件支持多种语言:

  • 可用语言葡萄牙语 (pt_BR), 英语 (en_US)
  • 自动配置: 通过变量 FIREBIRD_LANGUAGE 欧点 LANG
  • 智能回归: 如果找不到语言则使用英语
  • 本地化字符串错误消息,日志,诊断和提示
  • 易于扩展通过在 JSON 文件中创建新语言添加 i18n/

语言设置

# Português
docker run -e FIREBIRD_LANGUAGE=pt_BR ...

# Inglês (padrão)
docker run -e FIREBIRD_LANGUAGE=en_US ...

# Automático via LANG
export LANG=pt_BR.UTF-8

🎯 默认提示系统

MCP Firebird 包含一个创新的系统, 自动应用专家上下文 在需要 MCP 服务器时启动响应,无需手动配置,并改进工具的使用。

🚀 功能

  • 🤖 自动应用交互开始时默认的 firebird_expert 上下文。
  • 🔧 灵活配置:通过环境变量或工具参数
  • 📊 复杂程度:基础、中级、高级
  • ⏭️ 覆盖粒度通过工具调用禁用或更改操作

📝 快速设置

# Configuração Expert (padrão)
source .env

# Configurações alternativas:
export FIREBIRD_DEFAULT_PROMPT=firebird_performance  # Foco em performance
export FIREBIRD_DEFAULT_PROMPT=firebird_architecture # Foco em administração
export FIREBIRD_DEFAULT_PROMPT_ENABLED=false         # Desabilitar

🎯 第一个答案的例子

专家模式(默认):

🔥 **FIREBIRD EXPERT MODE ACTIVE**

**Environment:** localhost:3050 | DB: database.fdb | User: SYSDBA
**Expert Guidelines (intermediate level):**
✅ Provide Firebird-specific solutions
✅ Consider performance implications
✅ Include practical examples
✅ Answer language {lang}

---

📊 Query Results: {...}

暂时禁用 :

{"tool": "execute_query", "arguments": {"sql": "SELECT...", "disable_expert_mode": true}}

🚀 快速安装

先决条件

  • 码头安装
  • 访问外部 Firebird 服务器
  • 连接信息( 主机、 端口、 银行、 用户、 密码)

基本执行

docker run -d \
  --name mcp-firebird \
  -e FIREBIRD_HOST=192.168.1.50 \
  -e FIREBIRD_DATABASE=/dados/sistema.fdb \
  -e FIREBIRD_USER=SYSDBA \
  -e FIREBIRD_PASSWORD=masterkey \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

检查状态

# Ver logs do container
docker logs mcp-firebird

# Verificar se está rodando
docker ps | grep mcp-firebird

⚙️ 配置

环境变量

变量描述标准强制性
FIREBIRD_HOST Firebird 服务器地址 localhost
FIREBIRD_PORT Firebird 服务器端口 3050
FIREBIRD_DATABASE 完整的银行路线 /path/to/database.fdb
FIREBIRD_USER 银行用户。 SYSDBA
FIREBIRD_PASSWORD用户密码masterkey
FIREBIRD_CHARSET 连接的Charset。 UTF8
FIREBIRD_LANGUAGE 讯息的语言。 en_US
MCP_SERVER_NAME MCP 服务器名称 firebird-expert-server
MCP_SERVER_VERSION 服务器版本。 1.0.0

配置示例

1. 本地服务器

docker run -d \
  --name mcp-firebird-local \
  -e FIREBIRD_HOST=localhost \
  -e FIREBIRD_DATABASE=/var/lib/firebird/employee.fdb \
  -e FIREBIRD_PASSWORD=sua_senha \
  -e FIREBIRD_LANGUAGE=pt_BR \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

2. 企业服务器

docker run -d \
  --name mcp-firebird-corp \
  -e FIREBIRD_HOST=firebird.empresa.com \
  -e FIREBIRD_PORT=3050 \
  -e FIREBIRD_DATABASE=/aplicacao/sistema.fdb \
  -e FIREBIRD_USER=APP_USER \
  -e FIREBIRD_PASSWORD=senha_segura \
  -e FIREBIRD_CHARSET=ISO8859_1 \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

3. VPS服务器

docker run -d \
  --name mcp-firebird-vps \
  -e FIREBIRD_HOST=10.20.30.40 \
  -e FIREBIRD_DATABASE=/home/dados/banco.fdb \
  -e FIREBIRD_USER=USUARIO_DB \
  -e FIREBIRD_PASSWORD=password123 \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

🛠️ 可用的 MCP 工具

1.测试连接

测试与 Firebird 银行的连接并提供详细诊断。

用法 :

{
  "name": "test_connection"
}

返回 :

  • 连接状态
  • Firebird版本
  • 问题诊断
  • 具体解决方案

2.execute_query

Executa查询SQL没有banco Firebird。

用法 :

{
  "name": "execute_query",
  "arguments": {
    "sql": "SELECT * FROM CUSTOMERS WHERE CITY = ?",
    "params": ["São Paulo"]
  }
}

技术支持:

  • SELECT (返回数据)
  • INSERT, UPDATE, DELETE(返回受影响的行)
  • 参数化查询
  • 自动交易

3.列表表

列出所有银行用户表 。

用法 :

{
  "name": "list_tables"
}

返回 :

  • 表格列表
  • 表格计数器
  • 银行名称

4.服务器状态

显示 MCP 服务器和库的完整状态 。

用法 :

{
  "name": "server_status"
}

返回 :

  • FDB 和 Firebird 库状态
  • 当前设置
  • 连接测试
  • 建议

🎯 专家提示可用

服务器包括动态专家提示符:

1.火鸟_专家

Firebird 专家助理,深入了解 SGBD。

2.火鸟性能

Firebird 的优化和性能专家。

3.火鸟建筑

Firebird架构和管理专家。

🧪 开发与测试

开发环境设置

# Clonar repositório
git clone https://github.com/marcelofmatos/mcp-server-firebird
cd mcp-server-firebird

# Configurar ambiente completo
make setup-dev

# Ou manual:
./scripts/setup-dev.sh

运行测试

该项目有一个完整的测试套件:

# Todos os testes
make test-all

# Apenas testes unitários
make test-unit

# Testes de integração
make test-integration

# Testes de performance
make test-performance

# Execução rápida (sem testes lentos)
make test-fast

# Com relatório de cobertura HTML
make test-coverage

代码质量

# Verificações de qualidade
make lint

# Corrigir problemas automaticamente
make lint-fix

# Formatação de código
make format

# Verificação de tipos
make type-check

# Verificação de segurança
make security-check

# Pre-commit hooks
make pre-commit

测试结构

tests/
├── unit/                    # Testes unitários
│   ├── test_firebird_server.py
│   ├── test_mcp_server.py
│   ├── test_i18n.py
│   └── test_performance.py
├── integration/             # Testes de integração
│   ├── test_firebird_integration.py
│   └── docker-compose-test.yml
├── conftest.py             # Configurações compartilhadas
└── __init__.py

测试覆盖

该项目保持测试覆盖率超过80%:

  • 单元测试150多个测试,涵盖所有主要功能
  • 集成测试使用真正的 Firebird 容器进行验证
  • 性能测试:可扩展性基准和测试
  • 安全测试: 漏洞检查

开发命令

# Ambiente de desenvolvimento completo
make dev

# Executar servidor local (sem Docker)
make dev-server

# Monitorar mudanças
make watch

# Relatório de cobertura
make coverage-report

# Benchmark de performance
make benchmark

# Limpeza completa
make clean-all

CI/CD管道

该项目在 GitHub Actions 中包含完整的管道:

  • 代码检查:拉夫、黑人、MyPy、土匪
  • 多版本测试:Python 3.8-3.12
  • 集成测试:Com火鸟真实
  • 构建Docker: 容器检查
  • 安全扫描:Trivy e CodeQL
  • 报告:覆盖范围、基准、artefatos

🔍 故障排除

问题:容器无法启动

症状:

docker logs mcp-firebird
# Erro: FDB library not available

解决方案 :

# Rebuildar/baixar imagem mais recente
docker pull ghcr.io/marcelofmatos/mcp-server-firebird:latest
docker run --rm -it ghcr.io/marcelofmatos/mcp-server-firebird:latest python3 -c "import fdb; print('OK')"

问题: 网络连接错误

症状:

❌ Connection failed: network error
💡 NETWORK ISSUE: Cannot reach 192.168.1.50:3050

解决方案:

  1. 检查 Firebird 服务器是否正在运行
  2. 测试网络连接 :
   # Do host Docker
   telnet 192.168.1.50 3050
  1. 检查防火墙
  2. 确认主机和端口

问题: 认证错误

症状:

❌ Connection failed: login error
💡 AUTHENTICATION ISSUE: Invalid credentials

解决方案:

  1. 检查用户名和密码 :
   docker run --rm \
     -e FIREBIRD_HOST=seu.servidor \
     -e FIREBIRD_PASSWORD=senha_correta \
     ghcr.io/marcelofmatos/mcp-server-firebird:latest
  1. 确认用户在 Firebird 中存在
  2. 测试与外部工具( FlameRobin、 IBExpert) 的连接

问题:找不到银行

症状:

❌ Connection failed: database not found
💡 DATABASE ISSUE: Database file not found

解决方案:

  1. 检查银行路径 :
   # Caminho deve ser absoluto no servidor Firebird
   -e FIREBIRD_DATABASE=/caminho/completo/banco.fdb
  1. 确认文件在服务器上存在
  2. 检查文件权限

问题:缺少依赖关系

症状:

❌ Connection failed: libtommath.so.0: cannot open shared object file

解决方案:

  1. 使用最新的官方图像 :
   docker pull ghcr.io/marcelofmatos/mcp-server-firebird:latest
  1. 请注意,报告员问题不在GitHub上

📊 使用范例

例1:连接测试

# Iniciar container
docker run -d \
  --name firebird-test \
  -e FIREBIRD_HOST=192.168.1.100 \
  -e FIREBIRD_DATABASE=/dados/teste.fdb \
  -e FIREBIRD_PASSWORD=123456 \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

# Verificar logs
docker logs firebird-test

# Resultado esperado:
# [MCP-FIREBIRD] ✅ Database connection OK - Firebird 3.0.x

例2:数据查询

使用工具 execute_query 通过MCP段落:

-- Listar clientes
SELECT CUSTOMER_ID, COMPANY_NAME, CITY 
FROM CUSTOMERS 
WHERE COUNTRY = 'Brasil'
ORDER BY COMPANY_NAME

-- Contar registros
SELECT COUNT(*) as TOTAL_CUSTOMERS 
FROM CUSTOMERS

-- Inserir dados
INSERT INTO CUSTOMERS (CUSTOMER_ID, COMPANY_NAME, CITY) 
VALUES ('NEW01', 'Nova Empresa', 'São Paulo')

例三:监测

# Container com restart automático
docker run -d \
  --name mcp-firebird-prod \
  --restart unless-stopped \
  --health-cmd="python3 -c 'import fdb; print(\"OK\")'" \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  -e FIREBIRD_HOST=prod.empresa.com \
  -e FIREBIRD_DATABASE=/sistema/producao.fdb \
  -e FIREBIRD_USER=SYS_USER \
  -e FIREBIRD_PASSWORD="$PROD_PASSWORD" \
  ghcr.io/marcelofmatos/mcp-server-firebird:latest

# Monitorar health
docker inspect mcp-firebird-prod | grep -A 5 Health

🐳 Docker Compose

示例 docker-compose.yml:

version: '3.8'

services:
  mcp-firebird:
    image: ghcr.io/marcelofmatos/mcp-server-firebird:latest
    container_name: mcp-firebird-server
    restart: unless-stopped
    environment:
      - FIREBIRD_HOST=firebird.empresa.com
      - FIREBIRD_PORT=3050
      - FIREBIRD_DATABASE=/aplicacao/sistema.fdb
      - FIREBIRD_USER=APP_USER
      - FIREBIRD_PASSWORD=senha_segura
      - FIREBIRD_CHARSET=UTF8
      - FIREBIRD_LANGUAGE=pt_BR
    healthcheck:
      test: ["CMD", "python3", "-c", "import fdb; print('OK')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  # Firebird para testes (opcional)
  firebird-test:
    image: jacobalberty/firebird:v4.0
    container_name: firebird-test-db
    environment:
      - FIREBIRD_DATABASE=test.fdb
      - FIREBIRD_USER=SYSDBA
      - FIREBIRD_PASSWORD=test123
      - ISC_PASSWORD=test123
    ports:
      - "3050:3050"
    volumes:
      - firebird_data:/firebird/data
    profiles:
      - testing

volumes:
  firebird_data:
    driver: local

执行 :

# Produção
docker-compose up -d

# Com Firebird de teste
docker-compose --profile testing up -d

# Logs
docker-compose logs -f mcp-firebird

🔧 高级 开发

建立本地

# Clonar repositório
git clone https://github.com/marcelofmatos/mcp-server-firebird
cd mcp-server-firebird

# Build da imagem
make build

# Testar localmente
make dev

项目结构

mcp-server-firebird/
├── server.py               # Servidor MCP principal
├── requirements.txt        # Dependências de produção
├── requirements-dev.txt    # Dependências de desenvolvimento
├── pyproject.toml         # Configuração do projeto
├── Dockerfile             # Container de produção
├── docker-compose.yml     # Orquestração
├── Makefile              # Comandos de automação
├── .pre-commit-config.yaml # Hooks de qualidade
├── scripts/              # Scripts auxiliares
│   ├── run-tests.sh      # Executor de testes
│   └── setup-dev.sh      # Setup de desenvolvimento
├── tests/                # Testes abrangentes
│   ├── unit/            # Testes unitários
│   ├── integration/     # Testes de integração
│   └── conftest.py      # Configurações de teste
├── i18n/                # Internacionalização
│   ├── en_US.json       # Inglês (padrão)
│   └── pt_BR.json       # Português brasileiro
├── .github/             # CI/CD
│   └── workflows/
│       ├── tests.yml    # Pipeline de testes
│       └── docker-image.yml # Build e deploy
└── README.md           # Esta documentação

Make 可用命令

# Ambiente
make setup-dev          # Configuração completa de desenvolvimento
make install-deps       # Instalar dependências

# Testes
make test-all           # Todos os testes
make test-unit          # Testes unitários
make test-integration   # Testes de integração
make test-performance   # Testes de performance
make test-fast          # Execução rápida
make test-coverage      # Com relatório HTML

# Qualidade
make lint               # Verificações de código
make lint-fix           # Corrigir automaticamente
make format            # Formatação
make type-check        # Verificação de tipos
make security-check    # Verificação de segurança
make pre-commit        # Pre-commit hooks

# Docker
make build             # Build da imagem
make run               # Executar container
make dev               # Ambiente de desenvolvimento
make logs              # Ver logs

# Utilitários
make clean-all         # Limpeza completa
make coverage-report   # Relatório de cobertura
make benchmark         # Benchmark de performance
make health-check      # Verificar saúde do sistema

📚 额外资源

🤝 贡献

欢迎捐款!请遵循我们的贡献指南:

开发流程

  1. 仓库分叉
  2. 配置本地环境:
   git clone https://github.com/seu-usuario/mcp-server-firebird
   cd mcp-server-firebird
   make setup-dev
  1. 为 feature 创建分支:
   git checkout -b feature/nova-funcionalidade
  1. 用测试开发:
   # Desenvolvimento iterativo
   make test-fast      # Testes rápidos durante desenvolvimento
   make lint-fix       # Correções automáticas
   make test-all       # Teste completo antes de commit
  1. 提交更改:
   git add .
   git commit -m "feat: adicionar nova funcionalidade"
  1. 推e拉请求

质量标准

  • 测试覆盖最低80%
  • 掉毛代码必须通过所有检查(ruff,black,mypy,bandit)
  • 文档新功能需要记录
  • 测试所有功能都必须进行单元测试
  • 承诺使用: 常规承诺

本地运行

# Verificações antes do commit
make pre-commit

# Pipeline completo como no CI
make test-all
make lint
make build

🔒 安全

实施的安全实践

  • 非 root 用户 无集装箱
  • 漏洞扫描 com Trivy e Bandit
  • 受审计的依赖关系 定期
  • 未暴露的秘密 em日志
  • 输入验证 在所有查询中
  • 预处理语句 前置SQL注入

📄 许可证

这个项目是根据麻省理工学院许可证授权的 - 查看文件 许可证 为了细节。

🆘 支持

状态待办事项徽章

Tests

Coverage Security License Python Firebird

______________________________________________________________________

🏷️ 图像标签

  • latest 最新稳定版本
  • 1.0.0 特定版本
  • main - 开发版本
# Usar versão específica
docker pull ghcr.io/marcelofmatos/mcp-server-firebird:1.0.0

# Usar versão de desenvolvimento
docker pull ghcr.io/marcelofmatos/mcp-server-firebird:main

______________________________________________________________________

由❤️ Firebird 和 MCP 社区

⬆ 返回顶部

目录标签

目录标签

数据库连接PythonSQL查询Docker本地部署FirebirdMCP协议AI助手

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP