MCP Server ODBC via SQLAlchemy

MCP Server ODBC via SQLAlchemy

site icon
2025.04.04 0
Python数据库中间件数据访问数据库管理数据库
OpenLinkSoftware_mcp-sqlalchemy-server 是一个轻量级的 MCP(Model Context Protocol)服务器,专为 ODBC 设计,基于 FastAPI、pyodbc 和 SQLAlchemy 构建。该服务器兼容 Virtuoso DBMS 以及其他实现了 SQLAlchemy 提供程序的 DBMS 后端。其主要功能包括获取数据库模式、表信息、描述表结构、搜索表、执行存储过程和查询等。适用于需要与数据库进行交互的开发场景,特别是那些需要结构化数据访问和报告的应用。
View on GitHub

Overview

基本能力

产品定位

OpenLinkSoftware_mcp-sqlalchemy-server 是一个数据库中间件,旨在通过 MCP 协议提供对多种数据库的轻量级访问和管理能力。

核心功能

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

适用场景

  • 数据库管理和维护
  • 数据分析和报告生成
  • 数据库驱动的应用开发

工具列表

工具名称 描述
get_schemas 列出数据库管理系统(DBMS)可访问的所有模式。
get_tables 列出选定数据库模式中的表。
describe_table 提供指定数据库模式中表的描述,包括列名、数据类型、空值处理、自增、主键和外键等信息。
filter_table_names 基于输入字段中的子字符串模式列出选定数据库模式中的表。
query_database 执行 SQL 查询并以 JSONL 格式返回结果。
execute_query 执行 SQL 查询并以 JSONL 格式返回结果。
execute_query_md 执行 SQL 查询并以 Markdown 表格格式返回结果。
spasql_query 执行 SPASQL 查询并返回结果。
sparql_query 执行 SPARQL 查询并返回结果。
virtuoso_support_ai 与 Virtuoso 支持助手/代理交互,这是 Virtuoso 特有的功能,用于与 LLMs 交互。

常见问题解答

  1. 安装 MCP Inspectorbash npm install -g @modelcontextprotocol/inspector
  2. 启动 Inspectorbash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server

使用教程

使用依赖

  1. 安装 uvbash pip install uv 或使用 Homebrew: bash brew install uv
  2. 检查 unixODBC 运行时环境
  3. 检查安装配置:odbcinst -j
  4. 列出可用数据源名称:odbcinst -q -s
  5. 配置 ODBC DSN:在 ~/.odbc.ini 中配置目标数据库的 ODBC 数据源名称。

安装教程

  1. 克隆仓库bash git clone https://github.com/OpenLinkSoftware/mcp-sqlalchemy-server.git cd mcp-sqlalchemy-server
  2. 配置环境变量:更新 .env 文件以匹配您的偏好。

调试方式

  1. 安装 MCP Inspectorbash npm install -g @modelcontextprotocol/inspector
  2. 启动 Inspectorbash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server

许可证

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