Salesforce MCP

Salesforce MCP

🚀 Salesforce MCP 服务器

Salesforce MCP 服务器是一款借助自然语言处理(NLP)技术,实现与 Salesforce 数据交互的工具。它提供了智能对象搜索、架构信息检索、数据查询等一系列实用功能,能有效提升与 Salesforce 数据交互的效率。

🚀 快速开始

要使用 Salesforce MCP 服务器,需先满足以下先决条件,再根据自身需求选择合适的安装与配置方式。

先决条件

  • 安装 Python 3.6 或更高版本。
  • 安装并配置 Docker(用于运行容器化环境)。
  • 获取 Salesforce 开发者沙盒或生产环境的访问权限。
  • 熟悉 Salesforce 的 API 和 SOQL 查询语法。

安装与配置

使用 Docker 运行

  1. 下载并安装 Docker:https://www.docker.com/get-started
  2. 克隆项目仓库:
    git clone https://github.com/your-username/salesforce-mcp-server.git
    
  3. 进入项目目录:
    cd salesforce-mcp-server
    
  4. 启动 Docker 容器:
    docker-compose up --build
    
  5. 访问 MCP 服务器控制台,默认端口为 5000。

在 VS Code 中配置

  1. 打开 VS Code 并安装以下扩展:
    • Python
    • Docker
  2. 将项目文件夹添加到 VS Code 的工作区中。
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 启动服务器:
    python server.py
    

✨ 主要特性

  • 智能对象搜索:查找与特定主题相关的 Salesforce 对象。
  • 架构信息检索:获取 Salesforce 对象的字段、关系及约束。
  • 数据查询:执行 SOQL 查询以检索符合条件的数据记录。
  • 字段类型筛选:按数据类型筛选 Salesforce 对象中的字段。
  • 下拉列表值获取:提取 Salesforce 下拉字段的所有可能值。
  • 调试日志管理:启用、禁用或检索特定用户的调试日志。
  • 验证规则查看:了解 Salesforce 对象上的所有验证规则。

💻 使用示例

基础用法

搜索对象

# 搜索与 Account 相关的对象
search_objects("Account")

# 显示处理客户关系的对象
search_objects("Customer Service")

# 列出订单管理可用的对象
search_objects("Order Management")

获取架构信息

# 获取 Account 对象的字段
describe_object("Account")

# 展示 Case 状态的下拉值
describe_picklist_values("Case", "Status")

# 查看 Opportunity 的关系字段
describe_relationship_fields("Opportunity")

查询记录

# 检索本月创建的所有 Account 记录
query_records("Account", ["Id", "Name", "Industry"],
where="createdDate >= LAST_N_DAYS:30",
limit=10)

# 显示高优先级的 Case 及其相关 Contact
query_records("Case", ["Id", "Subject", "Priority", "ContactId"],
where="Priority = 'High'",
fields=["Account.Name"])

按类型筛选字段

# 列出 Lead 对象上的所有下拉字段
get_fields_by_type("Lead", "Picklist")

# 获取 Opportunity 上的所有引用字段
get_fields_by_type("Opportunity", "Lookup")

# 查找 Account 对象上所有必填字段
get_fields_by_type("Account", "Required")

管理调试日志

# 启用特定用户的调试日志
manage_debug_logs(action="enable", user_id="user@example.com")

# 检索管理员用户的最近日志
manage_debug_logs(action="retrieve", user_id="admin@company.com")

# 禁用指定用户的所有日志记录
manage_debug_logs(action="disable", user_id="developer@organization.com")

获取验证规则

# 展示 Opportunity 对象上的所有验证规则
get_validation_rules("Opportunity")

# 了解 Account 对象的约束条件
get_validation_rules("Account")

# 列出自定义对象的所有验证规则
get_validation_rules("Custom_Object__c")

📚 详细文档

开发指南

项目结构

salesforce-mcp-server/
├── server.py                 # 主服务器文件
├── config.py                # 配置管理模块
├── routes/                  # 路由定义和处理函数
│   ├── objects.py          # 对象相关路由
│   └── queries.py          # 查询相关路由
└── utils/                  # 工具函数库
├── decorators.py       # 请求处理装饰器
├── auth.py            # 认证模块
└── db_connection.py   # 数据库连接池管理

开发步骤

  1. 安装依赖
    pip install -r requirements.txt
    
  2. 配置环境变量: 在 .env 文件中添加以下内容:
    SALESFORCE_USERNAME=your_username@example.com
    SALESFORCE_PASSWORD=your_password
    SALESFORCE_SECURITY_TOKEN=your_token
    
  3. 启动开发服务器
    python server.py --mode debug
    
  4. 编写自定义路由: 在 routes/ 目录下添加新的 Python 文件,继承自 BaseRoute 类。
  5. 调试与测试: 使用 VS Code 的调试功能或在终端中运行单元测试:
    pytest tests/
    

贡献指南

欢迎社区贡献!请遵循以下步骤:

  1. ** Fork 项目仓库**
  2. ** 创建新的分支**:git checkout -b feature/your-feature-name
  3. ** 提交更改**:git add . && git commit -m '你的提交信息'
  4. ** 推送到远程仓库**:git push origin feature/your-feature-name
  5. ** 提交 Pull Request**

📄 许可证

本项目遵循 MIT 许可证。查看 LICENSE 文件获取详细信息。

📞 联系方式

如有任何问题,请通过以下方式联系:

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-10-04 15:33

相似服务问题

相关AI产品