FeaturesHow It WorksSecurity & SOC2Pricing Sign In Get Started Free
Technical Guide

From zero to monitored in 30 seconds.

No SDKs to install, no agents to run, no YAML to write. Choose MCP for full AI agent integration or drop in a webhook URL for instant event shipping.

1️⃣

Create an App

Register your app in the dashboard and get a unique API key + webhook URL.

2️⃣

Choose Integration

Use MCP for AI agent monitoring or a webhook URL for application events.

3️⃣

Get Alerted

Configure channels (email, Slack, Discord) and set your alert rules. Done.

Method 1 — Recommended for AI Agents

MCP — Model Context Protocol

The native protocol for AI agent communication. Add VibeAlerts as an MCP server and every agent action in your workspace automatically reports to your dashboard.

💡

What is MCP?

Model Context Protocol (MCP) is an open standard that lets AI coding tools like Cursor, Claude Desktop, and Windsurf communicate with external services. VibeAlerts implements the Streamable HTTP variant — just add a URL and token, no local server needed.

Cursor MCP Setup

1

Open MCP Settings

In Cursor, open Settings → MCP or press Cmd+Shift+P and search "MCP".

2

Add VibeAlerts Server

Click "Add Server" and paste the config below, replacing va_YOUR_TOKEN with your MCP token from the VibeAlerts dashboard.

3

Restart Cursor

Restart Cursor to activate the connection. You'll see VibeAlerts listed under MCP servers with a green status indicator.

~/.cursor/mcp.json
{
  "mcpServers": {
    "vibealerts": {
      "url": "https://api.vibealerts.com/api/mcp",
      "headers": {
        "Authorization": "Bearer va_YOUR_TOKEN"
      }
    }
  }
}
✅

What the agent can now do

Send alerts, list your apps, query recent events, and check alert rules — all from within your Cursor AI conversation.

Claude Desktop Setup

1

Locate Config File

Find claude_desktop_config.json at:
macOS: ~/Library/Application Support/Claude/
Windows: %APPDATA%\Claude\

2

Add MCP Server

Add the VibeAlerts entry to your mcpServers block. If the file doesn't exist, create it with the content shown.

3

Restart Claude

Fully quit and reopen Claude Desktop. The VibeAlerts tools will appear in the MCP tools panel.

claude_desktop_config.json
{
  "mcpServers": {
    "vibealerts": {
      "url": "https://api.vibealerts.com/api/mcp",
      "headers": {
        "Authorization": "Bearer va_YOUR_TOKEN"
      }
    }
  }
}

Windsurf (Codeium) Setup

1

Open MCP Config

In Windsurf, go to Settings → Cascade → MCP Servers and click "Add Server".

2

Use HTTP Transport

Select "HTTP" as the transport type and enter the URL and Authorization header as shown.

3

Verify Connection

The Cascade AI will confirm "vibealerts connected" in the tool panel. Ask it to list your apps to test.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "vibealerts": {
      "url": "https://api.vibealerts.com/api/mcp",
      "headers": {
        "Authorization": "Bearer va_YOUR_TOKEN"
      }
    }
  }
}

Cline (VS Code Extension)

1

Open Cline MCP Panel

Click the Cline icon in the VS Code sidebar, then click the MCP servers icon in the top-right of the panel.

2

Add Remote Server

Click "Add Remote Server" and paste the URL. Add the Authorization header in the "Headers" field.

3

Test the Connection

Ask Cline: "Can you list my VibeAlerts apps?" — it will use the MCP tool to query your account.

Cline MCP Config
{
  "vibealerts": {
    "url": "https://api.vibealerts.com/api/mcp",
    "headers": {
      "Authorization": "Bearer va_YOUR_TOKEN"
    },
    "transport": "streamable-http"
  }
}
🔗

Browser-based tools — use the Webhook

Bolt.new, Lovable, and other browser-based AI tools don't support native MCP config files. Use the Webhook method instead — you can ask the AI to add the webhook call directly to your generated code.

Prompt to add to Bolt / Lovable

Copy this prompt and paste it into the AI chat after your app is built. The AI will add VibeAlerts reporting to your code automatically.

Prompt for your AI agent
Add VibeAlerts monitoring to this app.
Whenever an error occurs, a suspicious 
request is detected, or an important 
event happens, POST to:

https://api.vibealerts.com/webhook/YOUR_APP_KEY

with JSON body:
{
  "title": "brief description",
  "message": "detailed context",
  "category": "security|performance|cost|usage|error",
  "alertType": "specific_alert_type",
  "severity": "info|warning|critical"
}
🎯

What to ask the AI to monitor

  • • Auth failures and login attempts
  • • API errors and unhandled exceptions
  • • Payment processing events
  • • External API calls and failures
  • • Large data operations
Method 2 — Application Events

Webhook — Any App, Any Language

POST structured JSON to your app's webhook URL. Works from any backend, any language, any framework. No library needed.

Webhook Payload Schema

JSON Schema
{
  // Required
  "title":     "string",    // Short event title
  "message":   "string",    // Detailed context
  "category":  "string",    // security|performance|cost|usage|error

  // Recommended
  "alertType": "string",    // e.g. "brute_force_login"
  "severity":  "string",    // info|warning|critical|emergency

  // Optional enrichment
  "metadata":  {},          // Any additional context
  "userId":    "string",    // Affected user ID
  "requestId": "string"     // Trace/request ID
}
⚡

Response guarantee

Every webhook returns 200 OK in under 50ms. Retry-safe, idempotent, and fire-and-forget safe.

Code Examples

JavaScript / Node.js / Edge
async function sendAlert(event) {
  await fetch(
    `https://api.vibealerts.com/webhook/${process.env.VA_APP_KEY}`,
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(event)
    }
  );
}

// Usage — in your error handler
try {
  await processOrder(order);
} catch (err) {
  await sendAlert({
    title:     'Order processing failed',
    message:   err.message,
    category:  'error',
    alertType: 'unhandled_exception',
    severity:  'critical',
    metadata:  { orderId: order.id }
  });
}
Python
import httpx, os

def send_alert(title, message, category,
               alert_type=None, severity='warning',
               metadata=None):
    url = f"https://api.vibealerts.com/webhook/{os.environ['VA_APP_KEY']}"
    httpx.post(url, json={
        "title":     title,
        "message":   message,
        "category":  category,
        "alertType": alert_type,
        "severity":  severity,
        "metadata":  metadata or {}
    }, timeout=2)

# Usage — FastAPI exception handler
@app.exception_handler(Exception)
async def handle_exception(request, exc):
    send_alert(
        title=f"Unhandled error: {type(exc).__name__}",
        message=str(exc),
        category="error",
        alert_type="unhandled_exception",
        severity="critical"
    )
cURL
curl -X POST \
  https://api.vibealerts.com/webhook/YOUR_APP_KEY \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Test alert from cURL",
    "message": "Manual test from terminal",
    "category": "usage",
    "alertType": "custom",
    "severity": "info"
  }'

# Response: {"ok":true,"alertId":"..."}
Alerting Logic

Alert Rules & Notification Channels

Define exactly when to notify, what threshold to trigger on, and where to send it. Rules run server-side — no client changes needed.

Alert Rules

Each rule defines a trigger condition for a specific alert type. When a matching event arrives, the rule fires and sends to your configured channels.

  • Trigger on count threshold (e.g., 5+ events in 10 minutes)
  • Trigger on rate change (e.g., 200% above baseline)
  • Filter by severity level or metadata fields
  • Per-app or global rules
  • Cooldown periods to avoid alert fatigue
🎯

94 pre-built rule templates

Every alert type comes with a sensible default rule. Enable in one click, customize the threshold if needed.

Notification Channels

📧

Email

Rich HTML emails with alert details, context, and one-click acknowledge. SMTP via your own provider or ours.

💬

Slack

Formatted Slack messages with severity color-coding, app name, and direct dashboard link.

🎮

Discord

Discord webhook embeds with full alert context. Perfect for dev teams already in Discord.

🔗

Custom Webhook

POST to any URL on alert trigger. Build custom PagerDuty, OpsGenie, or Jira integrations.

MCP API Reference

Available MCP Tools

When connected via MCP, your AI agent can call these tools directly in conversation.

Tool NameDescriptionExample Usage
send_alertSend an alert to your VibeAlerts dashboard"Alert that the migration failed"
list_appsList all registered apps for your account"What apps am I monitoring?"
get_recent_alertsFetch alerts from the last N hours"Show me critical alerts from today"
get_alert_catalogBrowse available alert types by category"What security alerts can I send?"
get_dashboard_statsFetch summary stats for an app"How many alerts this week for my-app?"
🔑

Getting your MCP token

Go to Settings → API Keys in the VibeAlerts dashboard. Click "Generate MCP Token" — this creates a 365-day token scoped to MCP operations. Store it in your config file, never commit it to git.

Ready to connect?

Create your account, get an API key, and paste the MCP config. 30 seconds.

Create Free Account