Version
DESTRUCTIVE

ban_member

Ban a project member. Flips status to banned and emits member.banned. Noop when the member is already banned.

Ban a project member. Delegates to an Action so cache invalidation runs and a member.banned event emits with the optional reason. Removal from the gated places runs on the connector's pipeline. Noop when the member is already banned.

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 ban.

reasonstringoptional

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

What it returns

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

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