# MCP

> Connect AI agents such as Claude Code, Claude Desktop and Cursor to Webhook Admin with the MCP server.

Source: https://webhookadmin.com/en/docs/mcp/

Add the MCP URL and sign in in your browser. Agents can then create organizations, projects and API keys, register endpoints, retry failed deliveries and change plans.

## Server

- **URL**: `https://api.webhookadmin.com/mcp`
- **Transport**: Streamable HTTP
- **Authentication**: Sign in in the browser (OAuth)

## Claude Code

```bash
claude mcp add --transport http webhook-admin https://api.webhookadmin.com/mcp
```

Open `/mcp` in Claude Code and choose “Authenticate” for webhook-admin. Sign in in the browser and click “Allow”.

## Claude Desktop

Go to Settings › Connectors › Add custom connector, enter `https://api.webhookadmin.com/mcp`, then sign in in the browser from “Connect”.

## Cursor

Add this to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for all projects), then sign in from “Login” in Settings › MCP.

```
{
  "mcpServers": {
    "webhook-admin": { "url": "https://api.webhookadmin.com/mcp" }
  }
}
```

## Sign-in and access

In the browser, sign in the same way as the dashboard (email, GitHub, Google, passkey or SSO) and click “Allow” on “Allow … to access Webhook Admin?”. Allowed apps are listed under Connected apps in your account settings, where you can revoke them.

Accounts are created in the dashboard. If you don’t have one yet, sign up at [https://app.webhookadmin.com/signup](https://app.webhookadmin.com/signup), then add the MCP URL.

## Tools

| Tool | What it does | Role needed (or higher) |
| --- | --- | --- |
| `whoami`・`list_organizations` | The signed-in user and organizations | — |
| `create_organization` | Create an organization | — |
| `list_projects`・`create_project` | List and create projects (with production and test environments) | admin |
| `list_environments` | List environments | viewer |
| `create_api_key`・`list_api_keys`・`revoke_api_key` | Create, list and revoke API keys | developer |
| `list_members`・`invite_member` | List and invite members | admin |
| `list_event_types`・`create_event_type` | List and add event types | developer |
| `list_alert_rules`・`create_alert_rule`・`update_alert_conditions` | Failure alerts (Slack, Teams, Chatwork, email, webhook) and when to send them | admin |
| `get_usage`・`get_plan` | This month’s usage, quota and overage; the plan | viewer |
| `create_checkout`・`change_plan`・`get_billing_portal` | Upgrade, change plan and manage billing | owner |

Tools inside an environment take the `environment_id` from `list_environments`. Read-only tools work for viewers; the rest need developer or higher. For CI and scheduled jobs, call the public API or the SDKs with an API key instead of MCP.

| Tool | What it does | Role needed (or higher) |
| --- | --- | --- |
| `list_consumers` | List consumers | viewer |
| `create_consumer` | Create a consumer | developer |
| `list_endpoints` | List endpoints | viewer |
| `create_endpoint` | Create an endpoint | developer |
| `update_endpoint` | Update an endpoint (pause, resume, retry policy, compatibility signature, delivery order) | developer |
| `list_messages` | List messages (filter by status, event type and consumer; `no_endpoint` for messages with no endpoint) | viewer |
| `list_failed_deliveries` | List failed deliveries | viewer |
| `retry_delivery` | Retry a delivery | developer |
| `recover_endpoint` | Resend all failed deliveries of an endpoint | developer |
| `get_recovery` | Check a bulk resend | viewer |
| `send_test` | Send a test message to an endpoint | developer |
| `create_portal_link` | Create a link to the customer portal | developer |
| `list_sources`・`list_source_requests` | List sources and their requests | viewer |
| `create_source`・`update_source`・`delete_source` | Create, update (pause, resume, set the signing secret) and delete sources | developer |
| `reprocess_source_request` | Reprocess a rejected request | developer |

`revoke_api_key` doesn’t run until you pass `confirm: true`; without it, it returns the key to revoke. `change_plan` returns the new monthly price, today’s estimated charge and a dashboard link, where you confirm the change.
