Delete the stored approval for an MCP server
revoke_mcp_serverDelete the stored approval for one server id. Afterwards vet_mcp_server treats the server as never seen: its tools are unpinned again until someone approves them anew.
Instructions
Delete the stored approval for one server id. Afterwards vet_mcp_server treats the server as never seen: its tools are unpinned again until someone approves them anew.
When to use: an operator no longer trusts a server, or wants its next approval to start from a clean review. Take previousRevision from status_mcp_server first; the call is refused if the approval changed after that.
When NOT to use: to approve a changed server (approve_mcp_server replaces the old approval directly); to block a server for everyone (a revoked server is unpinned, not blocked — use a threat feed or policy for that); to inspect state (status_mcp_server).
Behaviour: deletes one file in the local state directory; cannot be undone except by approving again. Refused unless the operator started this process with WARDEN_ALLOW_PIN_CHANGES=1. Needs no tools payload. No network.
Returns { revoked: true, serverId }. Example: revoke_mcp_server({ server: { id: "demo@0", name: "demo", transport: "stdio", command: "npx" }, previous_pin_revision: "" }).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server | Yes | Server whose approval to delete. Only id is used to find it; the other fields must still be valid. | |
| previous_pin_revision | Yes | The previousRevision value status_mcp_server returned when you reviewed this server (null when it reported no stored approval). The write is refused if the stored approval changed since then, so two reviewers cannot overwrite each other. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| revoked | Yes | Always true; any refusal is returned as an error instead. | |
| serverId | Yes | The server id whose approval was deleted. |