Skip to content

docs: add Salesforce Hosted MCP Server setup guide [PLT-2845] - #1122

Draft
andrewconnor-arcade wants to merge 6 commits into
mainfrom
andrewconnor/plt-2845-docs-document-salesforce-remote-mcp-server-setup-draft
Draft

docs: add Salesforce Hosted MCP Server setup guide [PLT-2845]#1122
andrewconnor-arcade wants to merge 6 commits into
mainfrom
andrewconnor/plt-2845-docs-document-salesforce-remote-mcp-server-setup-draft

Conversation

@andrewconnor-arcade

@andrewconnor-arcade andrewconnor-arcade commented Aug 12, 2026

Copy link
Copy Markdown

Summary

Adds a new provider-specific subpage under guides/mcp-gateways/add-remote-servers covering the setup for connecting a Salesforce Hosted MCP Server to Arcade, discovered while reproducing this integration end-to-end for monorepo#2800 (PLT-2834).

Content is scoped to what's genuinely Arcade-specific or missing from Salesforce's own docs:

  • The Arcade-side dashboard/OAuth2 registration steps (100% Arcade-specific)
  • Three Salesforce External Client App settings that Salesforce's own guide instructs you to set but doesn't explain why (mcp_api scope, JWT-based access tokens, PKCE), framed around the actual error messages you get if you miss them
  • A troubleshooting section mapping symptoms back to root causes

It deliberately does not duplicate Salesforce's own walkthrough for creating/activating the MCP server or the External Client App — it links out to their docs for that instead.

Open question — opening as a draft on purpose

This is the first provider-specific subpage under add-remote-servers, which is otherwise fully generic (uses Render's MCP server as its only example). There's no existing precedent for this pattern in the docs. Worth a docs-team call on:

  1. Is a provider-specific subpage the right pattern for remote MCP servers with non-obvious vendor setup, versus folding a condensed callout into the parent guide?
  2. Does this belong in the public docs at all yet, given it's the first instance?

Putting this up as a draft to get that discussion started against real content rather than a hypothetical.

Checks run locally

  • pnpm lint — clean
  • pnpm build — succeeds, new route /en/guides/mcp-gateways/add-remote-servers/salesforce generated
  • pnpm vitest run tests/internal-link-check.test.ts tests/broken-link-check.test.ts — pass
  • vale — 0 errors (remaining warnings/suggestions are the same categories already present and accepted across existing pages, e.g. references/auth-providers/salesforce, references/auth-providers/cisco-duo)

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only change with no runtime, auth, or product code impact.

Overview
Adds a Salesforce Hosted MCP Server guide under add-remote-servers — the first provider-specific subpage in that section.

The new page covers Arcade-side OAuth registration plus the External Client App settings that commonly break the integration (mcp_api scope, JWT access tokens, PKCE), with a troubleshooting section that maps error messages to root causes. Links out to Salesforce docs for server/ECA creation rather than duplicating them.

Also links the new guide from the parent remote servers overview and adds it to nav/llms.txt.

Reviewed by Cursor Bugbot for commit 0bfcc6e. Bugbot is set up for automated code reviews on this repo. Configure here.

Adds a provider-specific subpage under guides/mcp-gateways/add-remote-servers
covering the Arcade-side OAuth2 configuration for connecting a Salesforce
Hosted MCP Server, plus the handful of Salesforce External Client App
settings (mcp_api scope, JWT-based access tokens, PKCE) that commonly cause a
valid-looking setup to fail. Links out to Salesforce's own docs for creating
and activating the server and the ECA rather than duplicating that content.

This is the first provider-specific subpage under add-remote-servers, which
is otherwise fully generic — see PLT-2845 for the open question of whether
this pattern (and this content) belongs in the docs at all yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 12, 2026 11:02am

Request Review

The field needs the full well-known OpenID configuration URL, not the
bare My Domain root as previously written — confirmed against the
actual dashboard field.

@evantahler evantahler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like this pattern! I'm also sure that something is better than nothing in this regard, so addressing my nits are optional.

<Callout type="info">
This guide is about connecting to a Salesforce Hosted MCP Server. If you're
looking to call Salesforce APIs from your own tools instead, see the
[Salesforce auth provider](/references/auth-providers/salesforce) guide.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably should link to our toolkit vs the auth-provider

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — now links to the Arcade Salesforce toolkit instead.

Comment on lines +84 to +89
<Callout type="warning">
Don't refresh the Arcade dashboard while an authorization prompt is open.
Refreshing mid-flow can leave a stale, incomplete authorization behind
instead of cleanly restarting it. If a connection seems stuck, close the
prompt, reload the page, and start a single fresh attempt.
</Callout>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be a more general warning on the MCP gateway page vs every remote-MCP page

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved it to add-remote-servers/page.mdx's "Save and confirm the connection" step — it's generic dashboard behavior, not Salesforce-specific.

- Link to the Arcade Salesforce toolkit instead of the auth-provider page
  when a reader wants to call Salesforce APIs from their own tools (Evan).
- Move the "don't refresh mid-flow" warning to the generic add-remote-servers
  guide — it's Arcade dashboard behavior, not Salesforce-specific (Evan).
- Add an explicit warning that the authorization prompt's scope picker lists
  every scope the org's discovery document supports, not just what the ECA
  grants, and that leaving an unmatched scope selected fails authorization
  outright (not just later tool calls).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants