项目简介
这是一个基于 Model Context Protocol (MCP) 实现的服务器端应用,旨在将 Salesforce 组织的能力(数据访问、元数据管理、开发工具等)通过标准化的协议暴露给支持 MCP 的 LLM 客户端。
主要功能点
- 数据查询与搜索: 允许用户通过自然语言询问有关 Salesforce 数据记录的问题,执行跨对象的搜索。
- 数据结构探索: 支持查询 Salesforce 对象的可用字段和数据模型信息。
- 记录管理: 能够通过自然语言创建、更新和删除 Salesforce 记录。
- 开发与元数据管理: 提供访问和管理 Salesforce 开发环境的能力,例如查看 Apex 类、创建自定义对象、字段、Tab、Custom App 等元数据项目。
- API 访问: 允许连接到任何 Salesforce API 端点执行高级操作。
安装步骤
- 克隆仓库: 将项目代码从 GitHub 克隆到本地。
git clone https://github.com/salesforce-mcp/salesforce-mcp.git cd salesforce-mcp - 安装依赖: 使用 Python 包管理器安装所需的库(建议使用 'uv' 或 'pip' 配合虚拟环境)。
# 使用 uv (推荐) uv sync # 或 使用 pip pip install -r requirements.txt - 设置环境变量: 配置连接 Salesforce 组织所需的凭据。你需要设置以下环境变量:
- 'USERNAME': 你的 Salesforce 用户名。
- 'PASSWORD': 你的 Salesforce 密码。
- 'SECURITY_TOKEN': 你的 Salesforce 安全令牌(如果你的组织启用了)。
服务器配置 (MCP 客户端)
此 MCP 服务器需要通过 MCP 客户端(如支持 MCP 的 LLM 助手)启动和连接。在你的 MCP 客户端的配置文件中(例如 'claude_desktop_config.json' 或其他类似文件),你需要添加一个服务器配置条目。配置通常包含以下信息:
- 'server name': 为此服务器指定一个唯一的名称,例如 '"salesforce"'。
- 'command': 启动 MCP 服务器进程的命令。根据项目README,该命令通常是 'uvx' 或类似的工具,用于执行项目中的特定入口点,例如 '"uvx"'。
- 'args': 传递给启动命令的参数列表。根据项目README,参数可能包括指定入口模块或功能,例如 '["--from", "mcp-salesforce-connector", "salesforce"]'。
- 'env': 需要传递给服务器进程的环境变量。在此服务器中,你需要在此处提供 Salesforce 连接凭据,或者确保这些环境变量已在运行客户端的环境中设置。客户端配置中通常会包含 'USERNAME', 'PASSWORD', 'SECURITY_TOKEN' 的字段,你需要填入你的实际凭据。
基本使用方法
- 确保你已完成安装和环境变量设置。
- 在你的 MCP 客户端中配置此 Salesforce MCP 服务器(按照上述“服务器配置”部分)。
- 启动 MCP 客户端。客户端会自动尝试根据配置启动并连接到 Salesforce MCP 服务器。
- 连接成功后,你可以直接在 LLM 客户端的聊天界面中使用自然语言向 Salesforce MCP 服务器发送请求,例如提问、执行操作等。服务器会解析你的请求,调用相应的 Salesforce API 或执行元数据操作,并将结果通过 MCP 协议返回给 LLM 客户端显示。
信息
分类
商业系统