npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@jginorio/sprout-social-mcp

v1.0.1

Published

Unofficial community MCP server for the Sprout Social API — use it while Sprout Social works on their official one. Provides tools for social media analytics, post management, publishing, and more.

Downloads

85

Readme

Sprout Social MCP Server

Note: This is an unofficial, community-built MCP server to use while Sprout Social works on releasing their official one.

A Model Context Protocol (MCP) server for the Sprout Social API. It lets AI assistants (Claude, Cursor, Devin, etc.) access your Sprout Social data — analytics, publishing, messages, listening, and more — through a standardized interface.

Quick Start

Prerequisites

Running via npx

No installation required:

SPROUT_SOCIAL_API_KEY=your-token \
SPROUT_SOCIAL_CUSTOMER_ID=your-customer-id \
npx sprout-social-mcp

Configuration with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "sprout-social": {
      "command": "npx",
      "args": ["-y", "sprout-social-mcp"],
      "env": {
        "SPROUT_SOCIAL_API_KEY": "your-api-token",
        "SPROUT_SOCIAL_CUSTOMER_ID": "your-customer-id"
      }
    }
  }
}

Configuration with Cursor

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "sprout-social": {
      "command": "npx",
      "args": ["-y", "sprout-social-mcp"],
      "env": {
        "SPROUT_SOCIAL_API_KEY": "your-api-token",
        "SPROUT_SOCIAL_CUSTOMER_ID": "your-customer-id"
      }
    }
  }
}

Configuration with VS Code (GitHub Copilot)

Add to your .vscode/mcp.json:

{
  "servers": {
    "sprout-social": {
      "command": "npx",
      "args": ["-y", "sprout-social-mcp"],
      "env": {
        "SPROUT_SOCIAL_API_KEY": "your-api-token",
        "SPROUT_SOCIAL_CUSTOMER_ID": "your-customer-id"
      }
    }
  }
}

Configuration with Devin

In Devin's MCP settings, add a new server:

  • Name: sprout-social
  • Command: npx -y sprout-social-mcp
  • Environment Variables:
    • SPROUT_SOCIAL_API_KEY → your API token
    • SPROUT_SOCIAL_CUSTOMER_ID → your customer ID

Environment Variables

| Variable | Required | Description | |---|---|---| | SPROUT_SOCIAL_API_KEY | Yes | Your Sprout Social API token | | SPROUT_SOCIAL_CUSTOMER_ID | Yes | Your Sprout Social customer ID |

Available Tools

Customer Metadata

| Tool | Description | |---|---| | get_client | Get your Sprout Social customer IDs and names | | get_profiles | List all connected social profiles | | get_groups | List all groups | | get_tags | List all tags | | get_users | List all users | | get_topics | List all listening topics | | get_teams | List all teams | | get_case_queues | List all case queues |

Analytics

| Tool | Description | |---|---| | get_profile_analytics | Profile-level analytics (impressions, engagements, etc.) for a date range | | get_post_analytics | Post-level analytics with pagination. Supports impressions, engagements, reactions, video views |

Messages

| Tool | Description | |---|---| | get_messages | Retrieve inbox messages with filtering and cursor-based pagination |

Listening

| Tool | Description | |---|---| | get_listening_topic_metrics | Get metrics for a listening topic | | get_listening_topic_messages | Get messages from a listening topic |

Publishing

| Tool | Description | |---|---| | create_publishing_post | Create a new post to be published at a scheduled time | | get_publishing_post | Retrieve details of a specific publishing post |

Media

| Tool | Description | |---|---| | upload_media | Upload media via URL for use in publishing posts |

Cases

| Tool | Description | |---|---| | get_cases | Retrieve customer cases/inquiries with filters for priority, time range, etc. |

Usage Tips

Post Analytics Pagination

The Sprout Social API paginates post analytics. Always check paging.total_pages in the response and request all pages:

Ask: "Get all Instagram post analytics for last week"
→ Tool calls get_post_analytics with page=1, then page=2, etc.

Valid Post-Level Metrics

All platforms (Instagram, Facebook, LinkedIn, TikTok, etc.):

  • lifetime.impressions — total views
  • lifetime.engagements — total engagement (likes, comments, shares, saves)
  • lifetime.reactions — reactions only
  • lifetime.video_views — video view count
  • lifetime.saves — saves/bookmarks
  • lifetime.comments_count — comment count
  • lifetime.post_shares_count — share count

Facebook only:

  • lifetime.post_link_clicks — clicks on links in the post
  • lifetime.post_content_clicks — total clicks on post content
  • lifetime.post_content_clicks_other — other content clicks

Platform limitations:

  • Reach (lifetime.reach) is NOT available at the post level — only at the profile level via get_profile_analytics. This is a Sprout Social API limitation.
  • Click metrics are only available for Facebook posts. For Instagram, the API silently ignores them (no error, but no data returned).

Invalid metrics (will cause errors): lifetime.comments, lifetime.shares, lifetime.reach

Finding Profile IDs

Use get_profiles first to discover your customer_profile_id values, then pass them to analytics or publishing tools.

Development

git clone https://github.com/jginorio/sprout-social-mcp.git
cd sprout-social-mcp
npm install
npm run build

To test locally:

SPROUT_SOCIAL_API_KEY=your-token \
SPROUT_SOCIAL_CUSTOMER_ID=your-customer-id \
node dist/index.js

License

MIT