sf agent mcp update --label returns success but resets the label to the server name
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
No repository file or test is named. Start at the agent mcp update command and its API Catalog PUT integration, then reproduce the label update and compare it with the working description update; done means the requested label is returned and remains persisted after agent mcp get.
Written by the indexing model from the issue text.
Description
Summary
sf agent mcp update --label returns success, but doesn't persist the requested label.
A custom label works when the MCP server is created, but updating it later resets the label to the server name.
--description updates correctly on the same server.
I also reproduced the behavior with a direct PUT to the API Catalog endpoint, without using sf agent mcp update.
Steps To Reproduce
A repository is not required to reproduce this issue because the behavior occurs against an org-level API Catalog MCP server resource and can be reproduced directly with Salesforce CLI commands.
- Create an MCP server with a custom label:
sf agent mcp create --name OssMcpLabelTest2 --label "Custom Create Label" --server-url "https://mcptest-daniel-e6e72a8eba7a.herokuapp.com/mcp" -o <target-org> --json
The server is created successfully and the response contains:
{
"name": "OssMcpLabelTest2",
"label": "Custom Create Label"
}
- Update only the label:
sf agent mcp update --mcp-server-id <MCP_SERVER_ID> --label "Updated Label Test" -o <target-org> --json
The command succeeds with status: 0, but the returned server contains:
{
"name": "OssMcpLabelTest2",
"label": "OssMcpLabelTest2"
}
rather than the requested value:
{
"label": "Updated Label Test"
}
- Read the server again:
sf agent mcp get --mcp-server-id <MCP_SERVER_ID> -o <target-org> --json
The persisted value is still:
{
"name": "OssMcpLabelTest2",
"label": "OssMcpLabelTest2"
}
- As a control, update the description:
sf agent mcp update --mcp-server-id <MCP_SERVER_ID> --description "OSS Description Test" -o <target-org> --json
A subsequent sf agent mcp get correctly returns:
{
"description": "OSS Description Test"
}
- I also reproduced the issue without using
sf agent mcp update, by sending a raw PUT request directly to the API Catalog endpoint:
'{"label":"Raw Label Test"}' | sf api request rest '/services/data/v67.0/api-catalog/mcp-servers/<MCP_SERVER_ID>' --method PUT --header 'Content-Type: application/json' --body - -o <target-org>
The request succeeds, but the response again contains:
{
"name": "OssMcpLabelTest2",
"label": "OssMcpLabelTest2"
}
A subsequent:
sf agent mcp get --mcp-server-id <MCP_SERVER_ID> -o <target-org> --json
confirms that "Raw Label Test" was not persisted.
I reproduced the label update behavior with two separate MCP server registrations.
Expected result
Running:
sf agent mcp update --mcp-server-id <MCP_SERVER_ID> --label "Updated Label Test" -o <target-org> --json
should update and persist the MCP server label as:
{
"label": "Updated Label Test"
}
Actual result
The command returns success, but the requested label is not persisted.
Instead, the label becomes equal to the MCP server's name:
{
"name": "OssMcpLabelTest2",
"label": "OssMcpLabelTest2"
}
The same behavior occurs when sending the update directly to the API Catalog REST endpoint with a raw PUT request.
Additional information
- Reproduced with two MCP server registrations.
- Custom labels work on create.
- Description updates work correctly.
- The same label behavior occurs with a direct REST PUT.
sf doctorwas run before filing; no related diagnostic problems were reported.agent mcpis currently in Developer Preview.
System Information
Shell: Windows PowerShell
{
"architecture": "win32-x64",
"cliVersion": "@salesforce/cli/2.146.3",
"nodeVersion": "node-v22.23.1",
"osVersion": "Windows_NT 10.0.26200",
"rootPath": "C:\\Program Files\\sf\\client",
"shell": "cmd.exe",
"pluginVersions": [
"@oclif/plugin-autocomplete 3.2.54 (core)",
"@oclif/plugin-commands 4.1.61 (core)",
"@oclif/plugin-help 6.2.55 (core)",
"@oclif/plugin-not-found 3.2.90 (core)",
"@oclif/plugin-plugins 5.4.86 (core)",
"@oclif/plugin-search 1.2.54 (core)",
"@oclif/plugin-update 4.7.56 (core)",
"@oclif/plugin-version 2.2.52 (core)",
"@oclif/plugin-warn-if-update-available 3.1.70 (core)",
"@oclif/plugin-which 3.2.59 (core)",
"@salesforce/cli 2.146.3 (core)",
"agent 1.45.0 (core)",
"apex 3.9.40 (core)",
"api 1.3.54 (core)",
"auth 4.4.9 (core)",
"data 4.0.115 (core)",
"deploy-retrieve 3.24.61 (core)",
"info 3.4.155 (core)",
"limits 3.3.106 (core)",
"marketplace 1.3.44 (core)",
"org 5.11.26 (core)",
"packaging 2.30.6 (core)",
"schema 3.3.131 (core)",
"settings 2.4.101 (core)",
"sobject 1.4.125 (core)",
"telemetry 3.8.33 (core)",
"templates 56.20.0 (core)",
"trust 3.8.43 (core)",
"user 3.10.9 (core)"
]
}
- Dominant language
- No language data
- Stars
- 571
- Forks
- 80
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from forcedotcom/cli
-
investigating validated
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
forcedotcom/cli#3657 · 2 comments ·
-
`sf agent preview` fails with `AgentApiNotFound` against staging (aws-stage1) orgs — `stage.api.salesforce.com` missing from endpoint fallbackPossibly taken A pull request linked to this issue is open or already merged. Openarea:afdx owned by another team
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
forcedotcom/cli#3645 · 2 comments ·
-
bug investigating validated
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
forcedotcom/cli#3644 · 6 comments ·
-
sf agent mcp asset replace --assets null throws raw TypeError instead of InvalidShapePossibly taken @konkonrong-lgtm claimed this 53 days ago. Openarea:afdx bug investigating owned by another team validated
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
forcedotcom/cli#3625 · 4 comments ·
-
area:afdx bug owned by another team
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
forcedotcom/cli#3608 · 2 comments ·
Similar issues
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr impact:session-state issue-rating: 🌊 off-meta tidepool P2
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
openclaw/openclaw#165245 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
bug(hub,chat): Wave-2 web chat sendAgentRouted does not update RecordChannel reply affinity to 'web'Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
GoogleCloudPlatform/scion#2448 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
paperclipai/paperclip#15145 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
diegosouzapw/OmniRoute#15531 ·
Maintainers usually reply within 2 days
-
area:frontend bug FE P3
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
klasolsson81/jobbliggaren#2010 ·
Maintainers usually reply within 1 day