Firebird数据库交互服务器

Firebird MCP Server是一个用于与Firebird数据库交互的工具,提供表列表、表描述、执行SQL查询等功能。

  • by ninoDeme
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ninoDeme/firebird-mcp

使用说明

Firebird MCP服务器

用于与Firebird数据库交互的MCP服务器。

特性

  • 列表表格:列出数据库中所有用户定义的表。
  • 描述表:获取特定表的详细架构信息。
  • 执行查询:运行任意SQL查询(SELECT/INSERT/UPDATE/DELETE)。
  • 资源:每个表都作为资源公开,便于查找。

安装

先决条件

  • Python 3.11或更高版本
  • uv (推荐)或 pip
  • Firebird数据库服务器访问

安装依赖

uv sync

用法

环境变量

您可以使用配置服务器 .env 文件或环境变量:

  • FIREBIRD_BASE:Firebird数据库文件的路径(例如。, C:\db\MYDB.FDB 或 /var/lib/firebird/data/mydb.fdb).
  • FIREBIRD_HOST:Firebird服务器主机(默认值: localhost).
  • FIREBIRD_PORT:Firebird服务器端口(默认: 3050).
  • FIREBIRD_USER:Firebird用户名(默认值: sysdba).
  • FIREBIRD_PASSWD:Firebird密码(默认值: masterkey).
  • MCP_TRANSPORT:运输类型, stdio 或 http (默认值: stdio).

运行服务器

使用 uv:

uv run firebird-mcp.py --fb-database /path/to/your/db.fdb

使用标准Python:

python firebird-mcp.py --fb-database /path/to/your/db.fdb

CLI参数

  • --fb-database:(必需)Firebird数据库的路径。
  • --fb-host:火鸟主机。
  • --fb-user:Firebird用户。
  • --fb-password:火鸟密码。
  • --fb-port:火鸟港。
  • --transport: stdio 或 http.
  • --host:要绑定以进行HTTP传输的主机。
  • --port:用于侦听HTTP传输的端口。

构建

要创建独立的可执行文件,请执行以下操作:

./build.sh

这使用 PyInstaller 在中创建单个可执行文件 dist 目录。

工具

list_tables

返回数据库中所有用户定义表的列表。

describe_table(table_name)

返回指定表中列的详细信息,包括数据类型、长度、可为空性和约束。

execute_query(sql)

执行提供的SQL查询并返回结果。对于 SELECT 查询时,它返回一个字典列表。对于其他查询,它返回成功状态和受影响的行。

资源

firebird://table/{table_name}

将特定表的模式作为JSON资源公开。