
MCP Server ODBC via SQLAlchemy

Overview
基本能力
产品定位
mcp-sqlalchemy-server 是一个轻量级的 MCP 服务器,专注于通过 SQLAlchemy 提供 ODBC 连接功能,支持多种数据库操作和查询。
核心功能
- 获取模式(Schemas):从连接的数据库中获取并列出所有模式名称。
- 获取表(Tables):检索特定模式或所有模式中的表信息。
- 描述表(Describe Table):生成表的详细描述,包括列名、数据类型、可为空属性、主键和外键。
- 搜索表(Search Tables):基于名称子字符串过滤和检索表。
- 执行存储过程(Execute Stored Procedures):在 Virtuoso 中执行存储过程并检索结果。
- 执行查询(Execute Queries):
- JSONL 结果格式:优化结构化响应。
- Markdown 表格格式:适合报告和可视化。
适用场景
- 数据库管理和查询
- 数据库模式和数据表的结构分析
- 数据库查询结果的格式化和可视化
- Virtuoso DBMS 的特定功能(如 SPARQL 查询)
工具列表
工具名称 | 描述 |
---|---|
podbc_get_schemas | 列出数据库管理系统可访问的所有模式名称。 |
podbc_get_tables | 列出指定模式中的表信息。 |
podbc_describe_table | 提供指定表的详细描述,包括列名、数据类型等。 |
podbc_filter_table_names | 基于子字符串模式过滤并列出表信息。 |
podbc_query_database | 执行 SQL 查询并返回 JSON 格式结果。 |
podbc_execute_query | 执行 SQL 查询并返回 JSONL 格式结果。 |
podbc_execute_query_md | 执行 SQL 查询并返回 Markdown 表格格式结果。 |
podbc_spasql_query | 执行 SPASQL 查询并返回结果(Virtuoso 特定功能)。 |
podbc_sparql_query | 执行 SPARQL 查询并返回结果(Virtuoso 特定功能)。 |
podbc_virtuoso_support_ai | 与 Virtuoso 支持助手交互(Virtuoso 特定功能)。 |
常见问题解答
-
如何安装 MCP Inspector 进行故障排除?
bash npm install -g @modelcontextprotocol/inspector
-
如何启动 MCP 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 运行时环境
bash odbcinst -j odbcinst -q -s
-
配置 ODBC DSN 在
~/.odbc.ini
中配置 ODBC 数据源名称(DSN)。例如 Virtuoso DBMS:[VOS] Description = OpenLink Virtuoso Driver = /path/to/virtodbcu_r.so Database = Demo Address = localhost:1111 WideAsUTF16 = Yes
-
SQLAlchemy URL 绑定 使用以下格式:
virtuoso+pyodbc://user:password@VOS
安装教程
-
克隆仓库
bash git clone https://github.com/OpenLinkSoftware/mcp-sqlalchemy-server.git cd mcp-sqlalchemy-server
-
配置环境变量 更新
.env
文件以匹配您的偏好:ODBC_DSN=VOS ODBC_USER=dba ODBC_PASSWORD=dba API_KEY=xxx
调试方式
-
安装 MCP Inspector
bash npm install -g @modelcontextprotocol/inspector
-
启动 MCP Inspector
bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server
-
访问提供的 URL 进行服务器交互故障排除