MCP服务器代理
此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:来自您的代理的18个字符的代理ID - SALESFORCE_CLIENT_ID:您连接的应用程序中的消费者密钥 - SALESFORCE_CLIENT_SECRET:来自互联应用的消费者秘密 - SALESFORCE_SERVER_URL:不带https://前缀的Salesforce我的域名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" # The 18-character Agent ID you found in Salesforce
SALESFORCE_CLIENT_ID="your_client_id_here" # The Consumer Key from your Connected App
SALESFORCE_CLIENT_SECRET="your_client_secret_here" # The Consumer Secret from your Connected App
SALESFORCE_SERVER_URL="your_server_url_here" # Your My Domain URL (e.g., example.my.salesforce.com)Salesforce配置
要使用Agentforce API,您需要:
- 在Salesforce组织中创建互联应用程序
- 查找您的代理ID
- 记下您的Salesforce我的域名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
视窗
- 配置文件:
%APPDATA%\Claude\claude_desktop_config.json - 示例路径:
C:\Users\yourusername\Projects\agentforce-mcp-server\agentforce_mcp_server.py
设置Salesforce
创建互联应用
要使用Agentforce API,您需要在Salesforce组织中创建一个Connected应用程序:
- 以管理员身份登录您的Salesforce组织
- 首选 设置
- 在“快速查找”框中,搜索“App Manager”并单击它
- 点击 新连接的应用程序 按钮
- 填写基本信息:
- 已连接的应用程序名称:MCP集成代理(或您喜欢的任何名称) - API名称:代理_MCP_整合(将自动填写) - 联系邮箱:您的电子邮件地址
- 检查 启用OAuth设置
- 设置 回调URL 向
https://localhost/oauth/callback(这不是使用的,而是必需的) - 在...之下 选定的OAuth作用域,添加:
- 通过api(api)管理用户数据 - 随时执行请求(refresh_token、offline_access)
- 点击 保存
- 保存后,您将被重定向到已连接应用程序详细信息页面
- 注意 消费者密钥 (这是您的客户ID),然后单击 单击以显示 旁边 消费者秘密 获取客户的秘密
查找您的代理ID
要查找您的代理ID:
- 登录您的Salesforce组织
- 引导到 爱因斯坦代理生成器
- 选择要使用的代理
- 查看浏览器中的URL,它将包含以下格式的代理ID:
https://your-salesforce-instance.lightning.force.com/lightning/r/Agent__c/0XxXXXXXXXXXXXXX/view - 代理ID是18个字符的ID(
0XxXXXXXXXXXXXXX)在URL中
查找您的Salesforce我的域名URL
要查找您的Salesforce我的域名URL:
- 登录您的Salesforce组织
- 首选 设置
- 在“快速查找”框中,搜索“我的域名”并单击它
- 您将看到以下格式的域名
DOMAIN-NAME.my.salesforce.com - 在.env文件中使用不带“https://”前缀的URL
查找您的组织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
这使得共享您的自定义设置或为项目做出贡献变得容易,同时确保敏感信息的安全。
