# Heymarket MCP

> Heymarket MCP Server. Manages all your business SMS and chat communications. Your AI client can send messages, check conversation history, list active chats, and update contact profiles, all from a shared business number. It handles everything from lead follow-ups to support queues.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** business-sms, mms-messaging, shared-inbox, customer-communication, text-marketing, real-time-messaging

## Description

Heymarket MCP Server handles all your business SMS and chat comms. Your AI client can send texts or MMSs using a designated team member's ID to a target phone number. It'll list all active conversations in your shared inbox. You can pull the full message log for any specific chat thread or contact. You'll also list all contacts, supporting phone number filtering, and you can use `create_contact` to register brand new people into your Heymarket contact database. Need to tweak someone's details or notes? You can use `update_contact_profile` to modify any existing contact. You can check out the staff directory listing of all team members with `list_team_members`. To handle incoming messages, you can use `update_chat_status` to change the state or assign a new staff member to a chat thread. When you need to send a text, use `send_sms_message`. To keep tabs on what's been said, you can get specific message info with `get_message_details`. You can list all current conversations using `list_active_chats` and pull the full message exchange log for any given conversation thread with `get_chat_history`.

## Tools

### create_contact
Registers a brand new person into your Heymarket contact database.

### get_chat_history
Retrieves the entire message exchange log for a given conversation thread.

### get_message_details
Gets specific information about a single sent or received message.

### list_active_chats
Shows all conversations currently active in your shared inbox.

### list_contacts
Searches and lists your Heymarket contact records, supporting phone number filtering.

### list_team_members
Pulls a directory listing of all staff members in your Heymarket workspace.

### send_sms_message
Sends a new text or MMS message to a specific number using a chosen team member's ID.

### update_chat_status
Changes the state or assigns a new staff member to a chat thread.

### update_contact_profile
Modifies any existing contact's details, notes, or associated data.

## Prompt Examples

**Prompt:** 
```
Send an SMS 'Your order is ready!' to '+15551234567' using member 'M123'.
```

**Response:** 
```
Message sent! I've successfully delivered your update to '+15551234567' via Heymarket. The message ID is 'msg_98765'.
```

**Prompt:** 
```
List all active chat conversations from the shared inbox.
```

**Response:** 
```
I've retrieved 5 active threads. Notable conversations include 'Support Request #402' and 'New Lead Inquiry'. Would you like to read the latest messages for any of these?
```

**Prompt:** 
```
Update contact 'C456' with first name 'John' and add a note.
```

**Response:** 
```
Contact 'C456' updated! I've set the first name to 'John' and added your note to their profile in Heymarket. Their profile is now up to date.
```

## Capabilities

### Send SMS and MMS Messages
Your AI client sends text or multimedia messages using a designated team member's ID and a target phone number.

### Monitor Live Chats
The AI lists all currently active conversation threads in the shared inbox.

### Retrieve Conversation History
The AI pulls the full message log for a specific chat thread or contact.

### Manage Contact Data
The AI adds new contacts or modifies existing contact details and notes.

### Assign Chat Ownership
The AI changes the status or assigned staff member for an active conversation.

### View Team Directory
The AI retrieves a list of staff members who can handle incoming messages.

## Use Cases

### The Weekend Lead Follow-Up
A sales rep needs to follow up with a lead who filled out a form. Instead of manually searching, they prompt the agent to check `list_contacts` for the phone number, then use `send_sms_message` to send a personalized follow-up. The agent handles the lookup and the message delivery.

### Triage a Support Crisis
A support agent gets a complex complaint. They ask the agent to run `list_active_chats` to see the thread, then `get_chat_history` to read the full complaint timeline. They use `update_contact_profile` to add a specific internal note before responding.

### Onboarding a New Partner
The operations manager needs to add a new vendor. They prompt the agent to `create_contact` with the vendor's details. Next, they use `list_team_members` to find the correct account manager, then assign the new chat to that person via `update_chat_status`.

### Audit a Campaign
The marketing team needs to verify who received a specific campaign message. They ask the agent to `get_message_details` for a message ID, which provides the delivery status and recipient information.

## Benefits

- **Manage Contacts:** Never manually update a record again. Use `update_contact_profile` to instantly modify names, notes, or company data for any contact.
- **Handle High Volume:** Stop losing leads in the queue. Use `list_active_chats` to get a real-time count of all open threads and prioritize your response workflow.
- **Automate Outreach:** Send messages without leaving your agent. `send_sms_message` allows you to trigger follow-ups or updates to customers using a shared business number.
- **Build Context:** Don't guess what happened. Use `get_chat_history` to retrieve the full conversation log instantly, giving your AI agent complete context before responding.
- **Coordinate Teams:** Improve response times. `list_team_members` lets your AI check who is available, and `update_chat_status` ensures the right person owns the next response.
- **Data Integrity:** Keep records clean. Use `list_contacts` to validate existing records or `create_contact` to onboard new leads accurately.

## How It Works

The bottom line is, your AI client acts as a dedicated coordinator, running your SMS and chat tasks without you ever leaving your workspace.

1. First, subscribe to the Heymarket server and grab your API Key from your Heymarket Dashboard (Administration > Integrations > API).
2. Next, your AI client calls the tool (e.g., `send_sms_message`) and passes the required parameters (to number, member ID, message body).
3. The Heymarket platform executes the action, sends the message, and returns a confirmation ID or the requested data payload to your AI client.

## Frequently Asked Questions

**How do I send an SMS message using the Heymarket MCP Server with `send_sms_message`?**
You provide the target phone number, the message content, and the `member_id` of the staff member sending it. The AI handles the delivery and confirms the message ID.

**Can I update a contact's profile after getting chat history using `update_contact_profile`?**
Yes. After running `get_chat_history`, you can use `update_contact_profile` to save key details or notes from the conversation directly into the contact's record.

**Which tool should I use to see all ongoing support threads? Use `list_active_chats`.**
The `list_active_chats` tool shows all conversations currently open in the shared inbox, helping you prioritize which threads need attention.

**Does the Heymarket MCP Server help with team assignment? Use `update_chat_status`.**
Yes. `update_chat_status` modifies a chat's state or assigns it to a specific staff member, ensuring the right person handles the next reply.

**How do I check which team members I can send messages from? Use `list_team_members`.**
Use `list_team_members` to retrieve a directory of available workspace members. This tells you which `member_id` you need to include when calling `send_sms_message`.

**What if I need to find a contact by a specific phone number? Use `list_contacts`.**
You must use `list_contacts` and pass the phone number as a filter. This function returns a list of contacts matching that number, helping you find the correct ID.

**Can I see the full context of a message exchange? Use `get_chat_history`.**
Yes, `get_chat_history` retrieves the entire conversation transcript for a given chat ID. This gives your AI client the full context needed to respond accurately.

**How do I manage multiple existing customer profiles? Use `list_contacts`.**
You start by calling `list_contacts` without filters to get a master list of all existing contacts. Then, you can iterate through the list to process or update multiple profiles.

**How do I generate an API Key for Heymarket?**
Log in to your Heymarket account, navigate to **Administration** > **Integrations** > **API**, and click **Create Key** to generate your unique identifier.

**Can the agent send images or media via SMS (MMS)?**
Yes! If you provide a public media URL in the message tool, Heymarket will automatically deliver it as an MMS to the recipient.

**How do I find the correct Member ID to send messages from?**
Use the `list_team_members` tool. It will return all staff members in your workspace along with their unique `id`, which you can then use as the sender.