SuperAPI AI 工具集

mcp-odbc-server

mcp-odbc-server 是 OpenLinkSoftware 开发的基于 TypeScript 的 Model Context Protocol(MCP)服务器,用于通过 ODBC(Open Database Connectivity)为大型语言模型提供对 ODBC 可访问数据源的透明访问。它构建在 node-odbc 之上,通过 node.js 调用宿主操作系统的本地 ODBC 驱动管理器,使用 ODBC 数据源名称(DSN)连接数据库。该服务器提供多种工具,包括获取模式、获取表、过滤表名、描述表结构、执行 SQL 查询、以 Markdown 或 JSONL 格式返回查询结果,以及针对 Virtuoso 的 SPASQL、SPARQL 查询和 AI 辅助功能。使用前需安装 Node.js 21.1.0 或更高版本,并通过 npm 安装依赖项。环境变量(如 ODBC_DSN、ODBC_USER、ODBC_PWD 等)可在 .env 文件中配置。适用于需要让 LLM 访问数据库的场景,但主要面向 Virtuoso 数据库,其他数据库需自行测试。

访问官网

工具介绍

mcp-odbc-server 是 OpenLinkSoftware 开发的一个基于 TypeScript 的 Model Context Protocol(MCP)服务器,旨在为大型语言模型(LLM)提供对 ODBC 可访问数据源的透明访问。它通过数据源名称(DSN)连接到配置了特定 ODBC 连接器(即 ODBC 驱动)的数据库。该服务器构建在 node-odbc 之上,是一个小型 TypeScript 层,通过 node.js(使用 npx 运行 TypeScript)将调用路由到宿主系统的本地 ODBC 驱动管理器。

主要能力 服务器提供了一系列工具供 MCP 客户端应用程序使用,包括:

  • get_schemas:获取连接数据库中所有模式名称的列表。
  • get_tables:获取指定模式中表的信息列表。
  • filter_table_names:根据表名中的子字符串过滤并返回表信息。
  • describe_table:获取特定表的列详细信息。
  • query_database:执行标准 SQL 查询并返回 JSON 格式结果。
  • query_database_md:执行 SQL 查询并返回 Markdown 表格格式结果。
  • query_database_jsonl:执行 SQL 查询并返回 JSON Lines(JSONL)格式结果。
  • spasql_query:执行 SPASQL(SQL/SPARQL 混合)查询(Virtuoso 特有)。
  • sparql_query:执行 SPARQL 查询(Virtuoso 特有)。
  • virtuoso_support_ai:利用 Virtuoso 特有的 AI 助手功能,传递提示和可选的 API 密钥(Virtuoso 特有)。

使用方式 使用前需要设置运行环境。首先检查 node.js 版本,若低于 21.1.0 则需升级或安装:nvm install v21.1.0。然后安装 MCP 组件:npm install @modelcontextprotocol/sdk zod tsx odbc dotenv。设置默认 nvm 版本:nvm alias default 21.1.0。克隆仓库:git clone https://github.com/OpenLinkSoftware/mcp-odbc-server.git,进入目录:cd mcp-odbc-server,运行 npm init -y,然后再次安装依赖:npm install @modelcontextprotocol/sdk zod tsx odbc dotenv。

对于 unixODBC 运行时环境,需检查安装配置:odbcinst -j,列出可用的数据源名称:odbcinst -q -s。

环境变量应在与 mcp-server 同目录的 .env 文件中设置,包括 ODBC_DSN、ODBC_USER、ODBC_PWD、ODBCINI,以及可选的 API_KEY(用于通过 ODBC 使用 OpenLink AI Layer (OPAL) 时)。

适用场景 适用于需要让大型语言模型通过 MCP 协议访问 ODBC 数据源的场景,例如在 AI 应用中集成数据库查询能力。示例主要面向 Virtuoso ODBC 连接器,但指南也适用于其他 ODBC 连接器。项目鼓励为其他数据库管理系统贡献代码和演示。

限制 文档中未提供其他数据库管理系统的具体兼容性说明,使用者需自行验证。此外,SPASQL、SPARQL 和 virtuoso_support_ai 工具为 Virtuoso 特有功能,在其他数据库上可能不可用。项目的详细安装测试和故障排除可参考 MCP Inspector 工具,但文档中未提供完整的步骤说明。