项目简介

'tiger-salesforce-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专注于集成 Salesforce 数据库中的支持案例信息。它通过暴露标准化工具(Tools)接口,使大型语言模型(LLM)客户端能够方便地访问和利用这些案例数据,例如进行语义搜索或获取特定案例的详细摘要,从而辅助LLM理解和解决用户问题。

主要功能点

  • Salesforce案例语义搜索: 允许LLM根据自然语言查询,对Salesforce支持案例的摘要进行语义搜索,找到最相关的案例。这有助于LLM快速定位相似问题及解决方案。
  • 获取Salesforce案例摘要: 提供一个工具,让LLM能够通过案例ID,直接获取特定Salesforce支持案例的详细摘要内容,方便LLM深入了解具体案例。
  • 数据整合: 该服务器通过 Fivetran 连接从 Salesforce 同步原始数据到 TimescaleDB 数据库,并在此基础上生成 LLM 摘要及嵌入向量,以支持高效的语义搜索功能。

安装步骤

  1. 克隆仓库: 打开终端,执行以下命令克隆项目代码。'--recurse-submodules' 标志会同时下载项目依赖的子模块。

    git clone --recurse-submodules [email protected]:timescale/tiger-salesforce-mcp-server.git
    cd tiger-salesforce-mcp-server

    如果您不小心忘记了 '--recurse-submodules' 标志,可以进入项目目录后执行 'git submodule update --init --recursive' 来初始化和更新子模块。

  2. 安装依赖: 进入项目目录后,运行以下命令安装所有必要的项目依赖。

    npm i
  3. 配置环境变量: 项目运行时需要数据库连接信息和 OpenAI API 密钥。首先,复制项目根目录下的 '.env.sample' 文件并重命名为 '.env'。

    cp .env.sample .env

    然后,使用文本编辑器打开 '.env' 文件,并根据您的实际情况填写以下环境变量:

    • 'PGHOST': 您的 TimescaleDB 或 PostgreSQL 数据库主机地址。
    • 'PGDATABASE': 要连接的数据库名称。
    • 'PGPORT': 数据库服务的端口号。
    • 'PGUSER': 连接数据库的用户名。
    • 'PGPASSWORD': 连接数据库的密码。
    • 'OPENAI_API_KEY': 您的 OpenAI API 密钥,用于生成文本嵌入。
    • 'SALESFORCE_DOMAIN': (可选) 您的 Salesforce 域名,如果提供,服务器将生成案例的直接链接。

服务器配置

MCP 客户端(例如 Claude Desktop)需要配置 MCP 服务器的启动信息才能建立连接。请将以下 JSON 配置添加到您的 MCP 客户端的设置中(例如,对于 Claude Desktop,您可以编辑 '~/Library/Application Support/Claude/claude_desktop_config.json' 文件):

{
  "mcpServers": {
    "tiger-salesforce": {
      "command": "node",
      "args": [
        "/绝对/路径/到/tiger-salesforce-mcp-server/dist/index.js",
        "stdio"
      ],
      "env": {
        "PGHOST": "x.y.tsdb.cloud.timescale.com", // 请替换为您的数据库主机地址
        "PGDATABASE": "tsdb",                     // 请替换为您的数据库名称
        "PGPORT": "32467",                        // 请替换为您的数据库端口号
        "PGUSER": "readonly_mcp_user",            // 请替换为您的数据库用户名
        "PGPASSWORD": "abc123",                    // 请替换为您的数据库密码
        "OPENAI_API_KEY": "sk-svcacct"            // 请替换为您的OpenAI API密钥
      }
    }
  }
}

配置说明:

  • '"tiger-salesforce"': 这是您为 MCP 服务器定义的名称,MCP 客户端会使用此名称来识别和连接服务器。
  • '"command": "node"': 指定用于启动服务器的可执行程序。在这里是 Node.js 运行时。
  • '"args": [...]': 这是一个字符串数组,包含传递给 'command' 的参数。
    • 第一个参数 '"/绝对/路径/到/tiger-salesforce-mcp-server/dist/index.js"': 请务必将其替换为您本地克隆的 'tiger-salesforce-mcp-server' 项目中 'dist/index.js' 文件的绝对路径。
    • 第二个参数 '"stdio"':指定服务器和客户端之间通过标准输入输出(Stdio)进行通信。
  • '"env": {...}': 这是一个包含键值对的对象,用于为 MCP 服务器进程设置环境变量。这些变量会覆盖或补充系统已有的环境变量,确保服务器能正确连接数据库和使用 OpenAI 服务。请替换为您的实际凭证。

基本使用方法

  1. 确保服务器就绪: 完成上述安装和服务器配置步骤,并确保您的 '.env' 文件已正确填写。
  2. 启动 MCP 客户端: 启动您的 MCP 客户端应用程序(例如 Claude Desktop)。客户端会根据您提供的配置自动连接到 'tiger-salesforce' 服务器。
  3. LLM 交互: 一旦连接成功,MCP 客户端会将此服务器提供的工具暴露给您的 LLM。您可以在与 LLM 的对话中,直接提问关于 Salesforce 案例的问题,例如:
    • “查找关于数据库连接问题的 Salesforce 案例摘要。”
    • “给我案例 ID 为 '500Nv000005HMfaIAG' 的案例摘要。” LLM 将能够理解这些请求,并自动调用 'tiger-salesforce' 服务器提供的工具来获取所需信息,然后以自然语言的形式返回给您。

信息

分类

商业系统