使用说明
Salesforce MCP服务器
MCP(模型上下文协议)服务器实现,将Claude/VS Code与Salesforce集成,实现与Salesforce数据和元数据的自然语言交互。此服务器允许Claude/Github Copilot使用日常语言查询、修改和管理Salesforce对象和记录。
特性
- 智能对象搜索:使用部分名称匹配查找Salesforce对象
- 详细架构信息:获取任何对象的全面字段和关系详细信息
- 灵活的数据查询:使用关系支持和复杂筛选器查询记录
- 选择列表值检索:获取任意选择列表字段的所有值
- 字段类型筛选:跨对象查找特定类型的字段
- 关系探索:分析对象之间的父子关系
- 增强的API元数据:通过直接API调用访问完整的对象元数据
- 调试日志管理:为Salesforce用户配置和检索调试日志
- 验证规则管理:获取有关对象验证规则的详细信息
先决条件
- 要在容器中运行服务器,您需要 码头工人 安装。
- 安装Docker后,您还需要确保Docker正在运行。
- 拉取图像 suraj20028/salesforce mcp服务器 从docker hub使用以下命令:
docker pull suraj20028/salesforce-mcp-server - 您需要Salesforce OAuth2凭据:
- 对于OAuth 2.0客户端凭据流:客户端ID、客户端密钥和实例URL
- 由于此项目将使用OAuth2-auth方法,请确保完成以下操作:
为您连接的应用程序启用客户端凭据流。在API(启用OAuth设置)下,选择启用客户端凭据流。 为下的流选择执行用户 管理已连接的应用程序
安装
使用VS代码
对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P (或 Cmd + Shift + P 在macOS上)和键入 Preferences: Open User Settings (JSON).
您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
请注意
mcp中不需要密钥.vscode/mcp.json文件。
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "client_id",
"description": "Salesforce Client ID",
"password": false
},
{
"type": "promptString",
"id": "client_secret",
"description": "Salesforce Client Secret",
"password": false
},
{
"type": "promptString",
"id": "username",
"description": "Salesforce Username",
"password": false
},
{
"type": "promptString",
"id": "password",
"description": "Salesforce Password",
"password": false
},
{
"type": "promptString",
"id": "domain_url",
"description": "Salesforce Domain URL <https://yourdomain.my.salesforce.com> ",
"password": false
}
],
"servers": {
"salesforce": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "SALESFORCE_CLIENT_ID",
"-e", "SALESFORCE_CLIENT_SECRET",
"-e", "SALESFORCE_USERNAME",
"-e", "SALESFORCE_PASSWORD",
"-e", "SALESFORCE_DOMAIN_URL",
"suraj20028/salesforce-mcp-server"
],
"env": {
"SALESFORCE_CLIENT_ID": "${input:client_id}",
"SALESFORCE_CLIENT_SECRET": "${input:client_secret}",
"SALESFORCE_USERNAME": "${input:username}",
"SALESFORCE_PASSWORD": "${input:password}",
"SALESFORCE_DOMAIN_URL": "${input:domain_url}",
}
}
}
}
更多关于在VS Code中使用MCP服务器工具的信息 代理模式文档.
工具
| 工具名称 | 描述 | 参数 |
|---|---|---|
| 搜索对象 | 按部分名称匹配搜索标准和自定义对象 | query:对象名称的搜索字符串 |
| describe_object | 获取Salesforce对象的详细架构信息 | objectName:对象的API名称 |
| 用api描述对象 | 使用直接REST API调用获取扩展对象元数据 | objectName:对象的API名称, raw:(可选)返回原始JSON |
| 描述关系字段 | 探索对象之间的父子关系 | objectName:对象的API名称 |
| 查询记录 | 查询支持关系和过滤器的记录 | object:要查询的对象, fields:要返回的字段, where:(可选)WHERE条件, limit:(可选)要返回的记录数 |
| get_fields_by_type | 在对象中查找特定数据类型的字段 | objectName:对象的API名称, fieldType:要筛选的数据类型 |
| get_picklist_values | 检索选择列表字段的所有值 | objectName:对象的API名称, fieldName:选择列表字段名称 |
| get_validation_rules | 获取对象验证规则的详细信息 | objectName:对象的API名称 |
| manage_debug_logs | 为用户配置和检索调试日志 | action:要执行的操作(启用、禁用、检索), userId:用户ID, logLevel:(可选)调试日志级别 |
示例用法
搜索对象
"Find all objects related to Accounts"
"Show me objects that handle customer service"
"What objects are available for order management?"
获取架构信息
"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
"Describe the relationship fields in Opportunity"
查询记录
"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
"Find all Opportunities over $100k"
按类型处理字段
"Show me all picklist fields on the Lead object"
"Get all reference fields on Opportunity"
"Find all required fields on Account"
获取选择列表值
"What are the possible values for Lead Status?"
"Show me all Industry options for Accounts"
"List all Case Priority values"
探索关系
"Show me all relationships for the Account object"
"What objects are related to Opportunity?"
"Describe the parent-child relations for Contact"
管理调试日志
"Enable debug logs for user@example.com"
"Retrieve recent logs for an admin user"
"Disable debug logs for a specific user"
"Configure log level to DEBUG for a user"
检查验证规则
"Show me all validation rules on Opportunity"
"Get details about Account validation rules"
"What validation rules exist for custom objects?"
发展
项目结构
salesforce-mcp-server/
├── server.py # MCP server implementation
├── sf_connection.py # Salesforce authentication
├── tools/
│ ├── __init__.py # Tools package initialization
│ ├── search_objects.py # Object search functionality
│ ├── describe_object.py # Object schema retrieval
│ ├── query_records.py # SOQL query functionality
│ └── ... # Other tool modules
添加新工具
- 在中创建一个新的Python文件
tools目录 - 使用适当的文档字符串和错误处理来实现您的函数
- 在MCP服务器中导入并注册该功能
贡献
欢迎投稿!请随时提交Pull Request。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
问题和支持
如果您遇到任何问题或需要支持,请在GitHub存储库上提交问题。
