Sprout Social MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPROUT_SOCIAL_API_KEY | Yes | Your Sprout Social API token | |
| SPROUT_SOCIAL_CUSTOMER_ID | Yes | Your Sprout Social customer ID |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_clientB | Get your Sprout Social customer IDs and names. |
| get_profilesA | List all social profiles connected to your Sprout Social account. |
| get_groupsA | List all groups in your Sprout Social account. |
| get_tagsA | List message/post tags in your Sprout Social account. Optionally filter by active status, group, type (LABEL or CAMPAIGN), or name search. Use these tag_id values with get_tag_performance and get_post_analytics. |
| get_usersA | List all users in your Sprout Social account. |
| get_topicsA | List all listening topics in your Sprout Social account. |
| get_teamsA | List all teams in your Sprout Social account. |
| get_case_queuesA | List all case queues in your Sprout Social account. |
| get_profile_analyticsA | Get owned profile-level analytics (impressions, engagements, etc.) for one or more profiles over a reporting period. Requires a reporting_period filter in the format 'YYYY-MM-DD...YYYY-MM-DD' (max 1 year span). |
| get_post_analyticsA | Get post-level analytics (impressions, engagements, etc.) for posts within a date range. Supports filtering by Sprout tags via tag_ids or tagged_only. Responses include internal.tags.id by default so posts can be grouped by tag. Supports sort (e.g. lifetime.impressions:desc), timezone, page, all_pages auto-pagination, and guid_cursor for walking past the ~10k page cap. For a Tag Performance Report-style rollup, prefer get_tag_performance. IMPORTANT: The page parameter must be in the request body, not as a URL query parameter. |
| get_tag_performanceA | Automatically pull Tag Performance Report-style analytics: fetch tagged posts in a date range, resolve tag names, and aggregate lifetime metrics by tag (and optionally by network). Replaces exporting a tag report from Sprout for post insights. Use get_tags first if you need to discover tag names/IDs. If tag_ids and tag_names are omitted, every tagged post in the window is rolled up. A post with multiple tags contributes its full metrics to each tag. Pages through the Posts Analytics API automatically. |
| get_messagesA | Retrieve messages from your Sprout Social inbox. Supports cursor-based pagination. Messages include those received by and sent from your profiles. |
| get_listening_topic_metricsA | Get metrics for a specific listening topic (e.g. volume, sentiment, engagement). Use get_topics first to discover available topic IDs. |
| get_listening_topic_messagesA | Get messages found within a specific listening topic. Use get_topics first to discover available topic IDs. |
| create_publishing_postA | Create a new publishing post in Sprout Social to be published at a future time. The post will appear in Sprout's publishing calendar. |
| get_publishing_postB | Retrieve details of a specific publishing post by its ID. |
| upload_mediaB | Upload media (image/video) to Sprout Social for use in publishing posts. Provide either a public URL to the media file. Returns a media ID to use with create_publishing_post. |
| get_casesB | Retrieve cases (customer inquiries/issues) from Sprout Social. Cases represent customer interactions that may require action by a social care agent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools are clearly distinct by resource (clients, profiles, groups, users, topics, teams, cases, tags, messages, posts, media). However, get_post_analytics and get_tag_performance both deal with post analytics and could be confused, though descriptions clarify their different aggregation purposes.
The vast majority follow a consistent get_<resource> or create_/upload_ verb_noun pattern. Minor deviations like get_listening_topic_messages vs get_messages and get_profile_analytics vs get_post_analytics are still readable and consistent in style.
18 tools is on the higher end but appropriate for a broad social media management platform covering analytics, publishing, listening, and care. Each tool maps to a distinct functional area, though a few could be consolidated.
The surface covers core read operations across major Sprout Social domains plus publishing creation and media upload. Gaps include no update/delete for publishing posts, no case management actions, and no profile management, but the main analytics and listening workflows are well covered.