项目简介
'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 摘要及嵌入向量,以支持高效的语义搜索功能。
安装步骤
-
克隆仓库: 打开终端,执行以下命令克隆项目代码。'--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' 来初始化和更新子模块。
-
安装依赖: 进入项目目录后,运行以下命令安装所有必要的项目依赖。
npm i -
配置环境变量: 项目运行时需要数据库连接信息和 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 服务。请替换为您的实际凭证。
基本使用方法
- 确保服务器就绪: 完成上述安装和服务器配置步骤,并确保您的 '.env' 文件已正确填写。
- 启动 MCP 客户端: 启动您的 MCP 客户端应用程序(例如 Claude Desktop)。客户端会根据您提供的配置自动连接到 'tiger-salesforce' 服务器。
- LLM 交互: 一旦连接成功,MCP 客户端会将此服务器提供的工具暴露给您的 LLM。您可以在与 LLM 的对话中,直接提问关于 Salesforce 案例的问题,例如:
- “查找关于数据库连接问题的 Salesforce 案例摘要。”
- “给我案例 ID 为 '500Nv000005HMfaIAG' 的案例摘要。” LLM 将能够理解这些请求,并自动调用 'tiger-salesforce' 服务器提供的工具来获取所需信息,然后以自然语言的形式返回给您。
信息
分类
商业系统