Introduction

Introduction

镜子 (jìng zi)

MCP-Mirror

开发者工具
访问服务器

README

简介

本文档介绍了用于模型上下文协议 (MCP) 的通用 ODBC 服务器(称为 mcp-odbc 服务器)的设置和使用。它的开发目的是为大型语言模型提供通过为特定 ODBC 连接器(或驱动程序)配置的数据源名称透明地访问 ODBC 可访问数据源的能力。

mcp-client-and-servers|648x499

服务器实现

此用于 ODBC 的 MCP 服务器是一个构建在 node-odbc 之上的小型 TypeScript 层。它通过 node.js(特别是使用 'npx' 进行 TypeScript)将调用路由到主机系统的本地 ODBC 驱动程序管理器。

运行环境设置和先决条件

虽然以下示例面向 Virtuoso ODBC 连接器,但本指南也适用于其他 ODBC 连接器。我们强烈鼓励代码贡献和与此项目集成相关的其他数据库管理系统的使用演示提交。

关键系统组件

  1. 检查 node.js 版本;如果不是 21.1.0,请升级或使用以下命令显式安装:nvm install v21.1.0
  2. 使用以下命令安装 MCP 组件:npm install @modelcontextprotocol/sdk zod tsx odbc dotenv
  3. 使用以下命令设置 nvm 版本:nvm alias default 21.1.0

安装

  1. 运行 git clone https://github.com/OpenLinkSoftware/mcp-odbc-server.git
  2. 更改目录 cd mcp-odbc-server
  3. 运行 npm init -y
  4. 将条目 "type":"module" 添加到 package.json 文件
  5. 运行 npm install @modelcontextprotocol/sdk zod tsx odbc dotenv

unixODBC 运行时环境检查

  1. 通过运行以下命令检查安装配置(即,关键 INI 文件的位置):odbcinst -j
  2. 通过运行以下命令列出可用的数据源名称:odbcinst -q -s

环境变量

作为良好的安全实践,您应该使用与 mcp-ser 位于同一目录中的 .env 文件来设置目标大型语言模型 API 密钥(如果您想通过 ODBC 使用 OpenLink AI Layer (OPAL))、ODBC 数据源名称 (ODBC_DSN)、用户 (ODBC_USER)、密码 (ODBC_PWD) 和 ODBC INI (ODBCINI) 的绑定。

API_KEY=sk-xxx
ODBC_DSN=Local Virtuoso
ODBC_USER=dba
ODBC_PASSWORD=dba
ODBCINI=/Library/ODBC/odbc.ini 

用法

工具

成功安装后,以下工具将可供 MCP 客户端应用程序使用。

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

基本安装测试和故障排除

  1. 使用以下命令从 mcp-server 目录/文件夹启动检查器:
    ODBCINI=/Library/ODBC/odbc.ini npx -y @modelcontextprotocol/inspector npx tsx ./src/main.ts 
    
  2. 单击“连接”按钮,然后单击“工具”选项卡以开始使用。

MCP Inspector

MCP 应用程序用法

Claude Desktop 配置

此配置文件的路径为:~{username}/Library/Application Support/Claude/claude_desktop_config.json

{
    "mcpServers": {
        "ODBC": {
            "command": "/path/to/.nvm/versions/node/v21.1.0/bin/node",
            "args": [
                "/path/to/tsx",
                "/path/to/mcp-odbc-server/src/main.ts"
            ],
            "env": {
                "ODBCINI": "/Library/ODBC/odbc.ini",
                "NODE_VERSION": "v21.1.0",
                "PATH": "~/.nvm/versions/node/v21.1.0/bin:${PATH}"
            },
            "disabled": false,
            "autoApprove": []
        }
    }
}

Claude Desktop 用法

  1. 启动应用程序
  2. 通过“设置 | 开发者用户界面”应用配置(如上所示)
  3. 确保您具有到数据源名称 (DSN) 的有效 ODBC 连接
  4. 提出请求执行查询的提示,例如,Execute the following query: SELECT TOP * from Demo..Customers

Claude Desktop

Cline (Visual Studio Extension) 配置

此配置文件的路径为:~{username}/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

{
  "mcpServers": {
    "ODBC": {
      "command": "/path/to/.nvm/versions/node/v21.1.0/bin/node",
      "args": [
        "/path/to/mcp-odbc-server/node_modules/.bin/tsx",
        "/path/to/mcp-odbc-server/src/main.ts"
      ],
      "env": {
        "ODBCINI": "/Library/ODBC/odbc.ini",
        "NODE_VERSION": "v21.1.0",
        "PATH": "/path/to/.nvm/versions/node/v21.1.0/bin:${PATH}"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Cline (Visual Studio Extension) 用法

  1. 使用 Shift+Command+P 打开命令面板
  2. 键入:Cline
  3. 选择:Cline View,这将在 VSCode 侧边栏中打开 Cline UI
  4. 使用四个方块的图标访问用于安装和配置 MCP 服务器的 UI
  5. 应用 Cline Config(如上所示)
  6. 返回到扩展的主 UI 并启动一个新任务,请求处理以下提示:“Execute the following query: SELECT TOP 5 * from Demo..Customers”

Cline Extension

Cursor 配置

使用设置齿轮打开配置菜单,其中包括用于注册和配置 mcp servers 的 MCP 菜单项。

Cursor 用法

  1. 使用 Command or Control + I 键组合打开聊天界面
  2. 从 UI 左下角的下拉列表中选择 Agent,因为默认值为 Ask
  3. 输入您的提示,使用以下模式限定使用 mcp-server for odbc@odbc {rest-of-prompt}
  4. 单击“接受”以执行提示。

Cursor Editor

相关

推荐服务器

Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript