# String MCP

> String connects your AI agent directly to business messaging features. Use it to send SMS and MMS messages, manage contacts, view conversation history, and run marketing campaigns. You can list all tags for segmentation, create new contacts, or check API connectivity status with a single tool call.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** sms-marketing, mms-messaging, customer-engagement, contact-management, push-notifications, campaign-tracking

## Description

**String** connects your agent right to your business messaging features. Forget jumping between separate dashboards just to manage outreach; your AI client handles everything—from checking contact details to firing off a full MMS campaign using one tool call.

**Connectivity and Setup**
You gotta make sure the connection's solid first. You can run `check_string_status` to verify if your agent is actually talking to String's API, so you don't waste time trying to send messages when the link's down.

**Managing Contacts**
The system gives you full control over who you're messaging. Use `list_contacts` to pull a complete list of every single contact stored in your database. Need details on just one person? You can use `get_contact`, giving it an ID or a phone number, and you get all their specific info back.

If you find a new lead, you don't have to manually enter them anywhere; run `create_contact` and drop in the required details straight away. Furthermore, for segmentation, you can use `list_tags` to see every tag available—that lets your agent segment users into tight groups for super targeted messaging runs.

**Sending Messages (SMS/MMS)**
When it's time to talk, `send_message` sends a brand new text message or an MMS to whatever phone number you specify. This is how you fire off the actual communications.

**Tracking Conversations and History**
You don't wanna send something without knowing what was said before. You can use `list_conversations` to pull up a list of all active or recent threads associated with your users. If you need the raw details, running `get_message` lets you fetch the full content and metadata for any single message ID.

To get a broader picture, `list_messages` pulls back a paginated list of messages, letting you filter that history by date or even by specific user.

**Running Campaigns**
Before sending out anything big, your agent needs to know what's going on. You can use `list_campaigns` to retrieve a full rundown of all existing SMS marketing campaigns, confirming the parameters are right before you start mass communications.

## Tools

### check_string_status
Verifies the API connection status between your agent and String.

### create_contact
Adds a new contact entry to the system using required details.

### get_contact
Retrieves all specific information about one contact by ID or phone number.

### get_message
Fetches the full content and metadata for a single message ID.

### list_campaigns
Retrieves a list of all existing SMS marketing campaigns.

### list_contacts
Generates a complete list of every contact currently stored in the system.

### list_conversations
Lists all active or recent conversation threads associated with users.

### list_messages
Retrieves a paginated list of messages, allowing you to filter by date or user.

### list_tags
Shows all available tags used for organizing and segmenting contacts.

### send_message
Sends a new text message (SMS/MMS) to the specified phone number.

## Prompt Examples

**Prompt:** 
```
Send a text to +14155551234 saying 'Your order is ready for pickup'.
```

**Response:** 
```
Message sent! ID: msg_4921 delivered to +14155551234 via String.
```

**Prompt:** 
```
List all my contacts.
```

**Response:** 
```
You have 234 contacts. Top recent: 'Sarah K.' (+1415...), 'Mike R.' (+1650...), 'Lisa T.' (+1212...).
```

**Prompt:** 
```
Show all active conversations.
```

**Response:** 
```
12 active conversations. Most recent: Sarah K. (last message 5 min ago), Mike R. (2 hours ago).
```

## Capabilities

### Send Targeted Messages
Your agent sends specific text or media messages (SMS/MMS) to any phone number.

### Manage Contact Lists
The system allows your agent to list all existing contacts, retrieve details on single contacts, and create new entries.

### Track Communication History
You can view active conversation threads or fetch detailed records for past messages and conversations.

### Execute Campaigns
The agent lists existing marketing campaigns to ensure the outreach parameters are correct before sending mass communications.

### Segment Users by Tag
You can list all available contact tags, which lets your AI client segment users for highly targeted messaging runs.

## Use Cases

### Onboarding a New Lead
A Product Owner gets a new lead phone number. Instead of manually entering it, they ask their agent to `create_contact`. The agent adds the contact, tags them as 'New Sign-up', and then immediately uses `send_message` to send the welcome text.

### Reactivating a Dormant Customer
A Marketing Manager wants to re-engage users who haven't logged in for 60 days. They ask their agent to `list_tags` to find the 'Dormant' tag. The agent filters all contacts by that tag and runs an MMS campaign using `send_message`.

### Investigating a Support Issue
A Customer Support Specialist gets a complaint about message delivery. They ask their agent to run `list_conversations` to see the timeline, then use `get_message` on the specific message ID to confirm if it was delivered or if there's an error.

### Pre-Flight Check for Mass Outreach
Before launching a major seasonal campaign, the team needs to know if their API credentials are valid. They start by calling `check_string_status`. The agent confirms connectivity before proceeding to list contacts or run any campaigns.

## Benefits

- Automate segmentation: Instead of manually filtering spreadsheets, use `list_tags` to get all available categories. Your agent then uses that list to target only the 'High-Value' users when calling `send_message`.
- Maintain a full history: When responding to a customer, your agent doesn't guess what was said before. It calls `list_conversations` and `get_message` first, ensuring the reply is relevant to the entire thread.
- Reduce setup time: Need to test an outreach flow? Use `check_string_status` at the start of your script. This confirms API connectivity instantly so you don't waste time sending messages that fail due to authentication issues.
- Onboard contacts fast: When a user signs up, instead of waiting for manual input, your agent runs `create_contact` immediately. The new record is ready for campaigns and messaging tools right away.
- Run structured outreach: Use `list_campaigns` before launching any mass message. This lets you verify the campaign's scope and history without having to navigate the web UI.

## How It Works

The bottom line is that your AI client performs multi-step outreach—from checking status to segmenting users—without needing multiple manual logins or API calls.

1. First, use `check_string_status` to verify the connection and ensure API connectivity is active.
2. Next, run `list_contacts` or `list_tags` to identify the specific users or segments you need to reach.
3. Finally, call `send_message`, providing the recipient's number and the message content. The agent handles the delivery tracking.

## Frequently Asked Questions

**How do I send a message to only users who are 'VIP'?**
First, use `list_tags` to confirm the tag name is correct. Then, your agent uses that tag name when calling `list_contacts`. Finally, it runs `send_message` against the resulting list of contacts.

**What if I need to know if my API key is working before I send anything?**
You run `check_string_status`. This tool confirms connectivity and verifies your credentials immediately. If it fails, you know the problem is authentication, not your code.

**Can I get the message history for a specific user ID?**
Yes. You first use `list_conversations` to find the thread ID, and then pass that ID into `get_message`. This pulls up the full message record you need.

**Does String MCP Server handle MMS messages, or just text?**
It handles both. The `send_message` tool supports sending multimedia messages (MMS) in addition to standard SMS text messages.

**When I use the `list_campaigns` tool, how do I see all active SMS marketing efforts for String?**
The `list_campaigns` tool returns all existing marketing campaigns. It gives you campaign IDs, names, and current statuses. You use this to quickly inventory every active or paused effort managed by String.

**Before running the `send_message` tool, how can I make sure I have a clean record of the recipient with String?**
You should use the `create_contact` tool. This lets you register new people in your system first. It ensures that all future messages sent via String are tied to a verified contact profile, which is key for tracking.

**What does the `list_tags` tool show me about my current customer segments in String?**
The `list_tags` tool shows you every tag group attached to your contacts. It's how you verify which segmentation labels exist before running a targeted send. You get the full list of available categories for filtering.

**If I know an ID, how do I use the `get_contact` tool to retrieve all specific information on a user from String?**
The `get_contact` tool pulls all available data for one specific contact ID. You get details like their full name and phone number, which is better than just listing them if you need to validate the data structure before use.

**Can my AI send text messages?**
Yes. Use `send_message` with the recipient phone number and message text. The agent delivers it via String.

**Can I view conversation history?**
Yes. `list_conversations` shows all active threads, and `list_messages` returns full message history.

**Can I create contacts through the AI?**
Yes. `create_contact` adds a new contact with name and phone number to your String directory.