Skip to main content

Sprout Social MCP Server

An MCP (Model Context Protocol) server that connects Claude to the Sprout Social API for managing social media posts, profiles, analytics, and social listening.

Features

Core Workflow

  • get_customer_id — Get your Sprout Social customer ID
  • list_profiles — List all connected social profiles (LinkedIn, X/Twitter, Instagram, Facebook, etc.)
  • create_post — Create draft posts with optional scheduling, media (photos, videos, PDF documents), and tags
  • get_post — Get details and status of a specific post

Media & Metadata

  • upload_media — Upload images, videos, and PDFs via public URL or Google Drive link
  • list_tags — List available tags for organizing posts
  • list_users — List all users on the account

Analytics

  • get_profile_analytics — Aggregated analytics for social profiles over a date range
  • get_post_analytics — Per-post performance metrics over a date range

Listening

  • list_listening_topics — List Listening Topics, their themes, and data availability
  • get_topic_messages — Messages from a Topic with sentiment and engagement, newest first
  • get_topic_metrics — Aggregate Topic metrics, optionally by day, sentiment, network, etc.

Prerequisites

  • A Sprout Social API token (developer docs)
  • Claude Desktop or Claude Code
  • For npx: Node.js 18+ (recommended for most users)
  • For uvx: Python 3.10+
  • For clone method: Python 3.10+ and git
  • For the Listening tools: a Sprout plan with Listening, at least one Listening Topic, and Listening API access for your token. Without these, list_listening_topics returns an empty list with a note.

Installation

Choose one of the following installation methods:

No installation required! Just add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "sprout-social": {
      "command": "npx",
      "args": ["-y", "@kodowjam/sprout-social-mcp"],
      "env": {
        "SPROUT_API_TOKEN": "your_sprout_social_api_token_here",
        "SPROUT_CUSTOMER_ID": "your_customer_id_here"
      }
    }
  }
}

For Claude Code:

claude mcp add sprout-social -- npx -y @kodowjam/sprout-social-mcp

Then set the environment variables in your shell or MCP config.

Don't know your customer ID? You can use the get_customer_id tool after connecting to find it.

Option 2: uvx / PyPI

No installation required! Add this to your Claude Desktop config:

{
  "mcpServers": {
    "sprout-social": {
      "command": "uvx",
      "args": ["sprout-social-mcp"],
      "env": {
        "SPROUT_API_TOKEN": "your_sprout_social_api_token_here",
        "SPROUT_CUSTOMER_ID": "your_customer_id_here"
      }
    }
  }
}

For Claude Code:

claude mcp add sprout-social -- uvx sprout-social-mcp

Then set the environment variables in your shell or MCP config.

Option 3: Clone & Install

For development or local customization:

  1. Clone and install:
git clone https://github.com/kodowjam/sprout-social-mcp-server.git
cd sprout-social-mcp-server
pip install .
  1. Configure environment:
cp .env.example .env

Edit .env with your credentials:

SPROUT_API_TOKEN=your_sprout_social_api_token_here
SPROUT_CUSTOMER_ID=your_customer_id_here
  1. Connect to Claude Desktop:
{
  "mcpServers": {
    "sprout-social": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/absolute/path/to/sprout-social-mcp-server"
    }
  }
}

For Claude Code:

claude mcp add sprout-social -- python /absolute/path/to/sprout-social-mcp-server/server.py

Restart Claude Desktop to load the server.

Tools Reference

Tool Description Key Parameters
get_customer_id Get your Sprout customer ID —
list_profiles List connected social profiles with IDs, networks, and group IDs —
create_post Create a draft post, optionally scheduled profile_ids, text, scheduled_at, media_ids, tag_ids
get_post Get post details by ID post_id
upload_media Upload media from a public URL (expires 24hr unless attached to a post) url
list_tags List available tags for organizing posts —
list_users List all account users —
get_profile_analytics Aggregated profile metrics over a date range profile_ids, start_date, end_date, metrics
get_post_analytics Per-post metrics over a date range profile_ids, start_date, end_date, metrics
list_listening_topics List Listening Topics; their IDs feed the other listening tools —
get_topic_messages Topic messages with sentiment, auto-paginated (default 100, max 500) topic_id, start_date, end_date, networks, text_match, sentiment, public_only, max_results
get_topic_metrics Aggregate Topic metrics with optional dimensions topic_id, start_date, end_date, metrics, dimensions

PDF document posts

upload_media detects PDFs (by MIME type or the %PDF file header) and returns _detected_media_type: "DOCUMENT". Pass that in create_post's media_types to create a LinkedIn document post. Sprout silently drops profiles that can't take a document, so create_post rejects the call and lists the incompatible profiles if any target isn't a LinkedIn company page or personal profile. Files must be under 50MB.

Listening notes

  • X (Twitter) data isn't available from the Listening API. Requesting X or TWITTER drops it and returns a note.
  • Reddit appears in get_topic_metrics but not at message level.
  • public_only: true excludes posts from all of your connected profiles, leaving earned and public conversation.
  • If you don't pass networks, all listening networks are queried (the API requires a network filter).

Optional configuration

Variable Default Used by
SPROUT_DEFAULT_TIMEZONE America/Los_Angeles Date filters and day/month buckets in the listening tools

Development

# Node
cd node && npm ci && npm test

# Python
pip install -e '.[test]' && pytest

Getting Your API Token

  1. Log in to Sprout Social
  2. Navigate to Settings > API (or contact your Sprout admin for API access)
  3. Generate a new API token
  4. See the Sprout Social API docs for details

License

MIT

Metadata

Release files for sprout-social-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sprout-social-mcp 0.2.0
File Size Uploaded Provenance
sprout_social_mcp-0.2.0.tar.gz 29.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sprout-social-mcp 0.2.0
File Interpreter ABI Platform
sprout_social_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.3 kB

Release files / sprout_social_mcp-0.2.0.tar.gz

Download URL sprout_social_mcp-0.2.0.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
92574bfa4c65ffcd13a0c3ac741d72bee481378a9a3d80f9f2a34f04a1731c4e
BLAKE2b-256 checksum
How to use checksums
7ee4e67a8fce9479d4031e1b675f353ae403f5d0f550cb9a5243135270af7a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / sprout_social_mcp-0.2.0-py3-none-any.whl

Download URL sprout_social_mcp-0.2.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41e2cf7fb4ec17d58225ee1eb394192bbe8c08564a0666d22e05e10f9b144e89
BLAKE2b-256 checksum
How to use checksums
8a991b02dff7b8fe3e0cc1a590d812452408ed0d668cf0fd5ff20928e90d94c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for sprout-social-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sprout_social_mcp-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page