If you work with Salesforce every day, you know the drill. You log into Lightning Experience, click through a dozen screens, build a report, wait for a dashboard to load, and repeat this process again tomorrow. It works, but it’s slow, and it eats up time that could go toward actual decision-making.
There’s now a much faster way to get the same information, and even take action on it, without opening Salesforce at all. It’s called MCP, short for Model Context Protocol, and it lets an AI assistant like Claude connect directly to your Salesforce org. You simply type what you want in plain English, and Claude fetches the data, runs the logic, or performs the action for you.
The best part is that you don’t need to be a developer to set this up. In this guide, we’ll break down what MCP actually is, walk through the setup process step by step, and cover two different ways to connect Claude to Salesforce — through Claude Code (the command-line tool) and through Claude.ai in your web browser. By the end, you’ll know exactly which path fits your workflow and how to get it running.
What Is MCP, Really?
Think of MCP as a translator that sits between an AI tool and an outside system. Before MCP, every AI company had to build its own custom way of talking to every other piece of software. That’s a lot of one-off work. MCP fixes this by giving everyone a shared, standard language. A system like Salesforce can say, “here are the things I can do,” and any AI client that understands MCP, including Claude, can use those abilities right away.
In simple terms, MCP is what allows Claude to read your Salesforce records, run queries, and even trigger business processes, all from a chat window.
Salesforce has taken this a step further by offering hosted MCP servers. This means Salesforce runs and maintains the server for you. You don’t need to set up any infrastructure yourself. You just switch it on.
Two Kinds of MCP Servers
Salesforce gives you two options here:
- Standard servers — These are ready-made by Salesforce. They cover common needs like reading and writing records, working with Data Cloud, connecting to Tableau, and more.
- Custom servers — If the standard tools don’t cover your specific use case, you can build your own. This works by exposing your existing Apex methods, Flows, or REST endpoints as MCP tools, so Claude can call your own business logic directly.
For most people getting started, the standard servers are more than enough. Custom servers become useful once you have a specific automated process you want Claude to trigger, like a bulk cancellation flow or a custom approval process.
Step 1: Turn On the MCP Server in Salesforce
Before Claude can connect to anything, you need to activate a server inside your org.
- Go to Setup and search for MCP Servers.
- Open the list of available servers. By default, every single one will show as inactive.
- Pick the server you want, for example the standard object read/write server, and click into it.
- Hit Activate.
- Copy the Server URL shown on this page. Keep it handy, since you’ll paste it into Claude later.
That’s really all there is to this part. The server is now live and ready to accept a connection, but it still needs a “key” that proves who is allowed to talk to it. That’s where the next step comes in.
Step 2: Create an External Client App
This step confuses people the most, mainly because Salesforce used to handle this through something called Connected Apps. Those have since been retired for new setups, so don’t go looking for them. Instead, you’ll use the newer External Client App feature.
Here’s how to set it up:
- In Setup, search for External Client App Manager, then click New External Client App.
- Fill in the basics: a name for the app, your contact email, and the API name (this usually fills itself in automatically).
- Expand the OAuth Settings section and turn it on.
- Enter a Callback URL. This is important, and it changes depending on which Claude client you plan to use:
- For Claude.ai in a web browser, use the callback URL provided in Claude’s connector setup screen.
- For Claude Code, use http://localhost:38000/callback.
- For Claude Desktop, use https://claude.ai/api/mcp/auth_callback.
- Add two OAuth scopes:
- One that allows basic requests on behalf of the user.
- One that allows access to the Salesforce MCP servers specifically.
- Scroll down to the Security section and make two changes:
- Uncheck the boxes that require a secret for the web server flow and the refresh token flow. This keeps things browser-friendly.
- Check the box for PKCE (a security extension that protects the login handshake) and the box for issuing JSON Web Token-based access tokens.
- Save the app.
Once it’s saved, open the app again and go to its Settings tab. Look for OAuth Settings, then click to reveal the Consumer Key and Consumer Secret. You may be asked to verify with a code first. Copy both values somewhere safe, since you’ll need them in the next step to actually connect Claude.
Step 3: Connect Claude to Salesforce (Two Ways)
This is where the two paths split, depending on which version of Claude you use day to day.
Option A: Connecting Through Claude.ai in Your Browser
This is the simplest route if you just use Claude through its website.
- In Claude.ai, go to Customize, then open the Connectors section.
- Click Add, then choose to add a custom connector.
- Paste in the Server URL you copied back in Step 1.
- Paste your Consumer Key into the client ID field, and your Consumer Secret into the secret field.
- Save the connector.
At this point, Claude will try to authenticate. You should see a permission prompt asking whether you want to allow the connection, similar to what you’d see when a third-party app asks for access to your Facebook or Google account. Approve it, and Claude is now linked to your Salesforce org.
One thing worth knowing: sometimes you’ll get an error saying the client ID is invalid right after saving. This usually isn’t a mistake on your part. OAuth credentials can take a little while to fully register on Salesforce’s side. If this happens, wait about 15 minutes and try connecting again. It almost always resolves itself.
Option B: Connecting Through Claude Code (Command Line)
If you prefer working from a terminal, Claude Code offers a more direct setup.
Open a terminal and run a command in this format:
claude mcp add –transport http YOUR_SERVER_NAME YOUR_SERVER_URL –callback-port 38000 –client-id “YOUR_CONSUMER_KEY” –client-secret
- Replace the placeholders with your own server name, the server URL from Step 1, and the consumer key from Step 2. When prompted, paste in your consumer secret as well.
- Launch Claude Code by typing claude in your terminal.
- Run the command /mcp to see a list of your connected servers.
- Select the server you just added. It will likely show a “needs authentication” message.
- Choose Authenticate, and approve the access request when it pops up.
Once approved, the server will show as “connected,” and you’re ready to start using it.
What Can You Actually Do With This?
Once Claude is connected, the real value shows up in how naturally you can work with your data. A couple of examples:
Instant reporting, no dashboard required. Instead of building a report and dashboard from scratch, you can simply ask something like “show me daily bookings grouped by date.” Claude runs the query, organizes the results into a clean table, and can even point out anything unusual, like a day where numbers dropped noticeably below average.
Safe, guided bulk actions. Say you need to cancel a batch of appointments due to unexpected circumstances. You can ask Claude to find every matching booking, and it will show you the full list before doing anything. Only after you confirm does it go ahead and process the cancellations, often using a connected Flow to handle each record. This keeps a human in control of anything that changes real data, while still saving you from clicking through records one by one.
Why This Setup Is Worth the Effort
- It saves real time. Tasks that used to take several clicks and screens now take one sentence.
- It reduces mistakes. Bulk actions run the same way every time instead of relying on repetitive manual clicks.
- It’s flexible. You’re not boxed into pre-built reports. You can just ask for what you need in the moment.
- It grows with you. If the standard tools don’t cover something specific to your business, custom MCP servers let you expose your own Apex code or Flows as tools Claude can use.
Conclusion
Connecting Claude to Salesforce through MCP isn’t just a neat trick, it genuinely changes how you interact with your org day to day. Whether you prefer the simplicity of adding a connector inside Claude.ai, or the control of setting things up through Claude Code in a terminal, the underlying setup is the same: activate a server, create an External Client App, and hand Claude the right keys to connect.
Once that’s done, routine tasks like pulling reports or processing bulk updates stop feeling like chores. You ask, you review, and you confirm, all without leaving the conversation. For anyone working in Salesforce administration or operations, this is a setup worth trying at least once. It might just change how you think about your daily workflow.







