返回市场
轻量销售力服务器

轻量销售力服务器

作者:luvl2 星标更新:2025-07-05

项目介绍

mcp-salesforce-lite

一个简单且轻量级的Salesforce MCP服务器,用于连接AI助手与Salesforce数据。适用于原型设计和小型项目。

PyPI版本 Python版本 MIT许可证 GitHub Stars

📦 从PyPI安装: pip install mcp-salesforce-lite

🔗 PyPI包: https://pypi.org/project/mcp-salesforce-lite/

📚 GitHub仓库: https://github.com/luvl/mcp-salesforce-lite

演示

在Claude Desktop中查看MCP Salesforce Lite服务器的实际操作:

Salesforce MCP演示

演示展示了Claude Desktop如何使用MCP服务器与Salesforce数据进行交互——查询对象、检索记录以及执行CRUD操作。

概览

此MCP(模型上下文协议)服务器为像Claude这样的AI助手提供了安全访问Salesforce数据和操作的方式。它实现了MCP标准,以实现AI应用程序与Salesforce CRM之间的无缝集成。

特性

  • 🔐 通过OAuth 2.0进行安全的Salesforce身份验证
  • 📊 访问Salesforce对象(账户、联系人、机会等)
  • 🔍 执行SOQL查询
  • 📝 对Salesforce记录执行CRUD操作
  • 🛡️ 内置的安全性和速率限制
  • 🚀 简单的设置和配置

快速使用

# 安装包
pip install mcp-salesforce-lite

# 与Claude Desktop一起使用(推荐)
uvx --from mcp-salesforce-lite mcp-salesforce-lite

# 或直接运行
mcp-salesforce-lite

兼容: Claude Desktop,任何兼容MCP的AI助手

使用Claude Desktop快速开始

生产使用(推荐)

最简单的使用方法是从PyPI直接安装并使用Claude Desktop进行配置。

第一步:配置Claude Desktop

在您的Claude Desktop设置文件中添加以下配置:

配置文件位置:

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

配置:

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "uvx",
      "args": [
        "--from",
        "mcp-salesforce-lite",
        "mcp-salesforce-lite"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

第二步:设置Salesforce凭证

替换配置中的环境变量:

  • SALESFORCE_ACCESS_TOKEN: 您的Salesforce访问令牌
  • SALESFORCE_INSTANCE_URL: 您的Salesforce实例URL(例如,https://yourcompany.my.salesforce.com

第三步:重启Claude Desktop

保存配置后,重启Claude Desktop。您应该能看到锤子图标,表示工具可用。

第四步:测试集成

尝试询问Claude:

  • "列出可用的Salesforce对象"
  • "描述账户对象"
  • "执行SOQL查询以获取最近的潜在客户"

先决条件

  • Python 3.10或更高版本
  • Salesforce开发者/生产组织
  • 在Salesforce中配置的已连接应用

开发设置

如果您想修改或为此MCP服务器做出贡献,请遵循这些开发设置说明。

安装

方案1:使用uv(推荐用于开发)

# 如果尚未安装uv,请先安装
brew install uv  # macOS
# 或
curl -LsSf https://astral.sh/uv/install.sh | sh  # Linux/macOS

# 克隆并安装服务器
git clone https://github.com/luvl/mcp-salesforce-lite.git
cd mcp-salesforce-lite
uv sync

方案2:使用Poetry

git clone https://github.com/luvl/mcp-salesforce-lite.git
cd mcp-salesforce-lite
poetry install

Salesforce开发设置

在项目根目录创建一个.env文件:

SALESFORCE_ACCESS_TOKEN=your_access_token
SALESFORCE_INSTANCE_URL=your_instance_url

使用

开发模式

首先确保您的Salesforce凭证已在.env文件中配置好。

方法1:直接Python执行

# 直接运行服务器
python src/mcp_salesforce_lite/server.py

方法2:使用Poetry

# 使用Poetry运行
poetry run python src/mcp_salesforce_lite/server.py

方法3:使用UV(推荐)

# 使用UV运行
uv run python src/mcp_salesforce_lite/server.py

使用MCP Inspector测试

如果您已经安装了MCP CLI,可以测试您的服务器:

# 使用MCP Inspector测试
mcp inspector

# 或在开发模式下运行
mcp dev src/mcp_salesforce_lite/server.py

如何作为Pip包发布服务器

该服务器可以通过包含的pyproject.toml配置,打包并通过PyPI分发。

可用工具

服务器提供以下工具供AI助手使用:

查询工具

  • soql_query: 执行SOQL查询(必须定义模式以仔细确认UPDATE和DELETE操作)
  • search_records: 跨多个对象搜索记录,带有限制和分页
  • get_record: 根据ID检索特定记录,带有限制和分页

CRUD操作

  • create_record: 创建新记录(确保首先描述对象,并找到对象的引用字段)
  • update_record: 更新现有记录
  • delete_record: 删除记录

元数据工具

  • describe_object_definition: 获取对象元数据和字段信息,带有分页
  • list_avail_objects: 列出可用的Salesforce对象,带有限制和分页

开发Claude Desktop集成

如果您正在从源代码开发或运行服务器,可以使用以下替代配置:

💡 提示: 示例配置文件位于examples/目录中:

  • examples/claude_config_direct.json - 直接Python执行
  • examples/claude_config_poetry.json - Poetry执行
  • examples/claude_config_uv.json - UV执行(推荐)

方案1:直接Python执行

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/TO/mcp-salesforce-lite/src/mcp_salesforce_lite/server.py"],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

方案2:Poetry执行

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "poetry",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-salesforce-lite",
        "run",
        "python",
        "src/mcp_salesforce_lite/server.py"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

方案3:UV执行(推荐用于开发)

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-salesforce-lite",
        "run",
        "python",
        "src/mcp_salesforce_lite/server.py"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

项目结构

mcp-salesforce-lite/
├── src/
│   └── mcp_salesforce_lite/
│       ├── __init__.py
│       ├── server.py          # 主MCP服务器
│       ├── client.py          # Salesforce客户端封装
│       ├── config.py          # 配置管理
│       └── tools/
│           ├── __init__.py
│           ├── query.py       # SOQL查询工具
│           ├── crud.py        # 创建、读取、更新、删除工具
│           └── metadata.py    # 对象元数据工具
├── examples/
│   ├── basic_usage.py
│   └── claude_config.json
├── assets/
│   └── sf-demo.gif           # 展示使用的演示GIF
├── .env.example
├── pyproject.toml
├── poetry.lock
└── uv.lock

发布

先决条件

  1. 注册PyPI生产账号: 前往 https://pypi.org/account/register/
  2. 启用两步验证: 在账户设置中设置两步验证
  3. 创建API令牌: 前往 https://pypi.org/manage/account/token/ 并创建一个令牌
  4. 更新.pypirc: 将pypi-YOUR_PRODUCTION_TOKEN_FROM_PYPI_ORG_HERE替换为您实际的令牌

发布流程

  1. 首先在TestPyPI上测试
# 构建包
uv build
# 或:poetry build

# 上传到TestPyPI
twine upload --repository testpypi --config-file .pypirc dist/*

# 从TestPyPI测试安装
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mcp-salesforce-lite
  1. 发布到生产PyPI
# 上传到生产PyPI
twine upload --repository pypi --config-file .pypirc dist/*

# 从生产PyPI测试安装
pip install mcp-salesforce-lite

版本管理

要发布新版本:

  1. 更新pyproject.toml中的版本
  2. 重新构建:uv buildpoetry build
  3. 上传:twine upload --repository pypi --config-file .pypirc dist/*