# SnapCall MCP

> SnapCall MCP Server connects your AI agent directly to real-time voice, video, and screen sharing data. It lets you automate customer support workflows by creating instant calls, capturing video clips on demand, and running complex analysis on call streams. You can manage entire conversations programmatically—from initiating a session with `create_call` to automatically syncing insights using webhooks.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** interactive-video, voice-calls, screen-sharing, customer-engagement, support-automation

## Description

**SnapCall MCP Server: Video and Call Interaction Management**

Your AI agent connects right into SnapCall via Model Context Protocol (MCP). This server lets you programmatically handle real-time voice, video, and screen sharing data. You don't need to jump between apps; your agent manages the entire conversation lifecycle using exposed tools.

*   **Managing Live Sessions:** To start a support session or sales demo, your agent calls `create_call`, which initiates both instant voice and video connections with a customer. If you need visual proof during an active chat, it uses `create_video_clip_request` to ask the customer for that specific clip on demand.
*   **Tracking History:** You'll use `list_call_streams` to pull a summary list of every recent, ongoing, or finished call in your account. When you need the deep dive—all the metadata and specifics from one particular session—you run `get_call_details`. 
*   **Pulling Intelligence:** The agent extracts structured data from completed calls using `get_ai_insights_for_call`, which pulls summarized metrics like key pain points or top issues. For a broader view of topics, it runs `list_ai_skills_data` to get AI-generated summaries across multiple sessions.
*   **Automating Data Flow:** You set up instant data pipes with `create_webhook`. This tool pushes call events—like when a session starts (`call.started`) or status changes—directly into your external services, bypassing manual logging. If you gotta clean house, you can use `list_webhooks` to see every setup and `delete_webhook` to remove an unnecessary notification.
*   **System Status:** You check your account health and usage limits by running `get_account_info`. 

Your agent processes the full data stream: it starts a call, requests media during the interaction, records all metadata through `list_call_streams`, pulls structured insights via `get_ai_insights_for_call` after it's done, and then pushes every single event to your CRM or database using webhooks. You manage everything from initiating the session with `create_call` to syncing the final analysis data.

## Tools

### archive_call_stream
Archives or permanently deletes a recorded call session record.

### create_call
Initiates an instant video or voice support call with a customer.

### create_video_clip_request
Requests the customer to provide a specific video clip during a live session.

### create_webhook
Sets up a new webhook that pushes data to an external endpoint when certain call events occur (e.g., `call.started`).

### delete_webhook
Removes an existing, unnecessary webhook notification.

### get_account_info
Retrieves general details about your SnapCall account setup and usage limits.

### get_ai_insights_for_call
Pulls structured, summarized data (like pain points or top issues) from a specific completed call session.

### get_call_details
Retrieves all metadata and details for a specified historical call stream.

### list_ai_skills_data
Lists the available AI-generated summaries of skills or topics covered across multiple calls.

### list_call_streams
Retrieves a list of all recent, ongoing, or completed call sessions in your account.

### list_webhooks
Lists every webhook you have currently set up to track data flow.

## Prompt Examples

**Prompt:** 
```
List all active data streams in my SnapCall account.
```

**Response:** 
```
I've retrieved your active streams. You have 3 concurrent sessions currently being monitored for AI insights. Which one would you like to inspect?
```

**Prompt:** 
```
Show me all video call sessions from today with their duration, resolution status, and customer satisfaction.
```

**Response:** 
```
18 video call sessions today. Resolved on first call (14, 78%): avg duration 8.4 min. Escalated (3, 17%): forwarded to specialists. Abandoned (1, 5%): customer disconnected at 2 min. Average session duration: 7.2 minutes. CSAT: 4.7/5 (14 ratings received). Top issues: product demo request (5), technical troubleshooting (4), billing inquiry (3), onboarding help (3), feature walkthrough (3). Screen sharing used: 12 sessions (67%). Co-browsing: 4 sessions. Recording: all sessions recorded.
```

**Prompt:** 
```
Generate a weekly performance report for all support agents handling video calls.
```

**Response:** 
```
Weekly performance report (May 12-16). 6 agents handled 89 video calls. Top performer: Sarah Chen (23 calls, 91% resolution, 4.9/5 CSAT, avg 6.8 min). James Park: 18 calls, 83% resolution, 4.6/5. Lisa Wang: 16 calls, 88% resolution, 4.7/5. Alex Rivera: 14 calls, 86% resolution, 4.5/5. 2 additional agents: combined 18 calls. Team averages: Resolution 86%, CSAT 4.7/5, Duration 7.8 min. Improvement vs last week: resolution +3%, CSAT +0.2. Training recommendation: billing escalation procedures.
```

## Capabilities

### Manage Live Calls
You use `create_call` to programmatically initiate both voice and video support sessions.

### Extract Performance Data
The agent runs `get_ai_insights_for_call` or `list_ai_skills_data` to pull structured metrics, like CSAT scores or top pain points, from completed calls.

### Capture Specific Media
You call `create_video_clip_request` to ask the customer for a video clip on-demand during an active session.

### Automate Data Flow
Using `create_webhook`, you set up instant notifications that push call events (like status changes or data records) to your external services.

### View Call History
You use `list_call_streams` and `get_call_details` to view a summary of all recent conversations and their metadata.

## Use Cases

### Post-Demo Sales Follow-up
A sales engineer just finished a 30-minute product demo. Instead of writing up meeting notes, they prompt their agent: 'Run `get_ai_insights_for_call` for the call stream ID 123.' The agent instantly returns structured data showing the customer's top three pain points and whether they requested billing info.

### On-Demand Documentation
A support rep is troubleshooting a technical issue. They prompt: 'Ask the user to provide a video clip of the error.' The agent uses `create_video_clip_request` and monitors the stream, capturing exactly what's needed for documentation.

### CRM Synchronization
A customer service call ends. To log it in the CRM automatically, the ops user prompts: 'Create a webhook for `call.ended` that sends data to Zapier.' The agent uses `create_webhook`, ensuring zero manual logging.

### Audit and Reporting
The manager needs a summary of all calls handled last week. They prompt: 'List the last 20 call streams' (`list_call_streams`). The agent returns a list with IDs, dates, and basic status codes for quick review.

## Benefits

- Start real-time interactions instantly. You can use `create_call` to launch a video or voice session right from your agent chat without needing the customer to download anything.
- Get structured performance data immediately. Instead of reading through notes, run `get_ai_insights_for_call` to pull actionable metrics like CSAT scores and top issues for any call you specify.
- Keep your systems in sync automatically. By calling `create_webhook`, you ensure that when a session starts or ends, the data hits your CRM or database without manual triggers.
- Monitor team effectiveness at scale. Use `list_ai_skills_data` to see what topics agents are discussing most often across hundreds of calls, helping managers identify training gaps.
- Maintain a clear audit trail. With tools like `get_call_details`, you can pull every piece of metadata—duration, resolution status, etc.—for any call recorded in your system.

## How It Works

The bottom line is: your AI agent can manage complex call events and data synchronization without you having to leave the chat interface.

1. Subscribe to the SnapCall MCP Server and grab your unique API key.
2. Plug that key into your AI client (Claude, Cursor, etc.).
3. Your agent can then execute actions—for example, running `create_call` or `list_ai_skills_data`—by simply being prompted to do so.

## Frequently Asked Questions

**How do I start a test call using `create_call`?**
You just tell your agent: 'Start a new video call with user X.' The tool handles the initiation process. You'll get a confirmation ID back that you can use for later monitoring.

**What is the difference between `list_call_streams` and `get_call_details`?**
`list_call_streams` gives you a quick roster of recent calls (ID, date, status). You have to run `get_call_details` next to pull all the deep metadata for any single stream ID.

**Can I use `create_webhook` for multiple events?**
Yes. When you set it up, you specify which events matter—like a combination of `call.started` and `clip.created`. This ensures your external system only gets notified when the exact sequence happens.

**How do I get insights on skills using `list_ai_skills_data`?**
You run `list_ai_skills_data` first to see what types of skill categories are available. Then, you pass the necessary parameters (like date range or agent ID) to pull the actual data.

**If I delete a webhook using `delete_webhook`, does it affect my call history?**
No. Deleting a webhook only stops the *future* notifications; it doesn't touch or modify any historical records managed by SnapCall.

**What information do I get when I use the `get_account_info` tool?**
It returns your overall SnapCall account metrics. You'll see usage totals, billing status, and API limits here. This helps you monitor capacity before running large operations.

**How do I properly archive or delete a call record using `archive_call_stream`?**
You pass the specific stream ID to `archive_call_stream`. Deletion permanently removes the data, while archiving moves it to secure, historical storage. Use this for compliance.

**If I need to check my existing integrations, what tool do I use with `list_webhooks`?**
The `list_webhooks` tool displays all registered endpoints and their associated trigger events. Reviewing this list confirms which data streams are actively sending notifications.

**How do I find my SnapCall API Key?**
Log in to your SnapCall account, navigate to **Settings** > **API**, and you will find your unique secret API Key there.