MCP Integration
Mitte provides a Model Context Protocol (MCP) server that lets AI assistants interact with your webhook infrastructure directly. Manage endpoints, inspect logs, send test events, and debug delivery failures — all from your AI chat.
What is MCP?
The Model Context Protocol is an open standard that allows AI assistants (like Claude, GitHub Copilot, and Cursor) to connect to external tools and data sources. Instead of copy-pasting data into your AI chat, MCP lets the assistant call tools and read resources directly.
Prerequisites
- A Mitte account — sign up here if you don't have one.
- An API key — generate one from the API Keys page in your dashboard. The key format is
mk_...(52 characters).
Setup
The MCP server endpoint is:
https://mitte.run/api/mcp
Authentication is via a Bearer token in the Authorization header. Choose your AI client below:
Claude Desktop
Open your Claude Desktop configuration file and add the following under mcpServers:
{
"mcpServers": {
"mitte": {
"url": "https://mitte.run/api/mcp",
"headers": {
"Authorization": "Bearer mk_your_api_key_here"
}
}
}
}
Configuration file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
VS Code (GitHub Copilot)
Add the following to your VS Code settings.json (User or Workspace):
{
"mcp": {
"servers": {
"mitte": {
"url": "https://mitte.run/api/mcp",
"headers": {
"Authorization": "Bearer mk_your_api_key_here"
}
}
}
}
}
Alternatively, create a .vscode/mcp.json file in your project root:
{
"servers": {
"mitte": {
"url": "https://mitte.run/api/mcp",
"headers": {
"Authorization": "Bearer ${input:mitte-api-key}"
}
}
},
"inputs": [
{
"id": "mitte-api-key",
"type": "promptString",
"description": "Your Mitte API key (mk_...)",
"password": true
}
]
}
Cursor
Open Cursor Settings → MCP and add a new server, or create/edit ~/.cursor/mcp.json:
{
"mcpServers": {
"mitte": {
"url": "https://mitte.run/api/mcp",
"headers": {
"Authorization": "Bearer mk_your_api_key_here"
}
}
}
}
Windsurf
Add to your ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"mitte": {
"serverUrl": "https://mitte.run/api/mcp",
"headers": {
"Authorization": "Bearer mk_your_api_key_here"
}
}
}
}
Available Tools
The MCP server exposes 9 tools that your AI assistant can call:
| Tool | Arguments | Description |
|---|---|---|
list_endpoints | — | List all your webhook endpoints with stats. |
create_endpoint | name, targetUrl | Create a new endpoint. Checks plan limits. |
update_endpoint | endpointId, name?, targetUrl?, isActive? | Update an endpoint's name, URL, or active status. |
delete_endpoint | endpointId | Permanently delete an endpoint and clean up stats. |
list_logs | endpointId, page?, limit? | List recent webhook logs (paginated, max 50 per page). |
get_log_detail | logId | Get full log detail including request/response bodies. |
send_test | endpointId, payload? | Send a test webhook event to an endpoint. |
get_dashboard_summary | — | 24-hour activity summary with hourly breakdown. |
get_plan_usage | — | Current plan, quota usage, and account limits. |
Available Resources
Resources provide read-only data that the AI assistant can access:
| Resource | URI | Description |
|---|---|---|
endpoints-list | mitte://endpoints/list | List of all webhook endpoints. |
endpoint-detail | mitte://endpoints/{slug} | Detailed info for a single endpoint with Redis stats. |
dashboard-summary | mitte://dashboard/summary | 24h summary with hourly stats and activity feed. |
plan-usage | mitte://plan/usage | Current plan, quota, and limits. |
Prompts
Prompts are pre-built workflows that combine tools and AI analysis:
| Prompt | Arguments | Description |
|---|---|---|
debug_endpoint | endpointSlug | Analyzes the last 10 failed deliveries and suggests fixes using AI. |
setup_webhook | provider (e.g. "Stripe") | Step-by-step guide for setting up a new endpoint for a specific webhook provider. |
Usage Examples
Once connected, you can interact with Mitte naturally in your AI chat:
Managing Endpoints
"List all my Mitte endpoints"
"Create a new endpoint called 'Stripe Production' targeting https://api.myapp.com/webhooks/stripe"
"Pause the endpoint with slug abc123"
"Delete the endpoint xyz789"
Inspecting Logs
"Show me the last 10 webhook logs for endpoint abc123"
"Get the full details of log #42 — I need to see the request body"
"How many webhooks failed in the last 24 hours?"
Debugging
"Debug endpoint my-stripe — why are deliveries failing?"
"Analyze the recent failures and suggest what's wrong"
Testing
"Send a test webhook to endpoint abc123"
"Send a test with this payload: { \"event\": \"order.created\", \"id\": 42 }"
Monitoring
"Show me the dashboard summary"
"What's my current plan usage?"
"How many requests do I have left this month?"
Setup Guidance
"Help me set up Stripe webhooks"
"Guide me through configuring GitHub webhook forwarding"
Authentication Details
The MCP server uses stateless HTTP transport. Key details:
- Transport: Streamable HTTP (no SSE, no session IDs).
- Auth: Bearer token via
Authorizationheader. - Method:
POSTfor JSON-RPC messages. - Key format:
mk_+ 48 random characters. - Expiration: Keys can be set to expire after 30, 60, 90, or 365 days, or never.
- Limit: Up to 10 API keys per account.
Troubleshooting
Connection Refused
Ensure your API key is valid and hasn't expired. You can check key status on the API Keys page. Expired keys show an "Expired" badge.
401 Unauthorized
Verify the Authorization header format is exactly Bearer mk_... (with a space after "Bearer"). Ensure no extra whitespace or line breaks in the key.
Tools Not Appearing
Restart your AI client after updating the MCP configuration. Some clients require a full restart (not just a reload) to pick up new MCP servers.