Salesforce AI连接服务器

Salesforce MCP Server是一个连接AI助手与Salesforce组织的协议服务器,支持数据查询、记录管理和任务自动化等功能。

  • by anilchinna4529
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 anilchinna4529/SF-MCP-server

使用说明

Salesforce模型上下文协议(MCP)服务器

这 Salesforce MCP服务器 将高级AI助手(如Claude Desktop、Cline/Roo等VS Code插件或Agentforce)直接连接到您的Salesforce组织。

模型上下文协议(MCP)是一个开放标准,使AI模型能够作为系统的安全扩展。通过使用此服务器,您的AI助手可以安全地查询Salesforce数据,与标准和自定义对象交互,检查元数据,并执行管理或操作工作流——所有这些都受您定义的严格权限和访问策略的约束。


🚀 特性

  • 目标探索:描述对象、字段、元数据和关系。
  • 数据查询:直接从AI提示中安全地运行SOQL查询。
  • 记录管理:获取、汇总、创建和更新标准/自定义对象记录(例如,帐户、联系人、机会)。
  • 任务自动化:创建后续任务、记录呼叫或自动解决案例。
  • 严格的安全和护栏:包括对象/字段的分配列表,防止未经授权的写入或批量删除。

🛠️ 先决条件

在安装MCP服务器之前,请确保您已准备好以下内容:

  1. Node.js (v18或更高版本)安装在您的计算机上。
  2. A. Salesforce组织 (例如,开发人员版、沙盒或生产组织)。
  3. Salesforce OAuth/互联应用:您必须在Salesforce中创建Connected App才能检索访问令牌或配置OAuth流。

设置Salesforce互联应用程序

要验证MCP服务器,请创建一个已连接的应用程序:

  1. 首选 设置 > 应用程序管理器 > 新连接的应用程序.
  2. 启用OAuth设置。
  3. 添加以下范围 Manage user data via APIs (api) 和 Perform requests at any time (refresh_token, offline_access).
  4. 保存应用程序以获取您的 消费者密钥 和 消费者秘密.
  5. 使用OAuth流(例如,用户名密码或Web服务器流)获取有效的 ACCESS_TOKEN.

💻 安装

克隆存储库并安装依赖项以在本地运行此服务器。

# 1. Clone the repository
git clone https://github.com/your-username/salesforce-mcp-server.git
cd salesforce-mcp-server

# 2. Install dependencies
npm install

# 3. Build the server
npm run build

⚙️ 配置

创建一个 .env 项目根目录中的文件,以安全地提供您的Salesforce凭据并管理访问权限。

# /salesforce-mcp-server/.env

# Your Salesforce instance URL (e.g., your My Domain URL)
SALESFORCE_BASE_URL=https://yourCompany.my.salesforce.com

# API Version to use (e.g., v61.0)
SALESFORCE_API_VERSION=v61.0

# Your valid Session ID or OAuth Access Token
SALESFORCE_ACCESS_TOKEN=your_valid_access_token_here

# Comma-separated list of objects the AI is allowed to read/write
ALLOWED_OBJECTS=Account,Contact,Opportunity,Task,Case

# Set to true to allow the AI to perform Write and DML operations
ALLOW_WRITES=true

🤖 如何将其与您的AI助手一起使用

MCP服务器不作为独立的web应用程序运行;相反,它们被像这样的客户消费 克劳德桌面版.

连接到克劳德桌面

您可以将此服务器添加到您的Claude Desktop配置中,以便Claude可以在您的聊天过程中自动调用Salesforce工具。

  1. 打开您的Claude Desktop配置文件。
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加 salesforce 服务器到您的配置:
{
  "mcpServers": {
    "salesforce": {
      "command": "node",
      "args": [
        "C:/absolute/path/to/salesforce-mcp-server/dist/server.js"
      ],
      "env": {
        "SALESFORCE_BASE_URL": "https://yourInstance.my.salesforce.com",
        "SALESFORCE_API_VERSION": "v61.0",
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "ALLOWED_OBJECTS": "Account,Contact,Opportunity,Task,Case",
        "ALLOW_WRITES": "true"
      }
    }
  }
}
  1. 重新启动克劳德桌面。现在,您将在UI中看到与Salesforce的连接。

聊天中使用示例

连接后,您可以使用自然语言直接向AI助手提问:

  • “您能列出Opportunity对象上的字段吗?”
  • “运行SOQL查询,查找所有行业为‘技术’的账户。”
  • “总结最新的3个高优先级案例。”
  • 为联系人ID“003xxx”创建一个主题为“报价跟进”的跟进任务

🛡️ 安全最佳实践

当对Salesforce组织使用AI代理时,遵守最小特权原则至关重要:

  • 始终先在沙盒中进行测试 在连接您的生产组织之前。
  • 优化您允许的对象:保留 ALLOWED_OBJECTS 阵列尽可能小。使用它来限制AI更改关键的ERP或HR对象。
  • 控件写入:从以下内容开始 ALLOW_WRITES=false。仅当您信任目标组织中的验证步骤时,才打开写入。
  • 限制集成用户:其凭据生成的Salesforce用户 ACCESS_TOKEN 应具有极其受限的配置文件/权限集(字段级安全),以便AI无法在逻辑上访问敏感字段。