返回市场
连接云-MCP服务器

连接云-MCP服务器

作者:CDataSoftware2 星标更新:2025-09-26

项目介绍

🧠 CData Connect AI MCP Server

Node.js 版本 许可证 Docker CData Connect AI smithery 徽章

🚨 现在可以在 Connect AI 中使用 🚨

Connect AI(原 Connect Cloud)现在内置了一个远程 MCP 服务器(使用可流式传输的 HTTP 传输类型)。了解更多

此项目仍然允许通过 STDIO 传输类型进行本地安装/托管 MCP 服务器。


这是一个用于通过 CData Connect AI 查询和管理数据的 模型上下文协议 (MCP) 服务器。该服务器使 AI 代理能够使用 SQL、元数据内省和过程执行与数据交互。


✨ 功能

  • ✅ 在连接到云的数据源上执行 SQL 查询
  • 🔄 执行批处理操作(INSERT、UPDATE、DELETE)
  • ⚙️ 执行存储过程
  • 📚 访问元数据(目录、模式、表、列)

🛠 先决条件

  • Node.js v18 或更高版本
  • 带有 API 访问权限的 CData Connect Cloud 账户
  • 用于身份验证的 个人访问令牌 (PAT)

⚙️ 设置

通过 Smithery 安装

要通过 Smithery 自动安装 CData Connect AI MCP 服务器:

npx -y @smithery/cli install @CDataSoftware/connectcloud-mcp-server --client claude

手动安装

  1. 克隆仓库

    git clone https://github.com/cdatasoftware/connectcloud-mcp-server.git
    cd connect-cloud-mcp-server
    
  2. 安装依赖项

    npm install
    
  3. 配置环境变量

    创建一个包含以下内容的 .env 文件:

    CDATA_USERNAME=your_username
    CDATA_PAT=your_personal_access_token
    
    # 可选配置
    LOG_ENABLED=false
    LOG_LEVEL=info
    CDATA_URL=https://your-test-environment-url
    
    # 传输配置(默认:http)
    TRANSPORT_TYPE=http  # 或 'stdio' 用于终端使用
    PORT=3000           # HTTP 服务器端口
    HOST=localhost      # HTTP 服务器主机
    

▶️ 运行服务器

开发模式

使用 ts-node 进行实时开发:

npm run dev

生产模式

构建并启动:

npm run build
npm start

HTTP 传输端点

当使用 HTTP 传输(默认)运行时,服务器提供以下端点:

  • MCP 端点http://localhost:3000/mcp - 主要模型上下文协议端点
  • 直接端点http://localhost:3000/direct - 不带会话管理的直接 JSON-RPC 端点
  • 清单http://localhost:3000/.well-known/mc/manifest.json - MCP 发现清单

使用 STDIO 传输

要改用 STDIO 传输(用于终端/CLI 使用):

TRANSPORT_TYPE=stdio npm start

🔍 使用 MCP 检查器测试

MCP 检查器是一个视觉测试工具,提供了 Web UI 和 CLI 接口来测试 MCP 服务器。此项目完全支持检查器。

快速设置验证

运行设置验证脚本来确保所有配置正确:

npm run validate:inspector

这将检查您的配置并提供详细的设置说明。

使用检查器快速开始

  1. 全局安装检查器(可选但推荐):

    npm install -g @modelcontextprotocol/inspector
    
  2. 使用 Web UI 启动检查器

    npm run inspector
    

    这将打开一个 Web 界面,在那里您可以选择并测试不同的传输配置。

测试不同传输

STDIO 传输

# 使用 STDIO 传输启动检查器(自动启动服务器)
npm run inspector:stdio

HTTP 传输

# 首先启动服务器
npm run dev:http

# 然后在另一个终端中启动检查器
npm run inspector:http

命令行测试

# 使用 STDIO 传输快速 CLI 测试
npm run inspector:cli

# 直接测试特定方法
npm run test:inspector

检查器配置

该项目包括一个带有预配置服务器设置的 mcp-inspector.json 配置文件:

  • connectcloud-stdio:STDIO 传输,自动启动服务器
  • connectcloud-http:可流式传输的 HTTP 传输(需要手动启动服务器)

可用的检查器脚本

脚本描述
npm run inspector启动检查器 Web UI 并选择服务器
npm run inspector:stdio使用 STDIO 传输启动检查器
npm run inspector:http使用 HTTP 传输启动检查器
npm run inspector:cli使用 STDIO 传输的 CLI 模式
npm run test:inspector快速自动化测试

🧰 可用工具

🔹 数据操作

工具描述
queryData执行 SQL 查询
execData执行存储过程

🔹 元数据操作

工具描述
getCatalogs获取可用目录
getSchemas列出目录中的模式
getTables列出模式中的表
getColumns获取表的列元数据
getPrimaryKeys获取表的主键
getIndexes获取表的索引信息
getImportedKeys获取引用表的外键列
getExportedKeys获取被表引用的外键列
getProcedures列出可用的过程
getProcedureParameters获取过程的输入/输出参数

🤖 与 LLM 的使用

此服务器兼容实现模型上下文协议的 AI 代理。

示例(TypeScript + MCP 代理)

const response = await agent.generateContent({
  tools: [
    {
      name: "queryData",
      parameters: {
        query: "SELECT * FROM Salesforce1.Salesforce.Account LIMIT 10"
      }
    }
  ]
});

🐳 在 Docker 中运行

构建镜像

docker build -t mcp/connectcloud:latest -f Dockerfile .

🧩 与 Claude Desktop 集成

claude_desktop_config.jsonmcpServers 部分添加或编辑此配置:

🔹 来自 Docker

{
  "mcpServers": {
    "connect-cloud": {
      "command": "docker",
      "args": [
        "run", 
        "-i",
        "--rm",
        "--name", "connect-cloud-mcp",
        "-e", "CDATA_USERNAME",
        "-e", "CDATA_PAT",
        "mcp/connectcloud"
      ],
      "env": {
        "CDATA_USERNAME": "<your-cdata-username>",
        "CDATA_PAT": "<your-cdata-personal-access-token>"
      }
    }
  }
}

通过 Npx

{
  "mcpServers": {
    "connect-cloud": {
      "command": "npx",
      "args": [
        "-y",
        "@cdatasoftware/connectcloud-mcp-server"],
      "env": {
        "CDATA_USERNAME": "<your-cdata-username>",
        "CDATA_PAT": "<your-cdata-personal-access-token>"
      }
    }
  }
}

📄 许可证

此项目根据 MIT 许可证授权。