forcedotcom / forcedotcom/mcp-hosted

[Feature]: Custom servers cannot include standard server tools (soqlQuery, find, etc.) despite documentation claiming otherwise

Open
#40 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
135
Forks
20
PR merge metrics
No merged PRs in 30d

Description

### Problem statement

The [Custom MCP Servers guide ](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/custom-servers.html)states that custom servers can "combine tools from multiple standard servers under a single URL" and gives a specific example: "Combine soqlQuery from the SObject reads server with Tableau Next analytics tools and a Data 360 SQL tool."

In practice this is not possible. When creating a custom server via Setup → Integration → Salesforce MCP Servers or API Catalog → MCP Servers, the only tools available to add are Apex Invocable Actions, @AuraEnabled methods, Apex REST endpoints, Autolaunched Flows, Named Query APIs, and Agentforce agents.

Standard server tools (soqlQuery, find, getRelatedRecords, getObjectSchema, getUserInfo, listRecentSobjectRecords) do not appear in the "Add Server Assets → Add Tools" flow at all.

Affected: any admin or architect trying to build a persona-scoped custom server that combines standard platform tools with custom tools, or who needs a custom server URL to work around client-side multi-org constraints (see Alternatives below).

### Proposed solution

Allow standard server tools to be selected from the "Add Server Assets → Add Tools" flow in Setup, the same way custom Apex and Flow tools are selectable today. This matches what the documentation already describes and what the "buffet" mental model implies.

### Alternatives considered

Our immediate use case: we need to register two separate Salesforce orgs in one Claude Enterprise account. Both use the sobject-reads server, which has a single global URL for all production orgs (https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads). [Claude Enterprise blocks two connectors with the same URL](https://github.com/anthropics/claude-ai-mcp/issues/178) even when OAuth Client IDs differ.

Creating a custom server per org would solve this since each gets a unique URL — but only if standard tools can be included. Without them, we would need to reimplement soqlQuery, find, getRelatedRecords, getObjectSchema, listRecentSobjectRecords, and getUserInfo from scratch using Named Queries or Apex, which is the full capability of the standard server.

### Area of impact

MCP Tools

### Additional context

Documentation with the claim: https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/custom-servers.html
Two specific quotes from that page:

"Custom servers can **combine tools from multiple standard servers under a single UR**L — for example, pairing SObject read tools with a Tableau Next analytics tool for a reporting persona."
"Reporting server — Combine soqlQuery from the SObject reads server with Tableau Next analytics tools and a Data 360 SQL tool."

Related Claude Enterprise issue (duplicate URL constraint): https://github.com/anthropics/claude-ai-mcp/issues/178

Contributor guide

Open the contributing guide

Research direction

Start with the Custom MCP Servers guide and reproduce the Add Server Assets → Add Tools flow in Setup or API Catalog. Confirm which standard tools are available and compare the behavior with the documented SObject reads and reporting examples. Done means standard tools can be selected in a custom server and the documented combinations work.

Written by the indexing model from the issue text.

Assessment

Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.