# Sprout Social MCP

> Sprout Social MCP Server gives your AI client full command over global social media operations. You can schedule posts, pull granular analytics across multiple brands, and audit brand mentions—all without leaving your coding editor. It lets you run `get_profile_metrics` or check scheduled content using `list_scheduled_posts`, making it a complete workflow hub for marketing teams.

## Overview
- **Category:** growth-engine
- **Price:** Free
- **Tags:** social-listening, content-publishing, engagement-metrics, brand-monitoring, analytics-reporting, social-media-management

## Description

**Sprout Social MCP Server: Your Command Center for Global Marketing Ops**

You're done jumping between your code editor and half a dozen separate social dashboards. This Vinkius integration brings all the heavy lifting for your brand—across every linked network—straight into your AI workflow. You get full command over global social operations without ever leaving your IDE.

Your agent can handle everything from scheduling announcements to pulling deep performance metrics, giving you complete control over the content lifecycle right where you need it.

**Auditing and Inventory Management**

You gotta know what accounts you're running before you post anything. You can use `list_profiles` to pull a master list of every single individual social media account connected to your organization. If you wanna see how those profiles are grouped, run `list_profile_groups`; it’ll give you an inventory of the organizational groupings managing multiple accounts. For a full picture of your setup, check out `list_listening_topics`, which provides a complete list of every configured social listening topic ready for monitoring.

**Content Pipeline Control**

When it comes to posts, you control the whole flow. You can use `create_social_post` to draft and queue up new announcements across multiple profiles simultaneously, letting your agent handle the specified text and publication time parameters. Before scheduling, you should check what's already waiting in line; run `list_scheduled_posts` to see every piece of content queued for future dates. If a post isn't scheduled yet, you can pull drafts using `list_draft_posts`, getting a list of all social media content items that exist but haven't gone live or been put on the calendar. You also get a history by calling `list_published_posts` to see every post that has already hit the feeds.

**Performance and Analytics Deep Dive**

This is where you pull the numbers. To calculate overall profile performance metrics, use `get_profile_metrics`. This tool pulls raw data on engagements, follower growth, and total impressions for any connected account over a specific date range. You can narrow your focus even further by running `get_tag_performance`, which generates reports that isolate metrics based only on custom tags you used in your posts. Need to track public sentiment? Run `get_listening_analytics` to pull detailed social listening data, showing what the general public is saying about specific topics or brands within a defined date range. If you're just checking what people are talking about generally, run `list_topics` to see all available monitoring subjects.

This server makes managing complex, multi-brand marketing efforts straightforward. You don't need multiple dashboards; your agent does the heavy lifting for you.

## Tools

### create_social_post
Schedules a brand new social media post across specified profiles with optional text and time parameters.

### get_listening_analytics
Pulls specific metrics regarding public discussion on a set topic within a defined date range.

### get_profile_metrics
Retrieves detailed performance analytics for a single profile, covering engagements and followers over time.

### get_tag_performance
Generates performance reports that isolate metrics based on specific custom tags used in posts.

### list_draft_posts
Retrieves a list of all social media content drafts created but not yet scheduled or published.

### list_listening_topics
Provides an inventory of all configured and available social listening topics for monitoring.

### list_profile_groups
Lists the organizational groups that contain multiple connected social media profiles within Sprout Social.

### list_profiles
Gathers a complete list of all individual, connected social media accounts managed by the organization.

### list_published_posts
Retrieves a history of posts that have already gone live across all linked profiles.

### list_scheduled_posts
Lists content items that are currently queued up and scheduled for future publication dates.

## Prompt Examples

**Prompt:** 
```
Give me the list of profiles attached, I need to know which ones are our global Facebook pages.
```

**Response:** 
```
Gathering connected profile roots using `list_profiles`:

1. 📘 **Facebook Fan Page** - 'Global Vinkius Tech' (ID: 100223)
2. 🐦 **X / Twitter** - '@VinkiusGlobal' (ID: 554302)
3. 📘 **Facebook Fan Page** - 'Support EU' (ID: 100889)

You have two primary Facebook targets linked. Would you like to schedule an announcement across `100223` natively?
```

**Prompt:** 
```
Tell me the profile metrics for the first week of September on our X/Twitter account.
```

**Response:** 
```
Fetching analytics from `get_profile_metrics` on ID 554302 targeting [2025-09-01 => 2025-09-07]:

- **Total Engagements**: 4,210 (+12% vs prior week)
- **Net Follower Growth**: 154
- **Total Impressions**: 185K

Your X profile sustained healthy organic virality this period. Should I query the specific tags or listening reports?
```

**Prompt:** 
```
Create and schedule a new post for our primary account. Output JSON array structure and tell it: 'Big things coming next Friday!' queued for 2025-10-10 at noon.
```

**Response:** 
```
Assembled payload arrays calling `create_social_post` with parameter `profile_ids: ["100223"]` natively bridging string texts:

**STATUS: QUEUED SUCCESS** ✅
**Timestamp Set**: `2025-10-10T12:00:00Z`
**Content Mapped**: "Big things coming next Friday!"

The post successfully resides securely encapsulated within Sprout Social backend ready to automatically clear pipelines at your allocated interval block. Use `list_scheduled_posts` to re-audit if desired.
```

## Capabilities

### Schedule new posts
The agent drafts or queues content for publication across multiple linked social profiles at a specified time.

### Calculate profile performance metrics
It retrieves raw data on engagements, follower growth, and total impressions for any connected account over a given date range.

### Analyze brand mentions by topic
The agent pulls social listening data to see what the public is saying about your specific topics or brands.

### Audit connected accounts and groups
It lists all active social profiles and organizational groupings managed within Sprout Social, giving you a full inventory of nodes.

### Review content status (Drafts/Scheduled)
The agent pulls lists of posts that are currently drafted or scheduled for future publication, allowing you to manage the pipeline.

## Use Cases

### Pre-launch campaign coordination
The team needs to launch a coordinated announcement across Facebook and X next week. They ask the agent: 'List all primary profiles using `list_profiles`.' The agent responds with IDs, confirming they are ready. Then, they use `create_social_post` to draft and schedule the exact content for two different dates.

### Weekly performance review
The analyst needs a quick report on last week's engagement across all channels. They prompt: 'Give me profile metrics for this past week.' The agent calls `get_profile_metrics` and returns the key stats, allowing the analyst to immediately generate slides without logging into any external dashboard.

### Investigating a PR issue
A brand reputation problem hits. Instead of manually checking Twitter feeds, they ask the agent to run `get_listening_analytics` on 'Product Name + failure'. The system pulls all related mentions and sentiment data, allowing them to act fast.

### Content backlog cleanup
The manager realizes several posts were drafted but never scheduled. They run `list_draft_posts` to see the titles and status of every forgotten piece of content, then use `list_scheduled_posts` to confirm what's actually going out.

## Benefits

- **Automate Publishing:** Use `create_social_post` to queue content for multiple profiles simultaneously. You don't have to draft a post in five different places; you tell the agent once, and it handles the scheduling across the board.
- **Deep Analytics:** Need to know if your last campaign actually worked? Run `get_profile_metrics` on ID 554302 for Q3 data. You get raw numbers—total engagements, net follower growth, total impressions—that you can use immediately in a markdown chart.
- **Targeted Insights:** Forget general reporting. Use `get_tag_performance` to pull metrics only from posts tagged with 'Q2-Launch'. This lets you prove ROI on specific content types, not just overall brand activity.
- **Brand Listening:** Don't guess what people say about you. Call `get_listening_analytics` for your core topic. The agent summarizes the global sentiment and volume of mentions in a structured report.
- **Workflow Visibility:** Never wonder if a post got lost. Run `list_scheduled_posts` or `list_draft_posts`. You get an instant, accurate inventory of everything pending publication right now.
- **System Audit:** Use `list_profiles` and `list_profile_groups` to verify your entire brand setup. This is key for compliance checks—you know exactly which accounts are active, linked, or retired.

## How It Works

The bottom line is, you write a natural language prompt, and the server handles the connection, authentication, and API calls required to get the specific data or perform the action.

1. First, subscribe to this AI integration server on Vinkius.
2. Second, authorize it using your Sprout Social token and Customer ID credentials.
3. Third, prompt your agent directly in your code editor. Tell it what data to gather—like 'Show me X's performance last month'—and the system runs the necessary tool call.

## Frequently Asked Questions

**How do I find out which social accounts are connected to Sprout Social using list_profiles?**
Run `list_profiles`. This tool pulls a complete inventory of every single active, linked account ID. It's the best place to start if you don't know your full setup.

**What is the difference between list_draft_posts and list_scheduled_posts?**
Draft posts are content you wrote but haven’t told the system to post yet. Scheduled posts are content that is finalized, approved, and set for a future date using `create_social_post`.

**Can I get performance metrics for my brand mentions? How do I use get_listening_analytics?**
Yes. You need to provide the specific `topic_id`, and then define a start date and end date (YYYY-MM-DD). The tool returns structured analytics on what people are saying.

**How do I check if my scheduled posts worked?**
You can use `list_scheduled_posts` to see the queue. If you need historical data, run `list_published_posts` to get a full log of everything that has gone live.

**What if I only want metrics for one specific type of content?**
Use `get_tag_performance`. This tool lets you filter the analytics down to posts linked by custom tags, so you can measure specific campaigns or content themes.

**What should I do if `list_profiles` fails because my Sprout Social token expired or was revoked?**
You need to re-authenticate the connection immediately. The system will return an explicit authorization error; you just update your credentials via the Vinkius dashboard and retry the function call.

**If I run `get_profile_metrics` for very large or multi-year date ranges, are there API rate limits?**
Yes, API calls have usage limits. The server handles standard throttling automatically, but if you need massive data dumps, break the request into smaller chunks (like monthly) to prevent hitting the cap.

**When using `create_social_post`, how do I ensure content posts to every required organizational group?**
You must explicitly pass a JSON array of all profile IDs and group IDs. Don't assume it covers everything; list every single target ID you want included in the deployment payload.

**Can the AI really create and publish a post sequentially?**
Yes. Once you gather valid endpoints using `list_profiles`, you can instruct the AI to construct content. When instructed, the bot calls `create_social_post`, supplying your generated text payload and matching the ID, broadcasting it natively. It can also assign scheduled timestamps for delayed publishing.

**How can I extract sentiment from a listening topic intelligently?**
Use the tool `list_listening_topics` to find the exact ID representing a brand trend. Ask the AI: "Diagnose listening id '123' for the past month". It will automatically run `get_listening_analytics`, interpreting the JSON outputs consisting of sentiment ratios, mention volumes, and mapping the sentiment securely inside your chat.

**Do I need to leave a tab logged into Sprout Social open?**
No, this is completely headless. As long as you provided the `SP_TOKEN` and `SP_CUSTOMER_ID` strings globally to your MCP integration parameters, the AI interacts with REST endpoints securely and natively in the background.