# MiiTel Alternative MCP

> MiiTel Alternative MCP Server automates call and meeting logging by connecting your AI agent directly to MiiTel’s backend. Use this server to trigger CSV data exports, create structured records from external webhooks, and manage the entire lifecycle of voice intelligence data through simple natural language prompts.

## Overview
- **Category:** customer-support
- **Price:** Free
- **Tags:** voice-intelligence, call-analytics, meeting-transcription, data-export, crm-integration, sales-coaching

## Description

You’re done jumping between dashboards or manually exporting files. This server lets your AI agent talk directly to MiiTel's backend, handling all the heavy lifting for logging and data management through simple natural language prompts. It keeps you from having to mess with webhooks or complicated APIs yourself; you just tell your agent what you need.

For getting external call logs into MiiTel, you’ll use the `create_call_record` tool. You feed this function the raw data from an outside phone system—that's simulating a webhook event—and the server imports it directly into your MiiTel account. It treats that incoming information like a real, native call log entry. This means if you got a third-party CRM or another platform logging interactions, you just pipe that data through `create_call_record`, and it shows up in your system without any manual cleanup or mapping.

When you need to import meeting details from outside systems, you'll use the `create_meeting_record` tool. This is different from call logging because this function handles more metadata; it imports not just the basic transcript data, but also specific participant information and host details. Like the call logger, it simulates an incoming webhook event, which is how it gets all that structured data into MiiTel’s records seamlessly. You use `create_meeting_record` when you've got a batch of meeting transcripts or summaries from another service, and you want them treated as official parts of your MiiTel history.

If the problem isn't logging new events, but rather getting historical data out, you’ll need to trigger an export queue. You start that process with `create_queue`. Telling the server to use this tool kicks off a background job—a data queue—that starts generating a CSV file containing all the call history or meeting records you specify. This isn't instant; it runs in the background, and its whole point is to gather potentially massive amounts of historical data into one exportable format. You tell it what kind of data you want (calls or meetings), and it initiates the gathering process.

Once that job is queued up, you need to know what's going on. That’s where `list_queues` comes in. This tool lets you check the status of every single export job—past jobs and current ones, too. It gives you a clear breakdown: Is it still **WAITING** for processing? Is it currently **PROCESSING** and taking its sweet time? Or did it finish up cleanly and is marked as **COMPLETED**? If something goes wrong, this tool tells you immediately if the job hit an **ERROR**, so you know exactly where to look. You use `list_queues` anytime you need visibility into your data export pipeline.

Basically, you're handling a full lifecycle: logging new calls with `create_call_record`, logging complete meetings with `create_meeting_record`, kicking off the historical extraction using `create_queue`, and finally monitoring the whole deal with `list_queues`. It keeps your entire voice intelligence data management system in one spot, letting you manage everything through simple prompts to your agent.

## Tools

### create_call_record
Imports external call data into MiiTel by simulating an incoming webhook event.

### create_meeting_record
Imports meeting details, including participant and host metadata, using a simulated incoming webhook.

### create_queue
Starts the process of generating a CSV file containing call or meeting history data.

### list_queues
Retrieves a list and current status (e.g., WAITING, COMPLETED) for all active and past data export queues.

## Prompt Examples

**Prompt:** 
```
List all my recent CSV export queues and their status.
```

**Response:** 
```
I've retrieved your export queues. You have 3 recent requests: 2 are COMPLETED and 1 is currently PROCESSING. Would you like the details for the completed ones?
```

**Prompt:** 
```
Create a new CSV export queue for meeting history.
```

**Response:** 
```
I've initiated the `create_queue` action for a VIDEO_HISTORY_CSV_LIST. The process is now in the WAITING state. I'll let you know when it's ready.
```

**Prompt:** 
```
Import a call record with ID 'webhook-123' for a call that ended at 2023-10-27T10:00:00Z.
```

**Response:** 
```
I've successfully sent the call data to MiiTel using the `create_call_record` tool. The record is now being processed in your tenant.
```

## Capabilities

### Log Incoming Calls
Your agent uses the `create_call_record` tool to log external phone system data directly into your MiiTel account.

### Log Meeting Transcripts
Use `create_meeting_record` to import meeting details, including participant and host metadata, from outside systems.

### Trigger Data Exports
The server creates a data queue using `create_queue`, initiating the generation of CSV files for historical call or meeting records.

### Monitor Export Status
You check on your queued jobs and their status (Waiting, Processing, Completed, Error) by calling `list_queues`.

## Use Cases

### The Sales Team Needs CRM Sync
A sales manager needs to send yesterday's call logs to the main CRM. Instead of logging into MiiTel, downloading a file, and emailing it out, they ask their agent: 'Start an export queue for all calls from last week.' The agent runs `create_queue`, tracks the job using `list_queues`, and alerts the manager when the CSV is ready to download.

### Support Needs Unified Customer View
A support engineer receives a ticket about an issue that happened on a phone call made through a different system. They use their agent to run `create_call_record` with the webhook data, instantly adding the external call history into MiiTel's unified customer view.

### The Analyst Needs Historical Benchmarks
A business analyst needs a full dataset of all meeting interactions for Q1. They prompt their agent to run `create_queue` specifically targeting 'Meeting History.' The agent manages the process, and the analyst gets an exportable CSV directly into their data pipeline.

### QA Testing Data Integrity
A QA tester needs to validate that new features correctly log transcripts. They instruct their agent to run `create_meeting_record` with mock webhook data, confirming the system accepts and processes external metadata before deployment.

## Benefits

- Stop manual data transfers. Instead of exporting logs and copying/pasting them elsewhere, you simply prompt the agent to run `create_queue`, and MiiTel starts the export process for you automatically.
- Centralize disparate records. If your team uses a different phone system, don't worry about syncing it manually. Use `create_call_record` or `create_meeting_record` to dump that data into MiiTel using a simple webhook call.
- Track jobs without checking the UI. Instead of guessing if an export worked, use `list_queues`. The agent checks the status in real-time and tells you exactly what's done or where it failed.
- Streamline Sales Ops data flow. You can automate the export of call logs for CRM sync by triggering a queue with `create_queue`, eliminating the need for dedicated ETL scripts just to pull reports.
- Handle complex metadata. When logging meetings, you don't just get a title; `create_meeting_record` handles full participant and host details in one API call.

## How It Works

The bottom line is: you use your AI client to talk to the server, which translates that into specific API calls (like `list_queues`) to manage your voice data without logging into MiiTel.

1. Subscribe to the server and enter your MiiTel Tenant Code and API credentials.
2. Ask your AI client (Claude, Cursor, etc.) to perform an action. For example: 'Start a CSV export queue for last month's call data.'
3. The agent runs the appropriate tool (`create_queue`), updates the status in MiiTel, and reports back when the job is ready or if there's an error.

## Frequently Asked Questions

**How do I check if my CSV export job started with create_queue?**
You use `list_queues` to see all your current and past jobs. The status will show 'WAITING' or 'PROCESSING,' confirming the queue was successfully created.

**Can I import data from a different phone system using create_call_record?**
Yes, `create_call_record` is designed for this. You send it webhook-formatted data that simulates an incoming call into your MiiTel account.

**What does the 'ERROR' status in list_queues mean?**
It means the export job failed to complete. The agent should report a specific error message from MiiTel, which tells you whether it was an API credential issue or data formatting problem.

**Do I need to use create_meeting_record for all meeting types?**
No, but if the external system generates structured metadata (like participant lists and host names), `create_meeting_record` is the tool that correctly ingests and maps those specific details.

**When I use `list_queues`, what kind of permissions are needed for my API credentials?**
You need read-only access to the MiiTel data layer. The credentials must have visibility into both the active and historical queue records to successfully list their status.

**What is the required format when I use `create_call_record`?**
The input payload needs to be structured JSON that includes at minimum the participant IDs, start time, end time, and associated external webhook ID. Missing identifiers prevent record creation.

**Does `create_queue` have any limits on how many records it can process?**
Yes, there are rate limits based on the volume of data requested per hour. For massive historical exports, consider scheduling multiple smaller queues instead of one single request.

**If I use `create_meeting_record` and only have partial participant metadata, will it fail?**
The core meeting ID and the timestamps are mandatory. You can often add records with missing secondary details (like optional host names), but the primary identifiers must be present.

**Can I programmatically trigger a CSV export of my call history?**
Yes. Use the `create_queue` tool to generate CSV exports for call or meeting histories. You can then monitor the progress using `list_queues`.

**How do I check if my data export is ready for download?**
Use the `list_queues` tool. You can filter by `process_status` (e.g., WAITING, PROCESSING, COMPLETED) to see the current state of your requested exports.

**Can I bring call data from other phone systems into MiiTel?**
Absolutely. The `create_call_record` tool allows you to import call history and audio files from external systems into MiiTel via webhooks.