svix
Send and debug webhooks — applications, endpoints, messages, delivery attempts and replays.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen svix_create_endpoint
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"svix": {
"url": "https://svix.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://svix.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (19)
🟢svix_list_applications(limit, iterator, order, exclude_apps_with_no_endpoints)
List the applications (your tenants/customers) in the Svix environment. Svix REST: GET /api/v1/app.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"order": {
"description": "Sort order by creation time.",
"type": "string",
"enum": [
"ascending",
"descending"
]
},
"exclude_apps_with_no_endpoints": {
"description": "Skip applications that have no endpoints configured.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_get_application(app_id)
Fetch a single application by its Svix id or your own uid. Svix REST: GET /api/v1/app/{app_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id (app_...) or your uid."
}
},
"required": [
"app_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_endpoints(app_id, limit, iterator, order)
List the webhook endpoints registered for one application. Svix REST: GET /api/v1/app/{app_id}/endpoint.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"order": {
"description": "Sort order by creation time.",
"type": "string",
"enum": [
"ascending",
"descending"
]
}
},
"required": [
"app_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_get_endpoint(app_id, endpoint_id)
Fetch a single webhook endpoint, including its URL, subscribed event types and channels. Svix REST: GET /api/v1/app/{app_id}/endpoint/{endpoint_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint's Svix id (ep_...) or uid."
}
},
"required": [
"app_id",
"endpoint_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_get_endpoint_stats(app_id, endpoint_id, since, until)
Read delivery statistics for one endpoint — counts of success, pending, sending and fail. The fastest way to see whether an endpoint is healthy. Svix REST: GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/stats.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint's Svix id or uid."
},
"since": {
"description": "ISO-8601 start of the window, e.g. 2026-08-01T00:00:00Z.",
"type": "string"
},
"until": {
"description": "ISO-8601 end of the window.",
"type": "string"
}
},
"required": [
"app_id",
"endpoint_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_messages(app_id, limit, iterator, event_types, channel, ...)
List the webhook messages sent for one application, newest first. Filter by event type, channel, tag or time window. Svix REST: GET /api/v1/app/{app_id}/msg.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"event_types": {
"description": "Only messages of these event types, e.g. [\"invoice.paid\"].",
"type": "array",
"items": {
"type": "string"
}
},
"channel": {
"description": "Only messages on this channel.",
"type": "string"
},
"tag": {
"description": "Only messages carrying this tag.",
"type": "string"
},
"before": {
"description": "ISO-8601 upper bound on message time.",
"type": "string"
},
"after": {
"description": "ISO-8601 lower bound on message time.",
"type": "string"
},
"with_content": {
"description": "Include each message's payload. Defaults to true.",
"type": "boolean"
}
},
"required": [
"app_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_get_message(app_id, msg_id, with_content)
Fetch a single message, including its event type and payload. Svix REST: GET /api/v1/app/{app_id}/msg/{msg_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"msg_id": {
"type": "string",
"description": "The message's Svix id (msg_...) or your eventId."
},
"with_content": {
"description": "Include the payload. Defaults to true.",
"type": "boolean"
}
},
"required": [
"app_id",
"msg_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_attempts_by_message(app_id, msg_id, limit, iterator, status, ...)
List every delivery attempt Svix made for one message, across endpoints — status, response code and body. This is the tool for answering 'why did this webhook not arrive?'. Svix REST: GET /api/v1/app/{app_id}/attempt/msg/{msg_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"msg_id": {
"type": "string",
"description": "The message's Svix id."
},
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"status": {
"description": "Filter by attempt status: 0 success, 1 pending, 2 fail, 3 sending.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"status_code_class": {
"description": "Filter by response class: 0 any, 100, 200, 300, 400, 500.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"endpoint_id": {
"description": "Only attempts against this endpoint.",
"type": "string"
}
},
"required": [
"app_id",
"msg_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_attempts_by_endpoint(app_id, endpoint_id, limit, iterator, status, ...)
List delivery attempts against one endpoint, newest first. Filter by status to find the failures. Svix REST: GET /api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint's Svix id or uid."
},
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"status": {
"description": "Filter by attempt status: 0 success, 1 pending, 2 fail, 3 sending.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"status_code_class": {
"description": "Filter by response class: 0 any, 100, 200, 300, 400, 500.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"app_id",
"endpoint_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_endpoint_messages(app_id, endpoint_id, limit, iterator)
List the messages destined for one endpoint, with each message's delivery status. Svix REST: GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/msg.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint's Svix id or uid."
},
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
}
},
"required": [
"app_id",
"endpoint_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_event_types(limit, iterator, include_archived, with_content)
List the event types defined in the environment — the catalogue endpoints can subscribe to. Svix REST: GET /api/v1/event-type.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"include_archived": {
"description": "Also return archived (deprecated) event types.",
"type": "boolean"
},
"with_content": {
"description": "Include each event type's JSON schema.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_get_event_type(event_type_name)
Fetch a single event type by name, including its description and JSON schema. Svix REST: GET /api/v1/event-type/{event_type_name}.
Esquema de entrada
{
"type": "object",
"properties": {
"event_type_name": {
"type": "string",
"description": "The event type name, e.g. invoice.paid."
}
},
"required": [
"event_type_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_list_background_tasks(limit, iterator, status, task)
List Svix background tasks (bulk replays, expunges, imports) with their status. Use it to follow up a recover or replay. Svix REST: GET /api/v1/background-task.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1-250. Svix defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 250
},
"iterator": {
"description": "Cursor from the previous page's `iterator` field. Omit for the first page.",
"type": "string"
},
"status": {
"description": "Filter by task status.",
"type": "string",
"enum": [
"running",
"finished",
"failed"
]
},
"task": {
"description": "Filter by task kind, e.g. endpoint.recover.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢svix_health
Check that the Svix API is reachable and the API key works. Returns 200 with an empty body when healthy. Svix REST: GET /api/v1/health.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴svix_create_application(name, uid, rate_limit, metadata)
Create a new application (one tenant/customer of yours) in the Svix environment. Svix REST: POST /api/v1/app.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable application name."
},
"uid": {
"description": "Your own stable id for this application, unique per environment.",
"type": "string"
},
"rate_limit": {
"description": "Optional throttle rate, messages per second.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"metadata": {
"description": "Arbitrary string key/value metadata.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴svix_create_endpoint(app_id, url, description, uid, event_types, ...)
Register a webhook endpoint URL for one application, optionally scoped to specific event types and channels. Svix REST: POST /api/v1/app/{app_id}/endpoint.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"url": {
"type": "string",
"description": "The HTTPS URL Svix should deliver webhooks to."
},
"description": {
"description": "Human-readable note about this endpoint.",
"type": "string"
},
"uid": {
"description": "Your own stable id for this endpoint.",
"type": "string"
},
"event_types": {
"description": "Only deliver these event types. Omit to receive all of them.",
"type": "array",
"items": {
"type": "string"
}
},
"channels": {
"description": "Only deliver messages on these channels.",
"type": "array",
"items": {
"type": "string"
}
},
"disabled": {
"description": "Create the endpoint in a disabled state.",
"type": "boolean"
}
},
"required": [
"app_id",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴svix_send_message(app_id, event_type, payload, event_id, channels, ...)
Send a webhook message to every endpoint of an application subscribed to the event type. This delivers real traffic to your customers' URLs. Svix REST: POST /api/v1/app/{app_id}/msg.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"event_type": {
"type": "string",
"description": "The event type name, e.g. invoice.paid. Must already exist."
},
"payload": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The JSON body delivered to the endpoints."
},
"event_id": {
"description": "Your own idempotency id for this message.",
"type": "string"
},
"channels": {
"description": "Restrict delivery to endpoints on these channels.",
"type": "array",
"items": {
"type": "string"
}
},
"tags": {
"description": "Tags for later filtering.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"app_id",
"event_type",
"payload"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴svix_resend_message(app_id, msg_id, endpoint_id)
Queue one message for redelivery to one endpoint. The usual fix after a customer's endpoint was down. Svix REST: POST /api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"msg_id": {
"type": "string",
"description": "The message's Svix id."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint to redeliver to."
}
},
"required": [
"app_id",
"msg_id",
"endpoint_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴svix_recover_endpoint(app_id, endpoint_id, since, until)
Replay every failed message for one endpoint since a timestamp. Runs as a background task — follow it with svix_list_background_tasks. Svix REST: POST /api/v1/app/{app_id}/endpoint/{endpoint_id}/recover.
Esquema de entrada
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The application's Svix id or uid."
},
"endpoint_id": {
"type": "string",
"description": "The endpoint to recover."
},
"since": {
"type": "string",
"description": "ISO-8601 start of the replay window, e.g. 2026-08-01T00:00:00Z."
},
"until": {
"description": "ISO-8601 end of the replay window. Defaults to now.",
"type": "string"
}
},
"required": [
"app_id",
"endpoint_id",
"since"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia