You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MCP "Add to Cursor" deeplink always uses name=server instead of the .mcp.json key #460
What happens: on a plugin detail page, the "Add to Cursor" button for an MCP server installs it under the name server instead of the key from the repo's .mcp.json. If a plugin has two servers, both buttons use name=server, so installing both collides.
The button links to cursor://anysphere.cursor-deeplink/mcp/install?name=server&config=....
Cause:
apps/cursor/src/lib/github-plugin/parse.ts: the scanner unwraps mcpServers, stores each server's inner config as content, and keeps the key only in the component's name. metadata has no name.
apps/cursor/src/components/plugins/detail/mcp-section.tsx, in resolveMcpConfig: content therefore has no mcpServers wrapper, so it falls through to return { name: (meta?.name as string) ?? "server", config: parsed }, and the name is always "server".
Suggested fix: pass the component's name into resolveMcpConfig and use it before the "server" fallback, e.g. name: (meta?.name as string) ?? mcp.name ?? "server". Or store name in metadata at parse time.
Hey @Silas-h, this is the same defect as #416 (deeplink and shown config use the config key server instead of the submitted server name), and the fix is already up as #457: the server name is persisted in the component metadata and used for the install deeplink, and the detail page shows a paste-ready mcpServers entry. Your two-server case is a good extra check for it, since with the name carried through the two buttons no longer collide. I have added this report to the internal item; it will close with #457.
Activity
deanrie commentedon Oct 20, 2026
Hey @Silas-h, this is the same defect as #416 (deeplink and shown config use the config key
serverinstead of the submitted server name), and the fix is already up as #457: the server name is persisted in the component metadata and used for the install deeplink, and the detail page shows a paste-readymcpServersentry. Your two-server case is a good extra check for it, since with the name carried through the two buttons no longer collide. I have added this report to the internal item; it will close with #457.