使用说明
Salesforce MCP服务器
一个全面的模型上下文协议(MCP)服务器,为Claude Desktop、Cline和其他MCP兼容客户端等AI开发工具提供无缝的Salesforce集成。
🚀 特性
17综合工具
🔍 查询和搜索工具
execute-soql-使用自动批量切换和分页执行SOQL查询execute-sosl-具有结果聚合的多对象搜索describe-sobject-具有智能缓存的对象元数据
⚡ Apex开发工具
execute-apex-匿名执行Apex并捕获调试日志run-apex-tests-带覆盖率报告的Apex测试执行get-apex-logs-使用筛选调试日志检索
📊 数据管理工具
create-record-通过自动批量切换创建单/批量记录get-record-带字段选择的记录检索update-record-带验证的单/批量记录更新delete-record-删除单个/批量记录upsert-record-基于外部ID的追加销售操作
🔧 元数据工具(基于组件)
list-metadata-types-发现元数据类型deploy-metadata-从文件或JSON部署单个元数据组件(例如ApexClass、CustomObject)deploy-bundle-从目录路径部署元数据包(例如LWC)retrieve-metadata-检索单个元数据组件,并可选择保存到文件check-deploy-status-检查部署的状态
🔗 连接工具
test-connection-连接验证和健康监测
关键能力
- 🔄 自动批量切换 -智能选择API以实现最佳性能
- 🔐 双重身份验证 -OAuth2和用户名/密码支持
- ⚡ 智能缓存 -SObject元数据的1小时TTL
- 🛡️ 类型安全 -带有运行时验证的完整TypeScript实现
- 📝 综合录井 -详细的调试和监控
- 🔍 原始错误暴露 -保留Salesforce的精确错误以供调试
🚀 安装
要与桌面APP(如Claude Desktop、Cline、Cursor等)一起使用,请在下面添加MCP服务器配置。
在macOS/Linux系统上:
Username/Password Authentication
{
"mcp.servers": {
"salesforce": {
"command": "npx",
"args": [
"-y",
"@jjar/salesforce-mcp-server"
],
"env": {
"SF_USERNAME": "your-username@company.com",
"SF_PASSWORD": "your-password",
"SF_SECURITY_TOKEN": "",
"SF_LOGIN_URL": "https://login.salesforce.com"
},
"disabled": false,
"alwaysAllow": [
"test-connection",
"execute-soql",
"describe-sobject",
"get-record",
"get-apex-logs",
"list-metadata-types"
]
}
}
}
OAuth 2.0 Authentication
{
"mcp.servers": {
"salesforce": {
"command": "npx",
"args": [
"-y",
"@jjar/salesforce-mcp-server"
],
"env": {
"SF_CLIENT_ID": "your-oauth2-client-id",
"SF_CLIENT_SECRET": "your-oauth2-client-secret",
"SF_REFRESH_TOKEN": "your-refresh-token",
"SF_INSTANCE_URL": "https://yourorg.my.salesforce.com"
},
"disabled": false,
"alwaysAllow": [
"test-connection",
"execute-soql",
"describe-sobject",
"get-record",
"get-apex-logs",
"list-metadata-types"
]
}
}
}
在Windows系统上:
Username/Password Authentication
{
"mcp.servers": {
"salesforce": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@jjar/salesforce-mcp-server"
],
"env": {
"SF_USERNAME": "your-username@company.com",
"SF_PASSWORD": "your-password",
"SF_SECURITY_TOKEN": "",
"SF_LOGIN_URL": "https://login.salesforce.com"
},
"disabled": false,
"alwaysAllow": [
"test-connection",
"execute-soql",
"describe-sobject",
"get-record",
"get-apex-logs",
"list-metadata-types"
]
}
}
}
OAuth 2.0 Authentication
{
"mcp.servers": {
"salesforce": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@jjar/salesforce-mcp-server"
],
"env": {
"SF_CLIENT_ID": "your-oauth2-client-id",
"SF_CLIENT_SECRET": "your-oauth2-client-secret",
"SF_REFRESH_TOKEN": "your-refresh-token",
"SF_INSTANCE_URL": "https://yourorg.my.salesforce.com"
},
"disabled": false,
"alwaysAllow": [
"test-connection",
"execute-soql",
"describe-sobject",
"get-record",
"get-apex-logs",
"list-metadata-types"
]
}
}
}
配置文件位置
Claude Desktop
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Cline (VS Code)
- 视窗:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
⚠️ 重要:添加或修改MCP服务器配置后,必须重新启动VS Code才能使更改生效。
Cursor
- 视窗:
%USERPROFILE%\.cursor\mcp.json - macOS:
~/.cursor/mcp.json - Linux:
~/.cursor/mcp.json
工具安全等级
✅ 汽车认证安全(alwaysAllow)
test-connection-连接验证(只读)execute-soql-SOQL查询(只读)describe-sobject-元数据检查(只读)get-record-单记录检索(只读)get-apex-logs-调试日志访问(只读)list-metadata-types-元数据类型发现(只读)
⚠️ 需要手动批准
create-record,update-record,delete-record,upsert-record-数据修改deploy-metadata-元数据部署execute-apex,run-apex-tests-代码执行execute-sosl-搜索操作(可能需要大量资源)retrieve-metadata-元数据检索(可能很大)
认证
用户名/密码验证
- 从Salesforce安装程序获取安全令牌→ 个人信息→ 重置安全令牌(仅当您的IP不受信任时才需要)
- 按照配置部分所示设置环境变量
- 使用
https://login.salesforce.com用于生产或https://test.salesforce.com用于沙盒
💡 安全令牌:仅当Salesforce需要您的连接时才添加安全令牌。如果不离开
SF_SECURITY_TOKEN空的。
OAuth2身份验证
- 在Salesforce设置中创建连接应用程序
- 配置OAuth设置并获取客户端凭据
- 使用OAuth2流生成刷新令牌
- 按照配置部分所示设置环境变量
🏗️ 建筑
核心组件
- 认证管理器 -双OAuth2/用户名密码支持
- 连接管理器 -带有健康监测的Singleton模式
- 工具类 -按功能(查询、Apex、数据、元数据)组织
- 错误处理程序 -带上下文的全面错误格式化
- 缓存管理器 -基于TTL的缓存用于性能优化
性能特点
- 自动批量切换 -大型操作自动使用批量API
- 智能高速缓存 -SObject元数据缓存1小时
- 连接重用 -跨所有操作的单一连接
- 轮询优化 -高效监控长时间运行的操作
🧪 测试
# Test individual tools
node tests/test-query-tools.js
node tests/test-data-tools.js
node tests/test-apex-tools.js
node tests/test-metadata-tools.js
🤝 贡献
- 复刻仓库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
🔗 相关项目
👨💻 作者
雅罗斯瓦夫·贾沃斯基
🤖 开发信贷
该实现的一部分是在Claude Sonnet 4的帮助下使用Cline VS Code扩展开发的,展示了人工智能辅助开发在创建全面的开发工具方面的强大功能。
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
