# Svix — how to use (mcp.ai)

Connect your Svix account and use 37 tools for developer tools straight from your AI agent. Connect with your own API key. Svix is an enterprise-ready webhooks service that enables developers to send webhooks reliably and securely.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_svix?ms=1787293560000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `svix_app_create`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/svix`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/svix/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/svix/app/create` — Tool to create a new Svix application. Use when you need to register an application with specific settings.
  - body: { uid?: string, name: string, metadata?: object, rateLimit?: integer }
- `POST https://api.mcp.ai/api/svix/app/delete` — Permanently delete a Svix application by its ID or UID. Use this to remove an application and all its associated endpoints, messages, and webhooks. This action is destructive and cannot be undone.
  - body: { app_id: string }
- `POST https://api.mcp.ai/api/svix/app/get` — Tool to retrieve details of a specific Svix application by its ID. Use when you need application metadata after authenticating with Svix.
  - body: { app_id: string }
- `POST https://api.mcp.ai/api/svix/app/list` — Tool to list all applications. Use when you need to retrieve or paginate through your Svix applications.
  - body: { limit?: integer, order?: string, iterator?: string }
- `POST https://api.mcp.ai/api/svix/app/update` — Tool to update an existing Svix application by ID. Use when you need to modify properties like name, rate limit, UID, or metadata. Call after confirming the correct app_id.
  - body: { uid?: string, name?: string, app_id: string, metadata?: object, rateLimit?: integer }
- `POST https://api.mcp.ai/api/svix/attempt/get` — Tool to retrieve details of a specific message attempt. Use after confirming app_id, msg_id, and attempt_id.
  - body: { app_id: string, msg_id: string, attempt_id: string }
- `POST https://api.mcp.ai/api/svix/attempt/list` — Tool to list all delivery attempts for a specific message. Use after confirming message ID to debug attempts.
  - body: { after?: string, limit?: integer, app_id: string, before?: string, msg_id: string, status?: integer, iterator?: string, endpoint_id?: string, event_types?: string[], status_code_class?: integer }
- `POST https://api.mcp.ai/api/svix/endpoint/create` — Tool to create a new Svix webhook endpoint. Use after obtaining the app ID to register your webhook receiver URL.
  - body: { uid?: string, url: string, app_id: string, secret?: string, version?: integer, channels?: string[], disabled?: boolean, rate_limit?: integer, description?: string, filter_types?: string[] }
- `POST https://api.mcp.ai/api/svix/endpoint/delete` — Tool to delete an endpoint. Use when you need to remove a specific endpoint after confirming its application and endpoint IDs.
  - body: { app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/get` — Tool to retrieve details of a specific endpoint. Use after confirming app_id and endpoint_id.
  - body: { app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/list` — Tool to list all endpoints for a specific application. Use after obtaining the application ID to retrieve its endpoints.
  - body: { limit?: integer, order?: string, app_id: string, iterator?: string }
- `POST https://api.mcp.ai/api/svix/endpoint/patch` — Tool to partially update an endpoint’s configuration. Use when you need to adjust endpoint settings without full replacement.
  - body: { uid?: string, url?: string, app_id: string, secret?: string, channels?: string[], disabled?: boolean, rateLimit?: integer, description?: string, endpoint_id: string, filterTypes?: string[] }
- `POST https://api.mcp.ai/api/svix/endpoint/patch/headers` — Tool to partially update headers for a specific endpoint. Use when you need to add, modify, or remove custom headers after endpoint creation.
  - body: { app_id: string, headers: object, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/recover/failed/webhooks` — Tool to recover messages that failed to send to an endpoint. Use when you need to retry webhook delivery for failed events after identifying delivery failures.
  - body: { since: string, until?: string, app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/replay/missing` — Tool to replay missing webhooks for a specific endpoint. Use when some webhooks failed or were lost and need to be resent.
  - body: { since: string, until?: string, app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/secret/get` — Tool to retrieve the secret for a specific endpoint. Use after confirming app_id and endpoint_id.
  - body: { app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/secret/rotate` — Tool to rotate the signing secret key for an endpoint. Use when you need to invalidate the current secret and generate or supply a new one. Call after confirming app_id and endpoint_id.
  - body: { key?: string, app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/send/example/message` — Tool to send a test message for a specific event type to an endpoint. Use after setting up an endpoint to verify its configuration. Note: the endpoint's filter_types must include the event_type being 
  - body: { app_id: string, event_type: string, endpoint_id: string, payload_overrides?: object }
- `POST https://api.mcp.ai/api/svix/endpoint/stats/get` — Tool to retrieve basic statistics for a specific endpoint. Use after confirming app_id and endpoint_id.
  - body: { app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/transformation/get` — Tool to retrieve transformation settings for a specific endpoint. Use after confirming app_id and endpoint_id.
  - body: { app_id: string, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/transformation/set` — Tool to set or update transformation settings for an endpoint. Use when you need to configure or toggle an endpoint's transformation code after creation.
  - body: { code?: string, app_id: string, enabled?: boolean, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/endpoint/update` — Tool to update an existing endpoint or create it if it doesn't exist (upsert). Use when you need to modify endpoint settings like URL, rate limit, channels, or metadata. If the endpoint doesn't exist,
  - body: { uid?: string, url: string, app_id: string, version?: integer, channels?: string[], disabled?: boolean, metadata?: object, rateLimit?: integer, description?: string, endpoint_id: string, filterTypes?: string[] }
- `POST https://api.mcp.ai/api/svix/endpoint/update/headers` — Tool to completely replace headers for a specific endpoint. Use when you need to set a full new header mapping.
  - body: { app_id: string, headers: object, endpoint_id: string }
- `POST https://api.mcp.ai/api/svix/event/type/create` — Create a new event type in Svix or unarchive an existing one. Event types are identifiers (like 'order.created', 'user.signup') that categorize the webhooks your application sends. Use period-delimite
  - body: { name: string, schemas?: object, archived?: boolean, description: string, featureFlag?: string }
- `POST https://api.mcp.ai/api/svix/event/type/delete` — Tool to delete an event type. Use when you need to archive or permanently expunge a specific event type after confirming its name.
  - body: { expunge?: boolean, event_type_name: string }
- `POST https://api.mcp.ai/api/svix/event/type/get` — Retrieve details of a specific event type by its name. Use this to inspect an existing event type's configuration, schema, and status. Event types define the categories of events that can be sent thro
  - body: { event_type_name: string }
- `POST https://api.mcp.ai/api/svix/event/type/list` — Tool to retrieve a list of all event types. Use when you need to inspect available event types, optionally including their JSON schemas. Use after authenticating the client.
  - body: { limit?: integer, iterator?: string, with_content?: boolean }
- `POST https://api.mcp.ai/api/svix/event/type/update` — Update an existing event type's description, schema, feature flags, or archive status. Use this to modify event type configuration. The event type must already exist - use List Event Types or Get Even
  - body: { schemas?: object, archived?: boolean, description: string, feature_flag?: string, event_type_name: string }
- `POST https://api.mcp.ai/api/svix/integration/create` — Tool to create a new integration for a specific application. Use after confirming the application ID.
  - body: { name: string, app_id: string }
- `POST https://api.mcp.ai/api/svix/integration/delete` — Permanently delete an integration from a Svix application. This is a destructive operation that cannot be undone. Use when removing webhook integrations that are no longer needed. Requires both the ap
  - body: { app_id: string, integration_id: string }
- `POST https://api.mcp.ai/api/svix/integration/get` — Tool to retrieve details of a specific integration. Use after confirming app_id and integration_id.
  - body: { app_id: string, integration_id: string }
- `POST https://api.mcp.ai/api/svix/integration/list` — Tool to list all integrations for a specific application. Use after confirming the application ID, supporting pagination via limit and iterator. Use when you need to enumerate integrations.
  - body: { limit?: integer, app_id: string, iterator?: string }
- `POST https://api.mcp.ai/api/svix/integration/update` — Tool to update an existing integration by ID. Use when you need to modify an integration's name or feature flags.
  - body: { name: string, app_id: string, integ_id: string, feature_flags?: string[] }
- `POST https://api.mcp.ai/api/svix/message/create` — Tool to create a new message for a specific application in Svix. Use after confirming app ID and event details.
  - body: { appId: string, payload: object, channels?: string[], eventType: string, idempotencyKey?: string, payloadRetentionPeriod?: integer }
- `POST https://api.mcp.ai/api/svix/message/get` — Tool to retrieve details of a specific message by its ID. Use when you need message metadata and status after dispatch.
  - body: { app_id: string, msg_id: string }
- `POST https://api.mcp.ai/api/svix/message/list` — Tool to list all messages for a specific application. Use when you need to fetch or paginate messages after obtaining the application ID.
  - body: { tag?: string, after?: string, limit?: integer, app_id: string, before?: string, status?: integer, channel?: string, iterator?: string, event_types?: string[], with_content?: boolean }
- `POST https://api.mcp.ai/api/svix/source/create` — Creates a new Svix Ingest source for receiving webhooks from external providers. A source generates an ingest URL that you can share with a webhook provider (e.g., GitHub, Stripe) as the destination f
  - body: { uid?: string, name: string, config?: object, source_type: string }

## Example prompts
- "What can I do in Svix?"
- "Show me a summary of my Svix account"

## More
- Page: https://mcp.ai/svix
- Agent spec (llms.txt): https://mcp.ai/svix/llms.txt
- Postman collection: https://mcp.ai/svix/postman.json
