数据库查询服务

Firebird MCP Server是一个提供只读访问Firebird数据库的模型上下文协议服务器,允许LLMs检查数据库模式并执行只读查询。

  • by stagsz
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 stagsz/firebird-mcp-server

使用说明

Firebird MCP服务器

一个模型上下文协议服务器,提供对Firebird数据库的只读访问。此服务器使LLM能够检查数据库模式并执行只读查询。

组件

工具

  • 怎么翻译
    • 对连接的数据库执行只读SQL查询
    • 输入: sql (string):要执行的SQL查询
    • 所有查询都在只读事务中执行

资源

服务器为数据库中的每个表提供架构信息:

  • 持微软签名的表模式 (firebird://<host>/<table>/schema)
    • 每个表的JSON模式信息
    • 包括列名和数据类型
    • 从数据库元数据中自动发现

使用Claude Desktop

要将此服务器与Claude Desktop应用程序一起使用,请将以下配置添加到您的“mcpServers”部分 claude_desktop_config.json:

码头工人

  • 在macos上运行docker时,如果服务器在主机网络上运行(例如localhost),请使用host.docker.internal
  • 用户名/密码可以添加到firebird url中 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"
      ]
    }
  }
}

替换 /test_db 使用您的数据库名称。

开发设置

Docker环境变量

Firebird容器所需的环境变量:

  • DATABASE:数据库文件的路径(例如/firebird/data/test_db.fdb)
  • FIREBIRD_USER:数据库用户(默认值:SYSDBA)
  • FIREBIRD_PASSWORD:数据库密码(默认:主密钥)
  • EnableLegacyClientAuth:启用传统客户端身份验证(默认值:“true”)
  • EnableWireCrypt:启用有线加密(默认值:“false”)
  • CreateDb:允许创建数据库(默认值:“true”)

建筑

Docker:

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

故障排除

常见问题:

  1. 容器启动失败:

    • 确保正确设置了DATABASE环境变量
    • 检查firebird_data卷的权限
    • 留出足够的时间让Firebird服务器初始化
  2. 数据库初始化:

    • 服务器使用几个初始化脚本(init.sql、test_db.sql)
    • 确保这些文件具有正确的权限

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。