- sales: apollo api.apollo.io/mcp -> mcp.apollo.io/mcp
- sales: outreach mcp.outreach.io/mcp -> api.outreach.io/mcp/
- engineering: datadog mcp.datadoghq.com/mcp -> mcp.datadoghq.com/api/unstable/mcp-server/mcp
- operations: remove servicenow (mcp.servicenow.com does not resolve;
ServiceNow's MCP server is per-instance, no shared hosted URL exists)
All replacement URLs verified live (401/405 on bare GET, i.e. endpoint
exists and is auth-gated / POST-only). All replaced URLs verified dead
(404 or DNS NXDOMAIN). gcal/gmail intentionally untouched; see PR body.
api.github.com/mcp returns 404 — the route does not exist.
Correct endpoint is api.githubcopilot.com/mcp/ (verified from
claude-plugins-official/external_plugins/github/.mcp.json).
Fixes#168
Slack's auth server does not support dynamic client registration, so a
bare {type, url} config fails in Claude Code with "Incompatible auth
server: does not support DCR" before the OAuth prompt appears.
Cowork/Desktop resolve these via the claude.ai connector directory and
don't hit this, but Claude Code does raw OAuth against the URL. The
broken entry also shadows the working claude.ai Slack passthrough
(manual > plugin > claude.ai dedup), so users lose Slack entirely.
Adds the same oauth.{clientId, callbackPort} block already present in
partner-built/slack/.mcp.json to all 12 role plugins.
Refs: anthropics/claude-code#38229
Across all plugin .mcp.json files:
- Rename "google-calendar" key to "google calendar"
- Replace gmail and google calendar URLs with empty string placeholders
- Convert all commands/*.md files to skills/*/SKILL.md format
- Merge 36 reference-skill pairs into their invokable counterparts
- Mark reference-only skills as user-invocable: false
- Expand descriptions for migrated skills with usage scenarios
- Keep partner-built/ commands as-is
- Remove bio-research from marketplace.json