ODBC MCP Server

ODBC MCP Server

启用像 Claude Desktop 这样的大型语言模型工具,使其可以通过 ODBC 连接查询数据库,从而能够访问、分析数据库数据并从中生成洞见,同时通过只读保护措施来维护安全性。

Category
访问服务器

README

ODBC MCP 服务器

一个 MCP (模型上下文协议) 服务器,使像 Claude Desktop 这样的 LLM 工具能够通过 ODBC 连接查询数据库。此服务器允许 Claude 和其他 MCP 客户端访问、分析数据库数据并从中生成见解,同时保持安全性和只读保护。

特性

  • 连接到任何 ODBC 兼容的数据库
  • 支持多个数据库连接
  • 通过配置文件或 Claude Desktop 设置进行灵活配置
  • 只读保护以防止数据修改
  • 使用 UV 包管理器轻松安装
  • 详细的错误报告和日志记录

前提条件

  • Python 3.10 或更高版本
  • UV 包管理器
  • 安装在系统上的数据库的 ODBC 驱动程序
  • 对于 Sage 100 Advanced:ProvideX ODBC 驱动程序

安装

git clone https://github.com/tylerstoltz/mcp-odbc.git
cd mcp-odbc
uv venv
.venv\Scripts\activate # 在 Mac / Linux 上:source .venv/bin/activate (未经测试)
uv pip install -e .

配置

服务器可以通过以下方式配置:

  1. 专用配置文件
  2. 环境变量
  3. Claude Desktop 配置

常规配置设置

创建一个包含数据库连接详细信息的配置文件 (.ini):

[SERVER]
default_connection = my_database
max_rows = 1000
timeout = 30

[my_database]
dsn = MyDatabaseDSN
username = your_username
password = your_password
readonly = true

SQLite 配置

对于带有 ODBC 的 SQLite 数据库:

[SERVER]
default_connection = sqlite_db
max_rows = 1000
timeout = 30

[sqlite_db]
dsn = SQLite_DSN_Name
readonly = true

Sage 100 ProvideX 配置

ProvideX 需要特殊配置才能兼容。使用此最小配置以获得最佳效果:

[SERVER]
default_connection = sage100
max_rows = 1000
timeout = 60

[sage100]
dsn = YOUR_PROVIDEX_DSN
username = your_username
password = your_password
company = YOUR_COMPANY_CODE
readonly = true

ProvideX 的重要说明:

  • 使用最小配置 - 添加额外的参数可能会导致连接问题
  • 始终设置 readonly = true 以确保安全
  • company 参数是 Sage 100 连接所必需的
  • 避免在建立连接后更改连接属性

Claude Desktop 集成

要在 Claude Desktop 中配置服务器:

  1. 打开或创建 claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加 MCP 服务器配置:

{
  "mcpServers": {
    "odbc": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\mcp-odbc",
        "run",
        "odbc-mcp-server",
        "--config", 
        "C:\\path\\to\\mcp-odbc\\config\\your_config.ini"
      ]
    }
  }
}

用法

手动启动服务器

# 使用默认配置启动
odbc-mcp-server

# 使用特定的配置文件启动
odbc-mcp-server --config path/to/config.ini

与 Claude Desktop 一起使用

  1. 如上所示,在 Claude Desktop 的配置文件中配置服务器
  2. 重启 Claude Desktop
  3. ODBC 工具将自动出现在 MCP 工具列表中

可用的 MCP 工具

ODBC MCP 服务器提供以下工具:

  1. list-connections: 列出所有配置的数据库连接
  2. list-available-dsns: 列出系统上所有可用的 DSN
  3. test-connection: 测试数据库连接并返回信息
  4. list-tables: 列出数据库中的所有表
  5. get-table-schema: 获取表的模式信息
  6. execute-query: 执行 SQL 查询并返回结果

示例查询

在连接服务器后,在 Claude Desktop 中尝试以下提示:

  • "Show me all the tables in the database" (显示数据库中的所有表)
  • "What's the schema of the Customer table?" (Customer 表的模式是什么?)
  • "Run a query to get the first 10 customers" (运行查询以获取前 10 个客户)
  • "Find all orders placed in the last 30 days" (查找过去 30 天内的所有订单)
  • "Analyze the sales data by region and provide insights" (按地区分析销售数据并提供见解)

故障排除

连接问题

如果遇到连接问题:

  1. 验证您的 ODBC 驱动程序是否已正确安装
  2. 使用 ODBC 数据源管理器测试您的 DSN
  3. 检查配置文件中的连接参数
  4. 在 Claude Desktop 日志中查找详细的错误消息

ProvideX 特定问题

对于 Sage 100/ProvideX:

  1. 使用最小连接配置(DSN、用户名、密码、公司)
  2. 确保公司参数正确
  3. 使用特殊的 ProvideX 配置模板
  4. 如果遇到 Driver not capable 错误,请检查是否在连接时设置了自动提交

缺少表

如果表未显示:

  1. 验证数据库帐户的用户权限
  2. 检查公司代码是否正确(对于 Sage 100)
  3. 尝试使用完全限定的表名 (schema.table)

许可证

MIT 许可证 - 版权所有 (c) 2024

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选