MCP Server ODBC via PyODBC

MCP Server ODBC via PyODBC

site icon
2025.04.10 0
Python数据库管理数据库查询数据分析数据库
mcp-pyodbc-server 是一个基于 FastAPI 和 pyodbc 构建的轻量级 MCP(Model Context Protocol)服务器,用于通过 ODBC 连接数据库。该服务器兼容 Virtuoso DBMS 以及其他支持 ODBC 驱动的数据库管理系统。
View on GitHub

Overview

基本能力

产品定位

mcp-pyodbc-server 是一个数据库连接和查询工具,主要用于通过 ODBC 接口与数据库进行交互,支持多种数据库操作和查询功能。

核心功能

  • 获取数据库模式(Schemas):列出连接数据库中的所有模式名称。
  • 获取表信息(Tables):检索特定模式或所有模式中的表信息。
  • 描述表结构(Describe Table):生成表的详细结构描述,包括列名、数据类型、是否可为空、主键和外键等。
  • 搜索表(Search Tables):根据名称子字符串过滤和检索表。
  • 执行存储过程(Execute Stored Procedures):在 Virtuoso 中执行存储过程并检索结果。
  • 执行查询(Execute Queries):支持 JSONL 和 Markdown 表格格式的查询结果返回。

适用场景

  • 数据库管理和维护
  • 数据库查询和数据分析
  • 数据库模式和数据结构的探索
  • 与 Virtuoso DBMS 的交互

工具列表

  • podbc_get_schemas:列出数据库中的所有模式名称。
  • podbc_get_tables:列出特定模式中的表信息。
  • podbc_describe_table:描述表的结构。
  • podbc_filter_table_names:根据名称子字符串过滤表。
  • podbc_query_database:执行 SQL 查询并返回 JSON 格式结果。
  • podbc_execute_query_md:执行 SQL 查询并返回 Markdown 表格格式结果。
  • podbc_spasql_query:执行 SPASQL 查询(Virtuoso 特有)。
  • podbc_sparql_query:执行 SPARQL 查询(Virtuoso 特有)。
  • podbc_virtuoso_support_ai:与 Virtuoso 的 AI 支持助手交互(Virtuoso 特有)。

常见问题解答

  • 安装和配置 ODBC 驱动时遇到问题,可以检查 odbcinst -jodbcinst -q -s 命令的输出。
  • 使用 MCP Inspector 进行调试和问题排查。

使用教程

使用依赖

  1. 安装 uvbash pip install uv 或使用 Homebrew: bash brew install uv

  2. 检查 unixODBC 运行时环境: bash odbcinst -j odbcinst -q -s

  3. 配置 ODBC DSN(数据源名称): 编辑 ~/.odbc.ini 文件,示例配置: [VOS] Description = OpenLink Virtuoso Driver = /path/to/virtodbcu_r.so Database = Demo Address = localhost:1111 WideAsUTF16 = Yes

安装教程

  1. 克隆仓库: bash git clone https://github.com/OpenLinkSoftware/mcp-pyodbc-server.git cd mcp-pyodbc-server

  2. 更新环境变量: 编辑 .env 文件,配置以下变量: ODBC_DSN=VOS ODBC_USER=dba ODBC_PASSWORD=dba API_KEY=xxx

调试方式

  1. 安装 MCP Inspector: bash npm install -g @modelcontextprotocol/inspector

  2. 启动 Inspector: bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-pyodbc-server run mcp-pyodbc-server 访问提供的 URL 进行服务器交互的调试。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。