# Convoy MCP

> Convoy manages your entire webhook infrastructure from within your AI client. Create, update, and delete endpoints; broadcast events to all subscribers; or pause traffic instantly for maintenance. It gives you programmatic control over complex event delivery pipelines without ever leaving your terminal.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** webhooks, api-management, event-delivery, infrastructure, webhook-gateway

## Description

Webhook management is usually a headache of dashboards and manual clicking. Convoy changes that by letting your AI client orchestrate every aspect of your event infrastructure through simple conversation. You can build new endpoints, or maybe you need to test an old one, so you use `create_endpoint` for setup. When the time comes to push data, instead of manually triggering a flow, you just tell your agent to broadcast an event. The system then handles sending that message to every matching destination. If things go wrong, you don't guess; you check delivery attempts and pinpoint exactly where the failure happened. All this control is available through Vinkius, giving you one place to manage thousands of connections across any MCP-compatible client.

## Tools

### activate_endpoint
Restores traffic flow to a specific webhook destination that was paused.

### batch_retry_event_deliveries
Attempts to resend multiple failed events in one batch process.

### broadcast_event
Sends an event payload to all matching endpoints simultaneously.

### bulk_create_filters
Creates multiple data filters for a subscription using a single command.

### bulk_onboard
Adds many new webhook endpoints and subscriptions to your project at once.

### create_endpoint
Registers a brand new destination URL for incoming webhooks.

### create_event
Manually generates and sends a single, specific event payload.

### create_event_type
Defines the schema or structure for a new type of event that your system uses.

### create_filter
Sets up rules to determine which events should trigger specific subscriptions.

### create_portal_link
Generates a dedicated URL for accessing webhook management settings.

### create_source
Defines the origin or system that is responsible for sending events.

### create_subscription
Sets up a connection between an event type and a destination endpoint.

### delete_endpoint
Permanently removes a webhook destination from the project.

### dynamic_event
Creates a flexible event whose content can be determined at runtime.

### fanout_event
Disperses an event to multiple, unrelated endpoints efficiently.

### get_delivery_attempt
Retrieves the detailed status of one specific attempt to deliver an event.

### get_endpoint
Fetches all metadata about a single, existing webhook destination.

### import_event_types
Loads defined event types into the system using an OpenAPI specification file.

### list_delivery_attempts
Retrieves a list of all delivery attempts associated with one specific event delivery.

### list_endpoints
Lists every webhook destination configured in the current project.

### list_event_deliveries
Shows a summary list of all events that have been delivered recently.

### list_meta_events
Retrieves general system-level events, separate from application data.

### list_subscriptions
Lists all active subscriptions that link event types to endpoints.

### pause_endpoint
Temporarily stops traffic to a specific webhook endpoint immediately.

### retry_event_delivery
Re-sends an entire recorded event delivery that failed previously.

### update_endpoint
Changes the URL or settings of an existing webhook destination without deleting it.

## Prompt Examples

**Prompt:** 
```
List all endpoints for project 'proj_123'.
```

**Response:** 
```
I've retrieved the endpoints for project 'proj_123'. You have 3 active endpoints: 'Staging Webhook' (ID: end_001), 'Production Sync' (ID: end_002), and 'Analytics Collector' (ID: end_003).
```

**Prompt:** 
```
Create a new endpoint named 'Production Webhook' at 'https://api.example.com/webhook' for project 'proj_123'.
```

**Response:** 
```
The endpoint 'Production Webhook' has been successfully created in project 'proj_123' with ID 'end_999'. It is now ready to receive events.
```

**Prompt:** 
```
Broadcast an event of type 'user.signup' with data '{"id": 1}' in project 'proj_123'.
```

**Response:** 
```
Broadcasting the 'user.signup' event... The event has been dispatched to all matching endpoints in project 'proj_123'.
```

## Capabilities

### Endpoint Management
Create, read, update, or delete specific webhook destinations within a project.

### Event Broadcasting and Fanout
Trigger events across multiple services simultaneously or send a single event to all subscribed endpoints.

### Traffic Flow Control
Instantly pause specific webhooks or activate them when maintenance is complete, managing live traffic flow.

### Delivery Monitoring and Debugging
Retrieve detailed logs of past delivery attempts to debug failure points in your pipeline.

### Bulk Infrastructure Operations
Process large numbers of endpoints, subscriptions, or filters at once using bulk tools.

## Use Cases

### Testing a high-traffic endpoint rollout
A developer needs to verify that the new payment webhook only receives data after it hits staging. They ask their agent to `create_endpoint` for the staging URL, and then use `broadcast_event` with test data. This confirms the full path works before flipping the switch.

### Handling a production outage
The SRE notices delivery failures on critical endpoints. They ask their agent to check the status using `list_delivery_attempts`, find the failing batch, and immediately run `retry_event_delivery` without touching any UI.

### Scaling a new microservice
A team is launching 50 related services that all need to subscribe to user creation events. Instead of running 50 manual steps, they use `bulk_onboard` and define the necessary subscriptions in one go.

### Maintenance mode enforcement
A developer needs to update an endpoint's backend logic. They ask their agent to run `pause_endpoint` on the primary production URL, ensuring no data is lost or corrupted during deployment, and then reactivate it when done.

## Benefits

- Instant traffic control: You don't have to jump into a dashboard just to hit pause. Use `pause_endpoint` or `activate_endpoint` to instantly manage live webhook flow for maintenance windows.
- Deep debugging visibility: When an event fails, you don't get a vague error code. You can use `get_delivery_attempt` and `list_delivery_attempts` to pinpoint the exact moment and reason for failure.
- Bulk efficiency: Managing fifty endpoints one by one is slow. Use `bulk_onboard` or `bulk_create_filters` to handle massive infrastructure changes in a single conversation.
- Complete event lifecycle control: Need to test an old flow? Instead of recreating it, you can use `create_event` or `fanout_event` to programmatically trigger and verify the entire sequence.
- Simplified setup: Setting up new integrations requires defining types and connections. Use `create_event_type` followed by `create_subscription` to define your system's event contracts easily.

## How It Works

The bottom line is that you manage complex event delivery infrastructure using natural language prompts instead of clicking through multiple web dashboards.

1. Subscribe to this MCP and provide your Convoy API Key and Base URL.
2. Tell your AI client what you need: 'List all endpoints for the production project' or 'Create a new endpoint at X address'.
3. Your agent executes the necessary commands, confirming success or detailing any failures in real time.

## Frequently Asked Questions

**How do I check if an endpoint is working with Convoy?**
You can use `get_endpoint` to retrieve the full metadata and status of any specific webhook destination. This confirms its current state before you attempt a test event.

**Can I trigger multiple events at once using Convoy?**
Yes, you have two options: use `broadcast_event` to send the same payload to all matching endpoints, or use `fanout_event` if you need to dispatch different event types across various services.

**What is the difference between create_event and broadcast_event in Convoy?**
Using `create_event` manually generates a single, specific data payload for testing. `broadcast_event`, however, sends that event to all configured subscribers simultaneously.

**How do I fix an endpoint that failed last week with Convoy?**
You first list the failures using `list_delivery_attempts` to find the specific delivery ID. Then, you use `retry_event_delivery` to re-send the entire event batch.

**Does Convoy handle endpoint updates?**
Yes. Instead of deleting and recreating a destination URL, you use `update_endpoint`. This modifies settings while maintaining the existing webhook ID and subscription history.