
MCP Server ODBC via SQLAlchemy

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 交互。 |
常见问题解答
- 安装 MCP Inspector:
bash npm install -g @modelcontextprotocol/inspector
- 启动 Inspector:
bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server
使用教程
使用依赖
- 安装 uv:
bash pip install uv
或使用 Homebrew:bash brew install uv
- 检查 unixODBC 运行时环境:
- 检查安装配置:
odbcinst -j
- 列出可用数据源名称:
odbcinst -q -s
- 配置 ODBC DSN:在
~/.odbc.ini
中配置目标数据库的 ODBC 数据源名称。
安装教程
- 克隆仓库:
bash git clone https://github.com/OpenLinkSoftware/mcp-sqlalchemy-server.git cd mcp-sqlalchemy-server
- 配置环境变量:更新
.env
文件以匹配您的偏好。
调试方式
- 安装 MCP Inspector:
bash npm install -g @modelcontextprotocol/inspector
- 启动 Inspector:
bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server