Change a server's settings (editors and above); the slug never changes
/v1/teams/{team}/mcp-servers/{serverId}requirement: omit to keep, null to remove (capability overrides with mode scopes go back to inherit; so do they when the provider changes). A newly chosen provider must be enabled (422 provider_not_found); a turned-off one can be kept. 400 invalid_scope (details.scope). Under approval_required, a published server goes back to pending when its URL changes or its requirement widens what any capability receives (a provider where there was none, another provider, or a scope not in effect before), audited as mcp_server.publish_request with reason url_changed or requirement_changed. Removing or narrowing a requirement never needs review.
authMode and oauth (docs/phase7-upstream-oauth.md): omit to keep. Fields omitted inside oauth keep their stored values; clientSecret is replace-only. Errors as for create. Switching to oauth, choosing another authorization server, or adding a scope not asked for before sends a published server back to review under approval_required (mcp_server.publish_request, reason upstream_auth_changed). Leaving oauth, a URL change, another authorization server or another client ID erases the tokens of every connection to the server (needs_reconsent; leaving oauth deletes them, revoked where possible). Audited as mcp_server.auth_update (before/after, clientIdChanged, clientSecretChanged, connectionsReset; never a secret).
Path Parameters
Team slug or ID
uuidHeader Parameters
The resource's revision, as returned in ETag (for example "3"). Missing returns 428; stale returns 412.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/teams/string/mcp-servers/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "If-Match: string" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec", "teamSlug": "string", "teamName": "string", "slug": "service-status", "name": "Service status", "description": "string", "url": "https://status.example.com/mcp", "transport": "streamable_http", "authHeaderName": "string", "hasAuth": true, "authValueHint": "string", "timeoutSeconds": 1, "enabled": true, "publishState": "private", "effectivePublishPolicy": "approval_required", "publishRequestedAt": "2019-08-24T14:15:22Z", "publishRequestNote": "string", "publishReviewedAt": "2019-08-24T14:15:22Z", "publishReviewedByName": "string", "publishReviewNote": "string", "counts": { "tools": 0, "resources": 0, "resourceTemplates": 0, "prompts": 0 }, "pendingChanges": 0, "health": { "status": "healthy", "checkedAt": "2019-08-24T14:15:22Z", "statusSince": "2019-08-24T14:15:22Z", "latencyMs": 0, "errorClass": "unavailable", "message": "string", "signInRequired": true }, "refreshedAt": "2019-08-24T14:15:22Z", "lastRefreshError": "string", "requirement": { "providerId": "4834bcdc-4a64-444d-966b-1a6fe381da24", "providerSlug": "string", "providerName": "string", "providerEnabled": true, "scopes": [ "string" ] }, "capturePayloads": true, "authMode": "none", "oauth": { "providerId": "4834bcdc-4a64-444d-966b-1a6fe381da24", "providerSlug": "string", "resource": "https://api.githubcopilot.com/mcp/", "resourceMetadataUrl": "https://api.githubcopilot.com/.well-known/oauth-protected-resource/mcp/", "authorizationServer": "https://github.com/login/oauth", "issuer": "https://github.com/login/oauth", "authorizationEndpoint": "https://github.com/login/oauth/authorize", "tokenEndpoint": "https://github.com/login/oauth/access_token", "revocationEndpoint": "string", "scopes": [ "string" ], "scopesSupported": [ "string" ], "registration": "dcr", "clientIdHint": "string", "hasClientSecret": true, "clientSecretExpiresAt": "2019-08-24T14:15:22Z", "tokenAuthMethod": "client_secret_basic", "sendResource": true, "issParameterSupported": true, "platformProvider": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "slug": "string", "name": "string", "preset": "github", "logoUrl": "string", "kind": "oauth2", "server": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "slug": "string", "name": "string", "teamSlug": "string" } }, "setupConnection": { "status": "active", "personId": "f3e5ff26-28ff-4cd6-9b1b-e303a185a13a", "personName": "string", "authorizedAt": "2019-08-24T14:15:22Z" }, "connectionCount": 0, "discoveredAt": "2019-08-24T14:15:22Z", "redirectUri": "https://mcp.example.com/connect/callback" }, "sendIdentity": true, "revision": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }}