# Hootsuite MCP

> Hootsuite (Social Media Management) MCP Server connects your AI client directly to your Hootsuite account. You can schedule posts across multiple networks, manage connected social profiles (Twitter, LinkedIn, etc.), and monitor outbound message queues from a single conversation. It handles everything from drafting content to auditing team roles.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** content-scheduling, social-listening, profile-management, social-crm, multi-channel-publishing

## Description

**Hootsuite Social Media Management** connects your AI client straight to your Hootsuite account. You can schedule posts across multiple networks, manage connected social profiles, and check message queues—all from one spot. You'll handle everything from drafting content to auditing who's on the team.

**Schedule and Manage Content:** You can use `create_message` to draft and schedule posts for multiple platforms, letting you set a specific future time (ISO 8601). If you need to yank a post before it goes live, run `delete_message` to remove the scheduled message.

**Media Handling:** You run `get_media_upload_url` to get a secure URL. You must use that URL to upload images or videos for your posts.

**Social Accounts:** You can call `get_social_profile` to pull detailed metadata about any specific connected social media profile. You'll use `list_social_profiles` to see all the unique social media profiles connected to the account. You can also check out all the Hootsuite organizations you have access to by listing them with `list_organizations`.

**Team Management:** To see who's working with you, you can run `list_members` to get a list of all team members and their roles within an organization. You can also check out the internal teams set up in a specific organization using `list_teams`.

**Messaging and History:** You can use `list_messages` to see every message, whether it's scheduled or it's already gone out. You can also check out basic info about the person logged in right now by calling `get_me`.

## Tools

### create_message
Schedules a new social media post for a specific platform and optionally for a future date.

### delete_message
Removes a message that was previously scheduled to be posted.

### get_me
Retrieves the basic information of the user who is currently logged into Hootsuite.

### get_media_upload_url
Generates a secure URL that you must use to upload images or videos for posting.

### get_social_profile
Fetches detailed information and metadata about a specific connected social media profile.

### list_members
Lists all registered team members and their roles within a single Hootsuite organization.

### list_messages
Provides a list of all messages, including those that are scheduled or have already been sent.

### list_organizations
Lists all Hootsuite organizations that the connected account has access to.

### list_social_profiles
Lists all unique social media profiles connected to the Hootsuite account.

### list_teams
Lists the internal teams set up within a specific Hootsuite organization.

## Prompt Examples

**Prompt:** 
```
List all my social profiles connected to Hootsuite
```

**Response:** 
```
I've found 4 connected social profiles: 'TechCorp_Twitter' (ID: 123), 'TechCorp_LinkedIn' (ID: 456), 'Personal_IG' (ID: 789), and 'Facebook_Page' (ID: 012). Which one would you like to use for your next post?
```

**Prompt:** 
```
Schedule a post for tomorrow at 10 AM: 'Excited to announce our new product launch! #innovation'
```

**Response:** 
```
Scheduling post… I've set your message to be published tomorrow at 10:00 AM across Twitter and LinkedIn. The Message ID is msg-98765. Would you like to check the media upload status if you attached an image?
```

**Prompt:** 
```
What messages are scheduled to go out today?
```

**Response:** 
```
I've retrieved 3 scheduled messages for today: 'Q2 Roadmap Highlights' (2 PM), 'Customer Spotlight' (4 PM), and 'Industry News' (6 PM). Would you like to see the full text or social profiles for any of these?
```

## Capabilities

### Schedule and Manage Content
Use `create_message` to draft and schedule social media posts across multiple platforms, optionally setting a specific future time (ISO 8601).

### Remove Drafted Posts
Run `delete_message` to remove a scheduled social media post before it goes live.

### Check User Identity
Call `get_me` to retrieve basic information about the authenticated user.

### Get Media Upload Links
Execute `get_media_upload_url` to generate a secure URL for uploading media content.

### Inspect Social Accounts
Use `get_social_profile` to retrieve detailed metadata for a specific connected social profile.

### List Team Members
Run `list_members` to retrieve a list of all team members within an organization.

### Check Message History
Execute `list_messages` to see both scheduled and already sent messages.

## Use Cases

### Needs to schedule a campaign across five clients.
The agency lead needs to schedule content for five different clients. Instead of logging into five separate Hootsuite dashboards, they ask their agent to run `list_social_profiles`, identify all five client accounts, and then use `create_message` to schedule the content across all five using a single prompt.

### Needs to check who can approve a post.
A manager needs to know if a new team member has posting rights for a specific client. They run `list_members` and ask the agent to filter the output by 'Posting Role' for the correct organization. This verifies permissions without manual checking.

### Needs to recall a mistake post.
A social media manager drafts a post, realizes the message is wrong, and needs to stop it before it goes out. They immediately run `delete_message` on the specific Message ID, preventing a public error and saving time.

### Needs to map out all available accounts.
A marketing ops person needs to confirm every single social media platform connected to the main account. They ask the agent to run `list_social_profiles`, which gives a complete list of IDs and connection types, guaranteeing nothing is missed.

## Benefits

- Stop jumping between tabs. You manage content scheduling and profile data using the `create_message` and `list_social_profiles` tools, all from your chat client.
- Audit your team's access instantly. Use `list_members` to see who is in an organization and what roles they have, eliminating the need to check internal dashboards.
- Control your outgoing posts. Before a scheduled item goes live, use `delete_message` to pull it back. You see the full message history with `list_messages`.
- Handle media without friction. Call `get_media_upload_url` to get a pre-signed URL, then upload your media. This handles high-throughput image and video processing.
- Manage complex setups. Run `list_organizations` and `list_teams` to map out every client account and every internal team structure you manage.
- Get a single source of truth. `list_social_profiles` shows every connected platform (Twitter, Facebook, etc.) so you never forget which account you're posting to.

## How It Works

The bottom line is you manage your entire social presence from your chat client, without jumping between tabs or screens.

1. First, subscribe to the Hootsuite server and enter your Hootsuite OAuth Access Token.
2. Your AI client connects using the token. You then prompt the agent to perform an action, like listing all profiles or scheduling content.
3. The agent calls the appropriate tool (e.g., `list_social_profiles`) and returns the structured data to your chat window.

## Frequently Asked Questions

**How do I list all my connected social profiles using Hootsuite (Social Media Management)?**
Run the `list_social_profiles` tool. This command returns a full list of every unique social media account ID and connection type you have configured in Hootsuite.

**Can I delete a post I scheduled using create_message?**
Yes. Use the `delete_message` tool and provide the Message ID. This stops the post from going live and removes it from the queue.

**What is the best way to see all my scheduled content?**
Use the `list_messages` tool. It pulls together both messages that are waiting to go out and messages that have already been published, giving you a complete audit trail.

**How do I check team roles in Hootsuite (Social Media Management)?**
You use the `list_members` tool. It gives a roster of every person in the organization and their specific permissions and roles.

**Do I need to upload media before using get_media_upload_url?**
Yes. The `get_media_upload_url` tool generates a unique, temporary URL. You must use this URL to upload the media first; the post can't be scheduled without it.

**How do I list all the teams within an organization using list_teams?**
You call list_teams to get a list of all existing teams. This helps you map out which team owns which social profiles for better workflow organization.

**What information does the get_social_profile tool provide?**
The get_social_profile tool returns comprehensive details for a specific social network account. This includes metadata you need to verify the profile's status and connection details.

**How do I manage or audit the organization structure using list_organizations?**
Use list_organizations to see every organization you have access to. This lets you switch context easily and manage content across multiple distinct client accounts.

**Can I schedule a post for multiple social networks at once?**
Yes. The `schedule_message` tool accepts an array of social profile IDs. Your agent can send the same text content to all selected networks (e.g. Twitter and LinkedIn) in a single command, ensuring cross-platform consistency.

**How do I find the ID of a social profile?**
Ask your agent to `list_social_profiles`. It will return all connected accounts along with their unique IDs, network type (TWITTER, FACEBOOK, etc.), and usernames, making it easy to identify the correct target for your posts.

**Can I delete a scheduled post if I find an error?**
Absolutely. Use the `delete_message` tool with the specific Message ID. Your agent will remove the pending post from the Hootsuite queue, preventing it from being published.