资讯详情

Cursor 插件接入 Salesforce Hosted MCP:SOQL/SOSL 查询、记录 CRUD 与 OAuth 配置完整指南

📅 2026/9/17 7:41:12 | 华诺云谱 👁 阅读
Cursor 插件接入 Salesforce Hosted MCP:SOQL/SOSL 查询、记录 CRUD 与 OAuth 配置完整指南
Cursor 插件接入 Salesforce Hosted MCPSOQL/SOSL 查询、记录 CRUD 与 OAuth 配置完整指南【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins本篇指南以 Cursor 官方插件仓库中的 Salesforce 插件third_party/salesforce/README.md为蓝本完整讲解如何让 Cursor 中的 Agent 通过 Salesforce 官方托管的 Model Context ProtocolHosted MCP服务连接你的 Salesforce 组织运行 SOQL 与 SOSL 查询、查看对象 Schema、遍历关系、创建/更新/删除记录并且全部操作都在当前登录用户的权限与字段级安全FLS约束下执行。读完本文你将掌握从 External Client App 创建、OAuth Scope 配置、MCP 服务器激活到插件变量填写的端到端实操方法并理解每一步背后的原理与常见故障的排除思路。插件能做什么Agent 与 Salesforce 之间的官方 MCP 桥梁Salesforce 插件是 Cursor 官方插件市场.cursor-plugin/marketplace.json中的第三方集成插件市场条目将其定位为 Query, create, and update records in your org.。它把 Agent 连接到 Salesforce 的第一方 Hosted MCP 服务Salesforce Hosted MCP而不是社区维护的自建 MCP 桥接层因此在安全模型、令牌签发和权限继承上都有官方保障。通过该插件Agent 可以获得以下核心能力运行SOQLSalesforce Object Query Language与SOSLSalesforce Object Search Language查询检视对象 Schema字段、类型、必填性等元数据遍历对象关系lookup / master-detail 等关联对记录执行**创建create、更新update、删除delete**操作。关键的安全特性是所有这些工具调用都在已登录用户的自身权限和字段级安全FLS下执行。也就是说插件不会绕过组织内的 Profile / Permission Set 与 FLS 配置Agent 能看见什么、能改什么与用户在 Salesforce 中被授予的权限严格一致。这一点在后面团队市场的配置小节中会再次体现。快速安装两种方式安装 Salesforce 插件有两种等效途径打开Cursor Settings → Plugins搜索Salesforce点击Install安装完成后需要设置服务器 URLserver URL和Consumer Key具体取值方法见后文并完成 Salesforce 登录授权流程。或者在聊天框中直接运行斜杠命令/add-plugin salesforce命令方式会直接触发插件的安装流程之后同样进入 URL / Consumer Key 配置与登录环节。理解插件的 MCP 配置HTTP 传输 OAuth插件通过 MCP 的HTTP 传输方式type: http连接 Salesforce Hosted MCP 服务器。仓库中插件的实际 MCP 配置见 third_party/salesforce/mcp.json内容如下{ mcpServers: { salesforce: { type: http, url: ${SALESFORCE_MCP_URL}, auth: { CLIENT_ID: ${CLIENT_ID}, scopes: [mcp_api, refresh_token] } } } }配置要点逐项拆解配置项含义取值说明type传输协议固定为http走 MCP over HTTP含 OAuth 授权urlMCP 服务器地址由插件变量SALESFORCE_MCP_URL注入即你在 Setup 中激活的 MCP 服务器的Server URLauth.CLIENT_IDOAuth 客户端标识由插件变量CLIENT_ID注入即你在 Salesforce 中创建的External Client App 的 Consumer Keyauth.scopesOAuth 授权范围固定为mcp_api访问 Hosted MCP 服务器与refresh_token离线刷新令牌两个 scope注意URL 与 CLIENT_ID 都通过${变量}占位符引用而不是硬编码。这正是 Cursor 插件清单manifest中variables插件变量机制的体现——参考 schemas/plugin.schema.json 中对variables字段的定义插件通过声明变量让每个组织可以填入属于自己的服务器地址和客户端标识。插件的变更记录 third_party/salesforce/CHANGELOG.md 也明确写到1.0.0 版本DeclaredSALESFORCE_MCP_URLandCLIENT_IDplugin variables so each org can point at its own server and External Client App并Pinned OAuth scopes tomcp_apiandrefresh_token——即 scope 是刻意收紧固定而非开放可选的。前置准备创建 External Client AppSalesforce Hosted MCP 的 OAuth 授权要求使用External Client App外部客户端应用。这一点与常规做法不同Connected Apps 不被支持请务必在 Setup 中走 External Client App 的创建路径。第 1 步新建 External Client App 并启用 OAuth在 Setup 中进入External Client App Manager → New External Client App填写基本信息后展开API (Enable OAuth Settings)区块并勾选Enable OAuth。随后需要添加回调 URLCallback URL。Cursor 在不同界面形态下使用不同的回调地址所以凡是可能用到的都要添加齐全界面形态回调 URL桌面端Desktophttp://localhost:8787/callbackWeb 与 Cloud Agentshttps://www.cursor.com/agents/mcp/oauth/callback较旧版本的桌面构建cursor://anysphere.cursor-mcp/oauth/callback回调地址缺失是 OAuth 失败的最常见原因之一授权服务器会把授权码回调到注册的地址如果 Cursor 实际使用的回调地址未注册登录流程会中断。第 2 步选择 OAuth Scopes务必精确不要更宽在OAuth Scopes下只选择恰好这两个 scope不要选择任何更宽的范围Access Salesforce hosted MCP servers值mcp_apiPerform requests at any time值refresh_token等价别名offline_access这里有两点实操提醒第二个 scope 很容易漏选因为scope 选择器是按描述文本而不是按值value显示的你需要在列表中仔细辨认 Perform requests at any time。缺少它插件将无法刷新令牌refresh每个用户都得在访问令牌过期后重新认证一次。不要添加Full access值full——Hosted MCP 并不需要它选择它是典型的最小权限原则违背。第 3 步配置 Security 选项决定令牌类型在Security区块下选择Issue JSON Web Token (JWT)-based access tokens for named users。这一步是强制要求如果不启用Salesforce 会签发不透明令牌opaque token结果是每一次工具调用都会失败并报错JWT Token is required。其余安全选项的正确姿态Leave Require Secret for Web Server Flow offCursor 以公开客户端public client身份使用PKCE完成授权整个过程不涉及 client secret因此无需开启该选项。不要启用 JWT Bearer Flow这是另一个不同的功能需要证书certificate与本插件场景无关。第 4 步复制 Consumer Key 并耐心等待传播创建完成后从Settings → Consumer Key and Secret中复制Consumer Key稍后填入插件配置。需要注意传播延迟新建的 External Client App 最长可能需要 30 分钟才会在组织中完全生效。在生效前认证会以invalid_client_id失败。遇到该报错时请耐心等待而不要反复重建应用重建只会重置传播计时。激活 MCP 服务器并选择爆炸半径在 Setup 中打开MCP Servers激活你想要使用的服务器然后复制它的Server URL。这个 URL 同时编码了组织类型生产 vs 沙箱和服务器种类标准 vs 自定义组织类型标准服务器Standard自定义服务器CustomProduction / Developer / Enterprisehttps://api.salesforce.com/platform/mcp/v1/platform/sobject-allhttps://api.salesforce.com/platform/mcp/v1/custom/myserverSandbox 或 scratch orghttps://api.salesforce.com/platform/mcp/v1/sandbox/platform/sobject-allhttps://api.salesforce.com/platform/mcp/v1/sandbox/custom/myserver注意两条规律沙箱 / scratch org 的 URL 含/sandbox/路径段。URL 中的组织类型必须与你实际登录的 org 匹配否则会出现认证成功但服务器 404的怪象见故障排查表。自定义服务器的最后一段myserver是你自定义服务器在 Setup 中的名称。Salesforce 官方提供了若干标准服务器standard servers它们的爆炸半径blast radius即能执行的操作范围不同sobject-reads— 只读访问sobject-mutations— 读 创建 更新sobject-deletes— 在读与变更之外额外开放删除sobject-all— 全部能力读、增、改、删。实践建议把插件指向能完成工作所需的最窄narrowest服务器。例如只做查询分析的场景应选sobject-reads而不是图省事直接选sobject-all——这与 External Client App 的 scope 收紧逻辑一脉相承都是最小权限原则的落地。配置插件并完成登录在Dashboard → Plugins → Configure中填入两个值Salesforce MCP server URL即上一步复制的 Server URL对应变量SALESFORCE_MCP_URLSalesforce Consumer Key即 External Client App 的 Consumer Key对应变量CLIENT_ID。填好后在 Cursor 弹出登录提示时完成 Salesforce 登录OAuth PKCE 流程。之后 Agent 的工具调用便会经由已激活的 Hosted MCP 服务器执行。团队市场Team Marketplace下的权限模型如果插件是通过团队市场分发的管理员只需要一次性设置好 Server URL 和 Consumer Key 这两个值但每一位团队成员仍然需要各自独立完成 Salesforce 登录认证。这意味着每个成员的工具调用以其**自己的对象权限object permissions和字段级安全FLS**为边界执行管理员配置的值只决定连到哪台服务器、用哪个客户端不决定以谁的权限运行。这正是本文开头所述所有操作都在已登录用户自身权限下执行的团队级体现同一插件、同一组织不同成员看到的数据与可执行的操作可以因权限不同而不同。故障排查速查表README 提供的故障排查表可以直接作为排障手册使用症状原因处理invalid_client_idExternal Client App 尚未完成传播等待最多 30 分钟不要重建应用invalid_scopeApp 缺少Access Salesforce hosted MCP servers或Perform requests at any time回到 External Client App 补齐这两个 scope登录成功后报JWT Token is required或Invalid token未启用Issue JSON Web Token (JWT)-based access tokens for named users在 Security 区块启用该选项认证成功但服务器 404MCP 服务器未在 Setup 中激活或 URL 的组织类型与登录的 org 不匹配激活对应服务器核对 URL 中是否包含/sandbox/段理解这些报错背后的机制会很有帮助JWT Token is required说明 Salesforce 预期签发/使用 JWT 访问令牌而你的 App 配置仍在签发不透明令牌invalid_scope说明授权请求中的 scope 集合与 App 上注册的不一致404 则多半是客户端与服务器两侧配置错位未激活或 URL 与 org 类型不符。仓库视角插件如何被组织与校验作为 Cursor 官方插件仓库的一部分Salesforce 插件的构成可以在仓库中直接核验插件核心声明third_party/salesforce/mcp.json —— 上文已完整解读的 HTTP OAuth MCP 配置版本与变更third_party/salesforce/CHANGELOG.md —— 1.0.0 初始版本固定 scope 为mcp_apirefresh_token声明两个插件变量市场条目.cursor-plugin/marketplace.json ——salesforce条目指向third_party/salesforce描述为 Query, create, and update records in your org.清单 Schemaschemas/plugin.schema.json —— 定义了插件清单中mcpServers可指向配置文件、内联对象或数组与variables的结构约束校验脚本scripts/validate-plugins.mjs —— 仓库用 Ajv 对 marketplace 与各插件清单做 Schema 校验确保每个市场条目的 source 目录、plugin.json 及其字段符合规范这为插件的可分发性提供了自动化保障。如果你要在自己的组织里部署无需改动仓库任何文件安装、填写变量、登录三步即可运行更多官方文档索引External Client App 创建、可用的标准服务器参考等可回到 third_party/salesforce/README.md 的 Docs 小节查看。许可证该插件以MIT License发布见 third_party/salesforce/LICENSE可自由使用与二次分发。【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。