Agentforce连接器
该MCP服务器提供了与Salesforce Agentforce API交互的工具,允许进行身份验证、会话创建以及与Salesforce代理的消息交换。
服务介绍
Agentforce MCP Server
此MCP服务器提供了与Salesforce Agentforce API交互的工具。它允许进行身份验证、会话创建以及与Agentforce代理的消息交换。
克隆后开始使用
如果您刚刚克隆了此仓库,可以使用交互式设置脚本来快速配置并运行服务器:
chmod +x setup.sh
./setup.sh
设置脚本将执行以下操作:
- 检查您的Python版本
- 安装所需的依赖项
- 引导您输入您的Salesforce凭据
- 测试您到Salesforce的连接
- 提供启动服务器的选项
- 提供配置Claude Desktop的说明
或者,您可以按照以下手动步骤操作:
-
安装依赖项:
pip install -r requirements.txt -
设置环境变量:
cp .env.example .env -
收集您的Salesforce凭据:
- SALESFORCE_ORG_ID:您的18位Salesforce组织ID
- SALESFORCE_AGENT_ID:来自您的Agentforce代理的18位代理ID
- SALESFORCE_CLIENT_ID:来自您的已连接应用程序的消费者密钥
- SALESFORCE_CLIENT_SECRET:来自您的已连接应用程序的消费者密钥
- SALESFORCE_SERVER_URL:不带https://前缀的您的Salesforce My Domain URL
-
用收集到的凭据编辑您的.env文件:
SALESFORCE_ORG_ID="00D5f000000J2PKEA0" SALESFORCE_AGENT_ID="0XxHn000000x9F1KAI" SALESFORCE_CLIENT_ID="3MVG9OGq41FnYVsFgnaG0AzJDWnoy37Bb18e0R.GgDJu2qB9sqppVl7ehWmJhGvPSLrrA0cBNhDJdsbZXnv52" SALESFORCE_CLIENT_SECRET="210117AC36E9E4C8AFCA02FF062B8A677BACBFFB71D2BB1162D60D316382FADE" SALESFORCE_SERVER_URL="example.my.salesforce.com"(注意:这些是虚构的示例值。请替换为您的实际凭据。)
-
使服务器脚本可执行:
chmod +x agentforce_mcp_server.py -
运行服务器:
python agentforce_mcp_server.py
有关查找您的Salesforce凭据的详细说明,请参阅下面的设置Salesforce部分。
设置
-
确保您已安装Python 3.10或更高版本。
-
安装所需依赖项:
pip install -r requirements.txt -
使服务器脚本可执行:
chmod +x agentforce_mcp_server.py
配置
服务器使用环境变量进行配置。这些变量从.env文件中加载。
-
复制示例环境文件以创建您自己的环境文件:
cp .env.example .env -
编辑
.env文件并填写您的值:SALESFORCE_ORG_ID="your_org_id_here" SALESFORCE_AGENT_ID="your_agent_id_here" # 您在 Salesforce 中找到的 18 位代理 ID SALESFORCE_CLIENT_ID="your_client_id_here" # 您的连接应用中的消费者密钥 SALESFORCE_CLIENT_SECRET="your_client_secret_here" # 您的连接应用中的消费者密钥 SALESFORCE_SERVER_URL="your_server_url_here" # 您的 My Domain URL(例如 example.my.salesforce.com)
Salesforce 配置
要使用 Agentforce API,您需要:
- 在您的 Salesforce 组织中创建一个连接的应用
- 找到您的 Agentforce 代理 ID
- 记录您的 Salesforce My Domain URL
有关这些步骤的详细说明,请参阅下面的 设置 Salesforce 部分。
运行服务器
使用以下命令运行服务器:
python agentforce_mcp_server.py
可用工具
MCP 服务器提供了以下工具:
1. authenticate
使用客户端电子邮件与 Agentforce API 进行身份验证。
参数:
client_email: 用于身份验证的客户端电子邮件
2. create_agent_session
与配置的 Agentforce 代理创建会话。
参数:
client_email: 已认证客户端的电子邮件
3. send_message_to_agent
向 Agentforce 代理发送消息并返回响应。
参数:
client_email: 已认证客户端的电子邮件message: 要发送给代理的消息
4. get_session_status
获取当前会话的状态,包括身份验证状态、会话 ID 和序列 ID。
参数:
client_email: 已认证客户端的电子邮件
5. complete_agentforce_conversation
方便的方法,处理整个流程 - 身份验证、会话创建和消息发送。
参数:
client_email: 用于身份验证的客户端电子邮件user_query: 要发送给代理的消息
与 Claude for Desktop 一起使用
要将此服务器与 Claude for Desktop 一起使用,请更新您的 claude_desktop_config.json 文件:
{
"mcpServers": {
"agentforce": {
"command": "python",
"args": [
"/path/to/your/agentforce_mcp_server.py"
]
}
}
}
将路径替换为您机器上服务器脚本的绝对路径。
按平台的路径位置
macOS
- 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json - 示例路径:
/Users/yourusername/Projects/agentforce-mcp-server/agentforce_mcp_server.py
Windows
- 配置文件:
%APPDATA%\Claude\claude_desktop_config.json - 示例路径:
C:\Users\yourusername\Projects\agentforce-mcp-server\agentforce_mcp_server.py
设置 Salesforce
创建连接的应用
要使用 Agentforce API,您需要在您的 Salesforce 组织中创建一个连接的应用:
- 以管理员身份登录到您的 Salesforce 组织
- 转到 设置
- 在快速查找框中,搜索“App Manager”并点击它
- 点击 新建连接的应用 按钮
- 填写基本信息:
- 连接的应用名称:Agentforce MCP 集成(或您喜欢的任何名称)
- API 名称:Agentforce_MCP_Integration(这将自动填充)
- 联系人电子邮件:您的电子邮件地址
- 勾选 启用 OAuth 设置
- 将 回调 URL 设置为
https://localhost/oauth/callback(这不会被使用但需要填写) - 在 选择的 OAuth 范围 下,添加:
- 通过 API 管理用户数据 (api)
- 随时执行请求 (refresh_token, offline_access)
- 点击 保存
- 保存后,您将被重定向到连接应用的详细信息页面
- 记下 消费者密钥(这是您的客户端 ID),然后点击 单击显示 旁边的 消费者密码 来获取您的客户端密码
查找您的代理 ID
要找到您的 Agentforce 代理 ID:
- 登录到您的 Salesforce 组织
- 导航到 Einstein 代理构建器
- 选择您要使用的代理
- 查看浏览器中的 URL - 它将以如下格式包含代理 ID:
https://your-salesforce-instance.lightning.force.com/lightning/r/Agent__c/0XxXXXXXXXXXXXXX/view - 代理 ID 是 URL 中的 18 个字符 ID (
0XxXXXXXXXXXXXXX)
查找您的 Salesforce My Domain URL
要找到您的 Salesforce My Domain URL:
- 登录到您的 Salesforce 组织
- 转到 设置
- 在快速查找框中,搜索“我的域”并点击它
- 您会看到格式为
DOMAIN-NAME.my.salesforce.com的域名 - 在 .env 文件中使用此 URL 时去掉 "https://" 前缀
查找您的组织 ID
要找到您的 Salesforce 组织 ID:
- 登录到您的 Salesforce 组织
- 转到 设置
- 在快速查找框中,搜索“公司信息”并点击它
- 查找“组织 ID”字段 - 这是您的 Salesforce 组织 ID
- 它将是一个 15 或 18 位的字母数字字符串
注意事项
- 服务器自动管理消息交换的序列 ID
- 为每个客户端电子邮件维护认证和会话状态
- 所有 API 交互都记录下来以便调试
故障排除
如果遇到问题:
- 认证失败:验证您的连接应用设置,并确保客户端 ID 和密钥正确
- 会话创建错误:检查您的代理 ID 并确保它是 18 个字符版本
- 连接问题:验证您的 Salesforce My Domain URL 是否正确(不带 "https://" 前缀)
- 权限错误:确保您的连接应用启用了正确的 OAuth 范围
测试设置
您可以使用随附的测试脚本来测试您的设置:
python test_agentforce.py
这将尝试进行认证、创建会话并与您的 Agentforce 代理交换消息。
贡献与 GitHub 推送
此仓库包括一个有用的脚本,简化了将更改推送到 GitHub 的过程:
chmod +x github_push.sh
./github_push.sh
github_push.sh 脚本将执行以下操作:
- 检查系统上是否安装了 git
- 确认像
.env这样的敏感文件不会被推送(它们在.gitignore中) - 提示你输入 GitHub 仓库的 URL
- 如果需要的话,初始化一个 git 仓库,或者更新远程仓库的 URL
- 添加所有文件并显示供你审查
- 使用描述性信息提交更改
- 将更改推送到 GitHub
这使得分享你的自定义设置或为项目做贡献变得简单,同时确保敏感信息的安全。