这是一个将Claude/VS Code与Salesforce集成的MCP(模型上下文协议)服务器实现,使您能够使用自然语言与Salesforce的数据和元数据进行交互。此服务器允许Claude/Github Copilot使用日常语言查询、修改和管理您的Salesforce对象和记录。
docker pull suraj20028/salesforce-mcp-server
启用连接应用的客户端凭据流。在API(启用OAuth设置)下,选择启用客户端凭据流。 在管理连接应用下选择执行用户。
对于手动安装,需在VS Code的用户设置(JSON)文件中添加以下JSON块。可以通过按Ctrl + Shift + P(或macOS上的Cmd + Shift + P)并键入首选项:打开用户设置(JSON)来完成此操作。
可选地,您可以将其添加到工作区中的名为.vscode/mcp.json的文件中。这将允许您与其他人员共享配置。
注意:在
.vscode/mcp.json文件中不需要mcp键。
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "client_id",
"description": "Salesforce客户端ID",
"password": false
},
{
"type": "promptString",
"id": "client_secret",
"description": "Salesforce客户端密钥",
"password": false
},
{
"type": "promptString",
"id": "username",
"description": "Salesforce用户名",
"password": false
},
{
"type": "promptString",
"id": "password",
"description": "Salesforce密码",
"password": false
},
{
"type": "promptString",
"id": "domain_url",
"description": "Salesforce域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服务器工具的信息,请参阅此处。
| 工具名称 | 描述 | 参数 |
|---|---|---|
| search_objects | 通过部分名称匹配搜索标准和自定义对象 | query: 对象名称的搜索字符串 |
| describe_object | 获取Salesforce对象的详细模式信息 | objectName: 对象的API名称 |
| describe_object_with_api | 使用直接REST API调用获取扩展的对象元数据 | objectName: 对象的API名称, raw: (可选)返回原始JSON |
| describe_relationship_fields | 探索对象之间的父子关系 | objectName: 对象的API名称 |
| query_records | 支持关系和过滤器的记录查询 | 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: (可选)调试日志级别 |
"查找所有与账户相关的对象"
"显示处理客户服务的对象"
"哪些对象可用于订单管理?"
"Account对象有哪些可用字段?"
"显示Case状态的下拉列表值"
"描述Opportunity的关系字段"
"获取本月创建的所有账户"
"显示高优先级案例及其相关联系人"
"查找所有超过$100k的机会"
"显示Lead对象上的所有下拉列表字段"
"获取Opportunity上的所有引用字段"
"查找Account上的所有必填字段"
"Lead状态可能有哪些值?"
"显示Accounts的所有行业选项"
"列出所有Case优先级值"
"显示Account对象的所有关系"
"哪些对象与Opportunity相关?"
"描述Contact的父-子关系"
"为user@example.com启用调试日志"
"检索管理员用户的最近日志"
"禁用特定用户的调试日志"
"为用户配置DEBUG级别的日志"
"显示Opportunity上的所有验证规则"
"获取Account验证规则的详细信息"
"自定义对象存在哪些验证规则?"
salesforce-mcp-server/
├── server.py # MCP服务器实现
├── sf_connection.py # Salesforce身份验证
├── tools/
│ ├── __init__.py # 工具包初始化
│ ├── search_objects.py # 对象搜索功能
│ ├── describe_object.py # 对象模式检索
│ ├── query_records.py # SOQL查询功能
│ └── ... # 其他工具模块
tools目录中创建一个新的Python文件欢迎贡献!请随意提交Pull Request。
本项目根据MIT许可证发布 - 请参阅LICENSE文件以获取详细信息。
如果您遇到任何问题或需要支持,请在GitHub存储库上提交一个Issue。