MCP Server ODBC via PyODBC

MCP Server ODBC via PyODBC

site icon
2025.04.21 0
Python数据库管理数据库查询数据库
OpenLinkSoftware_mcp-pyodbc-server 是一个轻量级的 MCP(Model Context Protocol)服务器,专为 ODBC 设计,基于 FastAPI 和 pyodbc 构建。该服务器兼容 Virtuoso DBMS 以及其他支持 ODBC 驱动的数据库管理系统后端。
View on GitHub

Overview

基本能力

产品定位

OpenLinkSoftware_mcp-pyodbc-server 是一个轻量级的 MCP(Model Context Protocol)服务器,专为 ODBC 设计,基于 FastAPI 和 pyodbc 构建。该服务器兼容 Virtuoso DBMS 以及其他支持 ODBC 驱动的数据库管理系统后端。

核心功能

  • 获取模式:从连接的数据库中获取并列出所有模式名称。
  • 获取表:检索特定模式或所有模式的表信息。
  • 描述表:生成表结构的详细描述,包括列名、数据类型、可为空属性、主键和外键。
  • 搜索表:基于名称子字符串过滤和检索表。
  • 执行存储过程:在 Virtuoso 的情况下,执行存储过程并检索结果。
  • 执行查询
  • JSONL 结果格式:优化结构化响应。
  • Markdown 表格格式:适合报告和可视化。

适用场景

  • 数据库管理和查询
  • 数据库模式探索和表结构分析
  • 数据库查询结果的格式化和可视化

工具列表

工具名称 描述
podbc_get_schemas 列出数据库管理系统可访问的所有模式名称。
podbc_get_tables 列出与选定数据库模式关联的表。
podbc_describe_table 提供与指定数据库模式关联的表的描述。
podbc_filter_table_names 基于子字符串模式列出与选定数据库模式关联的表。
podbc_query_database 执行 SQL 查询并以 JSONL 格式返回结果。
podbc_execute_query 执行 SQL 查询并以 JSONL 格式返回结果。
podbc_execute_query_md 执行 SQL 查询并以 Markdown 表格格式返回结果。
podbc_spasql_query 执行 SPASQL 查询并返回结果。
podbc_sparql_query 执行 SPARQL 查询并返回结果。
podbc_virtuoso_support_ai 与 Virtuoso 支持助手/代理交互。

常见问题解答

  1. 安装问题:确保已安装 uv 和 unixODBC 运行时环境。
  2. 配置问题:检查 ODBC DSN 设置是否正确。
  3. 调试问题:使用 MCP Inspector 进行服务器交互调试。

使用教程

使用依赖

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

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

  3. 列出可用的数据源名称: bash odbcinst -q -s

  4. 配置 ODBC DSN: 在 ~/.odbc.ini 中配置目标数据库的 ODBC 数据源名称。

安装教程

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

  2. 更新环境变量: 在 .env 文件中覆盖默认值以匹配您的偏好。

调试方式

  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 了解完整条款。