forcedotcom / forcedotcom/mcp-hosted
[Feature]: Custom servers cannot include standard server tools (soqlQuery, find, etc.) despite documentation claiming otherwise
- 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
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