Free cookie consent management tool by TermsFeed
Salesforce

Connect Claude to Salesforce: The Complete Guide to Hosted MCP Servers

This guide walks through the entire setup from scratch: activating the right Salesforce servers, registering an OAuth app, connecting Claude, and confirming everything works.

Hitesh Rawal
Salesforce Developer Trainee
September 16, 2026
10 min

If you are working in Salesforce, you already know the drill: switching tabs, running reports, and re checking record details before every decision. Connecting Claude to Salesforce through a Hosted MCP (Model Context Protocol) server changes that. You can ask Claude a plain English question about your accounts, opportunities, or contacts, and it retrieves live, permission checked answers straight from your org, no exports, no copy pasting, no shared login.

This guide walks through the entire setup from scratch: activating the right Salesforce servers, registering an OAuth app, connecting Claude, and confirming everything works. It's written for Salesforce admins who are comfortable in Setup but have never wired up an MCP server before.

What Is a Salesforce Hosted MCP Server, Really?

MCP (Model Context Protocol) is the standard that lets an AI assistant like Claude call external tools safely, without the assistant ever holding your credentials. Salesforce hosts these MCP servers itself, which means Claude never touches your data directly; it sends a request through Salesforce's own infrastructure, and Salesforce decides what comes back.

That distinction matters. The connection runs as the signed-in Salesforce user, not a shared integration account, so every request is filtered through that person's actual object permissions, field-level security, and sharing rules. Claude only ever sees what that user is already allowed to see.

Why Connect Claude to Salesforce
  • Faster answers: ask about accounts, opportunities, or activity in natural language instead of building a report.
  •  Nothing bypasses security: field-level security and sharing rules apply exactly as they would in the Salesforce UI.
  • No shared logins: access runs under each user's own credentials, which keeps audit trails clean.
  • Choose the scope: activate only the read-only server, or add full CRUD and metadata access if your workflow needs it.

Before You Begin: Prerequisites
  • Salesforce admin access, since every step below happens in Setup.
  • An accessible admin email address — Salesforce may send a verification code when you view app credentials.
  • A Claude account with connector access (Claude web, desktop, or Claude Code all work).

Step 1: Activate the Salesforce Hosted MCP Servers

Start by confirming Salesforce can reach you, then turn on the specific MCP servers your integration needs.

Confirm your admin email
  1. From Setup, search for “Users” in Quick Find and open Users.
  2. Open your own admin user record and check the Email field.
  3. If you update it, save the record and complete Salesforce's email verification flow.

Turn on the MCP servers

  1. From Setup, search for “MCP Servers” in Quick Find and open MCP Servers under API Catalog.
  2. Click Salesforce Servers.
  3.  Activate the servers your use case needs (see below).

“Connect Claude to Salesforce without exports or shared logins—get live answers protected by the permissions you already use.”
Step 2: Register an External Client App for OAuth

This app is the trust bridge between Claude and Salesforce. It tells Salesforce which client is allowed to start a login flow, where to send the user afterward, and which scopes it can request. Salesforce still owns login, token issuance, and permissions the app just opens the door.

Create the app
  1. From Setup, search “External Client” in Quick Find and open External Client App Manager.
  2. Click New External Client App and fill in the basic details below.
External Client App Details
Field Value
App Name Headless 360 Quick Start
API Name Headless_360_Quick_Start
Contact Email Your email address
  1. Expand the API section and check Enable OAuth.
  2. Set the callback URL to Claude's OAuth callback: https://claude.ai/api/mcp/auth_callback
  3. Add two OAuth scopes: “Perform requests at any time” (refresh_token, offline_access) and “Access Salesforce hosted MCP servers” (mcp_api).
  1. Under Security, uncheck both “Require secret for Web Server Flow” and “Require secret for Refresh Token Flow.”
  2. Under Security, check “Require Proof Key for Code Exchange (PKCE)” and “Issue JWT based access tokens for named users.”

Copy the Consumer Key
  1. Click Create, then open Settings > OAuth Settings > Consumer Key and Secret.
  2.  Complete the email verification prompt if Salesforce asks for one.
  3. Copy the Consumer Key somewhere secure  this becomes Claude's OAuth Client ID. Only copy the Consumer Secret if your setup explicitly asks for it.

New external client apps can take a few minutes to fully propagate. If Claude reports an invalid_client_id error right after creation, wait a couple of minutes and try again.

Step 3: Connect Claude to Salesforce

With the servers active and the client app ready, the last step happens inside Claude.

  1. Open Claude, go to Customize > Connectors, click the + button, then Add custom connector.
  2. Name it something clear, like “Salesforce SObject Read,” and add a short description.
  3. For the Server URL, use the endpoint that matches the server you activated:
Salesforce MCP Server Endpoints
Server Server Name in URL
SObject Reads platform/sobject-reads
SObject All platform/sobject-all
Salesforce API Context platform/salesforce-api-context
Metadata Experts platform/metadata-experts
  1. Open Advanced settings and paste the Consumer Key from Step 2 into OAuth Client ID, then click Add.
  2. Click Connect, log in to the Salesforce org that holds your external client app, and approve access.

Testing Your Connection

Start a new chat and ask Claude something concrete, like: “List the first 10 Account records you can access in Salesforce, showing name, type, industry, and annual revenue.” Claude should ask permission to use the connector or

Show a visible tool call before answering. Follow up with a reasoning question  for example, asking which accounts look most important based on the fields returned  and confirm the answer is grounded in the records Claude actually retrieved.

Troubleshooting Common Issues
Symptom What to Check
OAuth fails with invalid_client_id Wait a few minutes for the external client app to propagate, then try again.
OAuth redirect fails Confirm that the app uses this exact callback URL: https://claude.ai/api/mcp/auth_callback
MCP calls fail with JWT errors Confirm that “Issue JWT-based access tokens for named users” is enabled.
Claude cannot see Account records Check the logged-in user’s object permissions and field-level access for Account.
Claude sees fewer fields than expected Review field-level security for the logged-in user’s profile or permission sets.
Keeping the Connection Secure
  • Grant only the servers a use case actually needs  Sobject Reads is enough for most reporting and Q&A work; save Sobject All for cases that genuinely require writes.
  • Because access runs as the signed in user, standard profile and permission set changes apply immediately, with no separate integration user permissions to maintain.
  •  Review field level security periodically, since it's the last checkpoint before any data reaches Claude.

Salesforce Implementation That Actually Moves the Needle

Most Salesforce implementations go live. Ours go to work. We configure, integrate, and deploy Salesforce so your teams operate faster, your data works harder, and your business grows without the friction.

DREAMFORCE 2026 See Astonous Ship live at Dreamforce 2026 September 15–17 · San Francisco Book a Demo →