# Texter MCP

> Texter MCP Server handles all your multi-channel communication needs. Use it to manage chats, send template messages via WhatsApp or Instagram, list conversations across multiple channels, and organize leads with custom labels. It lets your AI client handle customer service tasks—like resolving tickets or retrieving message history—without leaving the chat window.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** sms-marketing, omnichannel, customer-engagement, drip-campaigns, whatsapp-api, messaging-automation

## Description

**Texter MCP Server** handles your whole communication stack, connecting your AI client directly to chats across WhatsApp and Instagram. You don't have to leave the window to manage customer service tasks or send out campaign messages; your agent does it all.

**Retrieving Chat History and Details:** When you need context on an issue, your agent fetches full metadata for a specific chat ID using `get_texter_chat_details`. If you just want to see what was said in a thread without the deep dive, `list_texter_messages` gives you a list of messages sent within that particular chat. To get a birds-eye view of everything happening right now, you can call `list_texter_chats`, which retrieves every active conversation in your workspace. You'll also be able to check out all the connected messaging channels—whether it's WhatsApp or Instagram—by running `list_texter_channels`.

**Initiating Messages and Campaigns:** Need to talk to a customer? Your agent sends a standard message directly into an active chat thread using `send_texter_message`. For bigger outreach, you can trigger official template messages for campaigns via `send_texter_template`, which works specifically through WhatsApp or Messenger. If you need to reach out but don't know which department owns the conversation, you can first check out `list_texter_departments` to see all the different operational departments set up in your Texter account structure.

**Organizing and Closing Conversations:** When a customer issue is solved, you mark it as such. Your agent runs `resolve_texter_chat` to close an active chat conversation, signaling that the ticket's handled. To keep your data clean and traceable, you can apply custom labels using `add_label_to_texter_chat`, assigning a specific label to any existing chat conversation for organization. You also get full visibility into how organized your chats are by calling `list_texter_labels` to see every single custom label you've created.

This setup lets your AI client manage everything from viewing the initial list of conversations via `list_texter_chats`, getting the deep message history using `list_texter_messages`, and finally marking the whole thing as done with `resolve_texter_chat`. You can also use these same tools to discover the workspace structure, confirming all available channels with `list_texter_channels` or checking out department ownership via `list_texter_departments`. Your agent handles the entire lifecycle: listing chats, pulling chat details, sending messages, adding labels for tracking, and resolving the ticket when it's done. It’s everything you need to keep your customer data straight and actionable.

## Tools

### add_label_to_texter_chat
Assigns a specific label to an existing chat conversation for organization.

### get_texter_chat_details
Fetches comprehensive metadata and history for a single, specified chat.

### list_texter_channels
Lists all the messaging channels (WhatsApp, Instagram, etc.) that are connected to your account.

### list_texter_chats
Retrieves a list of every currently active chat conversation in your workspace.

### list_texter_departments
Lists the different departments set up within your Texter account structure.

### list_texter_labels
Shows all the custom labels you've created for organizing chats.

### list_texter_messages
Retrieves a list of messages that have been sent within a specific chat thread.

### resolve_texter_chat
Marks and closes an active chat conversation, signifying the issue is handled.

### send_texter_message
Sends a standard message to any currently active chat thread.

### send_texter_template
Triggers an official WhatsApp or Messenger template message for outreach campaigns.

## Prompt Examples

**Prompt:** 
```
List all active chats in my Texter account.
```

**Response:** 
```
I've retrieved your active chats. You have 3 ongoing conversations including 'Inquiry from John Doe' (WhatsApp), 'Question about Pricing' (Instagram), and 1 other. Which one would you like to see the messages for?
```

**Prompt:** 
```
Send the 'order_confirmed' template in 'pt_BR' to 5511999999999.
```

**Response:** 
```
Template sent! I've triggered the 'order_confirmed' template in Portuguese to the recipient 5511999999999. The message ID is MSG-88231. Shall I track the delivery status?
```

**Prompt:** 
```
Mark chat 'chat_10293' as resolved and add the label 'Support-Fixed'.
```

**Response:** 
```
Chat updated! I've marked chat 10293 as resolved and assigned the 'Support-Fixed' label (ID: lb_552). The conversation is now organized and closed.
```

## Capabilities

### Retrieve chat history and details
The agent fetches full metadata, message lists, and conversation history for any specified chat ID.

### Initiate new messages or campaigns
You send a direct message to an active chat, or you trigger a structured template message for bulk outreach.

### Organize and close conversations
The agent marks chats as resolved/closed and applies custom labels to track status and department ownership.

### Discover workspace structure
You list all connected channels, departments, or available chat labels for oversight.

## Use Cases

### The Overdue Inquiry
A lead messages in, but the thread is old and needs context. The agent runs `get_texter_chat_details` to pull the full message history. You read it, figure out the answer, then use `send_texter_message` to reply. Finally, you run `resolve_texter_chat` and `add_label_to_texter_chat` so the record is closed for billing.

### The Mass Announcement
Marketing needs to send a product update to 50 customers. Instead of manually composing messages, the agent uses `send_texter_template`, selecting the 'announcement' template and passing in dynamic fields like the new version number.

### Auditing Channels
The ops manager needs to know if Instagram or WhatsApp is connected before starting a campaign. They run `list_texter_channels` to verify connectivity, ensuring no channels are missed in the deployment plan.

### Triage and Ownership
A new chat comes in that needs to be routed. The agent first runs `list_texter_departments`, identifies 'Billing' as the correct team, and then applies a specific label using `add_label_to_texter_chat` before handing it off.

## Benefits

- Close out tickets fast. Use `resolve_texter_chat` and `add_label_to_texter_chat` to mark conversations as finished. The agent handles the state change instantly, keeping your team's records clean.
- Run targeted campaigns without manual effort. `send_texter_template` lets you deploy localized template messages for new leads directly via AI commands.
- See everything at a glance. Running `list_texter_chats` gives you an immediate overview of active threads, while `get_texter_chat_details` dives deep into the full conversation history when needed.
- Stay organized across platforms. You can use `list_texter_departments` and `list_texter_labels` to understand your entire workspace setup before routing a new ticket.
- Handle diverse communication types. Whether it's a live chat reply (`send_texter_message`) or an automated drip campaign, the server handles both through dedicated tools.

## How It Works

The bottom line is that it turns your AI client into a direct chat management interface, letting you run complex tasks with simple prompts.

1. First, subscribe to the Texter server and provide your API token and Project ID in the AI client settings.
2. Next, prompt your agent with a specific action—for example: 'List all active chats' or 'Resolve chat ABC and add label Support-Fixed'.
3. The agent runs the required tool call (like `list_texter_chats` or `resolve_texter_chat`) and returns the structured data to you for immediate review.

## Frequently Asked Questions

**How do I list all active chats using list_texter_chats?**
You prompt the agent with 'List all active chats.' The tool runs and returns a comprehensive list of every ongoing conversation ID, letting you know exactly which threads need attention.

**What's the difference between send_texter_message and send_texter_template?**
Use `send_texter_message` for free-form replies to an active chat. Use `send_texter_template` when you need to trigger a structured, pre-approved message type, like 'Order Confirmation,' ensuring compliance.

**Can I organize chats after they are resolved using add_label_to_texter_chat?**
Yes. You must first run `resolve_texter_chat` to close the ticket, and then you can follow up by calling `add_label_to_texter_chat` to categorize it (e.g., 'Needs Follow-up').

**How do I check which messaging channels are connected?**
Run the `list_texter_channels` tool. This gives you a clear list of all linked platforms, like WhatsApp and Instagram, confirming your operational scope.

**How do I retrieve all messages in a specific chat using list_texter_messages?**
It returns a chronological list of every message sent within that conversation. You must provide the unique chat ID and specify a time range to pull the exact data you need for context.

**What happens to a chat when I use resolve_texter_chat?**
The chat status changes from active to resolved, but the message history remains intact. This action is purely organizational and keeps the conversation accessible in your records for auditing.

**What fields must I include when sending a template message using send_texter_template?**
You need to supply all dynamic components defined within that specific template. This ensures the messaging is personalized and adheres to platform requirements like WhatsApp's rules.

**How does list_texter_departments help with team assignments?**
It lists every department configured in your Texter workspace. Your agent uses this data to understand which teams exist, allowing it to correctly assign or route incoming chats.

**Can I see the history of a specific chat via AI?**
Yes! Use the `list_texter_messages` tool and provide the Chat ID. Your agent will retrieve the complete message log for that conversation.

**How do I send a WhatsApp template with parameters?**
Use the `send_texter_template` action. Provide the destination number, Template ID, language, and a JSON array for the dynamic components to personalize the message.

**Is it possible to assign a label to a conversation via AI?**
Absolutely. Use the `add_label_to_texter_chat` tool. Provide the Chat ID and the Label ID to organize your inbox programmatically.