# Thoughtly MCP

> Thoughtly connects your AI agent directly to a voice platform, giving it the ability to make calls and manage contacts in real-time. Your agent can query CRM records, list agents, trigger outbound calls, and pull full call transcripts—all through simple text commands. It bridges the gap between planning contact outreach and actually executing conversational phone workflows.

## Overview
- **Category:** communication
- **Price:** Free
- **Tags:** voice-ai, agents, crm, calling, interviews

## Description

**Thoughtly MCP Server: Your Agent on the Phone Line**

Listen up. This server hooks your AI agent straight into Thoughtly’s voice platform. It lets you ditch text-only commands and turn simple inputs into real, two-way phone conversations. You're not just planning outreach; you're executing it. Your agent can talk to contacts, check out records, and pull full transcripts—all through plain language prompts.

**Initiating Outbound Calls and Agent Personas**

You gotta know who your agent is before they make a call. You start by checking the available personas using `list_interviews`, which spits out all the AI Voice Agents you've set up, giving you their names and IDs. Once you pick the right one, you can run through `get_interview` to pull that specific agent's full profile and status details—you gotta make sure they're ready to roll.

When it’s time to call someone, you use `trigger_call`. You just give your agent a contact number and the selected persona ID, and *boom*. It dials out. This tool runs the whole outbound conversation, making it feel like a natural chat while your AI client handles the back-end work.

**Managing the CRM Directory**

The server keeps track of every single person you talk to. You can treat the Thoughtly CRM like a living database right from your agent's prompt. Need a new lead? Use `create_contact`; just feed it names, emails, or phone numbers and that record is locked in.

Got a contact ID but need all their details—notes, status, everything? Run `get_contact`. If you know what’s wrong with an existing record, you can use `update_contact` to modify specific fields like notes or change the account's status. And if that lead is dead weight and you never want to see them again, you hit them with `delete_contact`. For a quick overview of who you're dealing with, run `list_contacts`; it gives you the full rundown of every contact ID in the directory.

**Reviewing Calls and History**

You wanna know what happened after the call? You got this. First, use `list_calls` to get a summary log of multiple past calls—it’s your quick overview dashboard. If you need the deep dive, feed a specific Call ID into `get_call_history`. It pulls the detailed transcript and all the metadata for that one conversation.

Keep tabs on your account itself by calling `get_user` to grab basic details about your connected Thoughtly user account. This keeps everything synced up and tells you if your connection is solid.

**The Bottom Line**

This isn't just a list of tools; it’s a complete communication loop. Your agent handles the planning, the calling (`trigger_call`), the data gathering (using `get_contact` or `list_contacts`), and the record keeping (with `create_contact` and `update_contact`). It's the whole damn workflow, ready to go when you punch in a simple text command.

## Tools

### create_contact
Adds a new contact record to the Thoughtly CRM, accepting names, emails, or phone numbers.

### delete_contact
Removes an existing contact from your Thoughtsly directory.

### get_call_history
Retrieves the detailed transcript and metadata for a single, specific phone call ID.

### get_contact
Fetches all details associated with one known Thoughtly contact ID.

### get_interview
Retrieves the full profile and status of a specific AI Voice Agent persona.

### list_calls
Lists summary data for multiple past phone calls, acting as a call log overview.

### list_contacts
Retrieves a list of all contacts stored in the Thoughtly CRM.

### list_interviews
Lists all available AI Voice Agents (Interviews), showing their names and IDs.

### trigger_call
Dials a specified contact number using the selected AI voice agent persona for an outbound call.

### update_contact
Modifies existing details—like notes or status—for a specific Thoughtly contact record.

### get_user
Fetches basic user details for your connected Thoughtly account.

## Prompt Examples

**Prompt:** 
```
List all my available Voice Agents in Thoughtly.
```

**Response:** 
```
I've fetched your agents. You currently have 'Sales SDR Persona' (ID: INT-881) and 'Support Desk Assistant' (ID: INT-204) ready to make or receive calls.
```

**Prompt:** 
```
Create a new contact with the phone number +1234567890 and tell the Sales SDR Voice Agent to call them.
```

**Response:** 
```
Contact successfully created with ID CON-1029. I have just triggered the call using the Sales SDR Voice Agent (INT-881). The system is dialing now.
```

**Prompt:** 
```
Get the call transcript for the latest interaction with Call ID CAL-554.
```

**Response:** 
```
Extracting call data... The AI successfully booked an appointment. Here is the transcript: 'AI: Hello, are you available next Tuesday? Human: Yes, 2 PM works. AI: Great, confirmed.'
```

## Capabilities

### Initiate Outbound Calls
Triggers an AI outbound phone call using a specified contact and agent persona.

### Manage Contact Records
Creates, reads, updates, or deletes specific records within the Thoughtly CRM directory.

### Retrieve Call Transcripts
Fetches detailed call logs and full conversation transcripts based on a Call ID.

### Check Agent Statuses
Lists all active AI Voice Agents, allowing your agent to select the correct persona for a job.

## Use Cases

### Cold Outreach Qualification
A new lead comes in. Instead of manually calling, the agent first uses `list_contacts` to ensure the number is registered. Then, it runs `trigger_call`, using the 'SDR Persona' to execute a scripted qualification call, solving the immediate need for contact engagement.

### Post-Call Summary
A sales rep gets back from calls. They don't have time to write notes. The agent pulls the `get_call_history` for Call ID CAL-554, extracts key action items (e.g., 'Booked 2 PM Tuesday'), and uses that text to draft a follow-up email.

### Cleanup Old Leads
The ops team finds old leads with bad data. They run `list_contacts` to see the list, then use `get_contact` on each one they want gone, and finally execute `delete_contact`, keeping the CRM clean.

### Checking User Credentials
A manager needs to verify if a new user exists in Thoughtly before training them. The agent runs `get_user` with the employee ID, confirming access rights and basic profile details instantly.

## Benefits

- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]

## How It Works

The bottom line is: your AI client becomes the dispatcher, ordering voice agents to interact with the real world using natural language prompts.

1. Subscribe to this server and provide your Thoughtly API Token and Team ID.
2. Your text-based AI client issues a command, invoking a specific tool (e.g., `trigger_call`).
3. Thoughtly executes the action—whether it's calling a number or updating a contact record—and returns structured data to your agent.

## Frequently Asked Questions

**How do I check which voice agents are available using Thoughtly MCP Server?**
Run the `list_interviews` tool. This returns a list of all active AI Voice Agents, giving you their unique IDs and names so you know exactly what persona to deploy.

**Can I update contact information using Thoughtly MCP Server?**
Yes, use `update_contact`. You need the existing Contact ID and the specific field(s) you want to change (e.g., company size or status). It modifies only what you tell it to.

**What is the difference between list_calls and get_call_history?**
`list_calls` gives you a high-level summary of many past calls (the log view). `get_call_history` requires a specific Call ID and returns the full, detailed transcript for that single conversation.

**Do I need to run get_contact before trigger_call?**
While not mandatory, it's best practice. Running `get_contact` first confirms the contact details are current and validates that the ID you plan to use for `trigger_call` is accurate.

**Can I mass delete contacts with Thoughtly MCP Server?**
The server provides a `delete_contact` tool, which handles single deletions. For bulk removal, you must first run `list_contacts` to get all IDs and then loop through them manually.

**When I use list_contacts, what credentials must I provide to Thoughtly MCP Server?**
You need your active Thoughtly API Token and Team ID. These tokens authenticate your AI client and grant it the necessary permissions to read or write contact data via the server.

**What metadata does get_call_history provide besides the conversation transcript?**
It returns comprehensive call metadata, including connection timestamps, total duration, and whether the call was marked as successful or failed. This lets you filter records based on outcome.

**If I run trigger_call, how do I track the status of that outbound call?**
The server immediately queues the call and returns a unique Call ID. You must use this specific ID with get_call_history to monitor its real-time progress and retrieve the transcript later.

**Can my text AI agent command a voice agent to call a specific person?**
Yes! Use the `trigger_call` tool by providing the Interview ID (Voice Agent) and the Contact ID. The voice AI will immediately execute the outbound call.

**Is it possible to read the transcript of what the Voice AI discussed during a call?**
Absolutely. By calling the `get_call_history` tool with a specific Call ID, your agent can extract the entire conversational transcript and analyze the outcome without leaving the interface.

**Do I need to manually register contacts in the Thoughtly dashboard before calling them?**
No. The integration provides the `create_contact` tool, allowing your AI to dynamically add new leads to the CRM and immediately initiate a phone call in one fluid workflow.