Version
DESTRUCTIVE

kick_member

Kick a project member without banning them. Status rolls to churned; the subscriber can re-join later.

Kick a project member without a permanent ban. Status rolls to churned; removal from the gated places happens on the connector's pipeline. The subscriber can re-join via a fresh purchase or access code later. Delegates to an Action so cache invalidation runs and member.kicked emits with the optional reason.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveIdempotentOpen world

A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time. It reaches beyond Subscriby: a connector, a provider or a member.

Arguments

member_id*string

UUID of the project member to kick.

reasonstringoptional

Optional human-readable reason that lands in the member.kicked event payload.

What it returns

{  "data": {    "id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",    "status": "churned"  }}

How it fails

RESOURCE_NOT_FOUND

unknown member_id, or the member belongs to a team outside the token's scope.

TOKEN_MISSING_ABILITY

token lacks project-user:update.

How is this guide?

Last updated on