ME

Metricool MCP Server Social Analytics and Scheduling

Manage Metricool analytics and schedule content with an MCP server across Instagram, Facebook, Twitter, LinkedIn, TikTok & YouTube.

Quick Install
npx -y @metricool/mcp-metricool

Overview

The Metricool MCP Server is a lightweight Model Context Protocol (MCP) server that centralizes social analytics and publishing workflows for multiple platforms. It exposes a REST-compatible surface for collecting Metricool analytics, scheduling posts, and managing connected social accounts across Instagram, Facebook, Twitter, LinkedIn, TikTok and YouTube. The server abstracts platform-specific APIs into a single integration point so downstream services or LLMs can request metrics and schedule content without handling each network’s quirks.

This server is useful for developers building dashboards, automation flows, or AI agents that need programmatic access to analytics and scheduling. By running a local or hosted MCP instance you get consistent endpoints for retrieving time-series metrics, account lists, posting status, and webhooks for delivery events. The server is designed to be deployed in development or production via Docker or a typical Node runtime.

Features

  • Unified API for analytics across major social networks (Instagram, Facebook, Twitter, LinkedIn, TikTok, YouTube)
  • Scheduling endpoints to create, update, cancel and retrieve queued posts
  • Account management and platform linking support
  • Webhooks for post-status updates, delivery, and error notifications
  • Authentication integration and token management to protect endpoints
  • Docker-friendly for simple deployment and local testing
  • Extensible mapping layer to add custom logic or additional providers

Installation / Configuration

Clone the repository and run locally (example using npm):

# Clone the repository
git clone https://github.com/metricool/mcp-metricool.git
cd mcp-metricool

# Install dependencies (example)
npm install

# Copy example env file and edit required variables
cp .env.example .env
# Edit .env to set METRICOOL_API_TOKEN, DATABASE_URL, etc.

# Start in development
npm run dev

# Or start production
npm run start

Run with Docker (recommended for reproducible deployments):

# docker-compose.yml (example)
version: "3.8"
services:
  mcp-server:
    image: metricool/mcp-metricool:latest
    ports:
      - "8080:8080"
    environment:
      - MCP_PORT=8080
      - METRICOOL_API_TOKEN=${METRICOOL_API_TOKEN}
      - DATABASE_URL=${DATABASE_URL}
    restart: unless-stopped

Environment variables (common examples — adjust to your setup):

  • METRICOOL_API_TOKEN: API token used to access Metricool backend
  • MCP_PORT: Port the server listens on (default 8080)
  • DATABASE_URL: Connection string for persistent state (Postgres, MySQL, etc.)
  • REDIS_URL: Optional Redis connection for queues and caching
  • NODE_ENV: environment (development | production)

Note: Check the repository’s example .env and documentation for any provider-specific credentials (OAuth client IDs, secrets) needed to link social accounts.

Available Resources

The server exposes REST endpoints for the most common operations. Typical routes include:

ResourceEndpoint (examples)Purpose
AccountsGET /accountsList linked social accounts
AnalyticsGET /analytics?account_id=…&range=…Fetch metrics (impressions, clicks, followers)
SchedulePOST /schedulesCreate a scheduled post
ScheduleGET /schedules/:idRetrieve a scheduled job
WebhooksPOST /webhooks/receiveReceive provider/webhook events
AuthPOST /auth/refreshRefresh tokens or exchange OAuth codes

Example: fetch analytics via curl

curl -H "Authorization: Bearer $METRICOOL_API_TOKEN" \
  "http://localhost:8080/analytics?account_id=abc123&start=2026-03-01&end=2026-03-31&metric=impressions"

Example: schedule a post

curl -X POST "http://localhost:8080/schedules" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $METRICOOL_API_TOKEN" \
  -d '{
    "account_id": "ig_123",
    "text": "Check out our latest blog post!",
    "media": ["https://example.com/image.jpg"],
    "publish_at": "2026-04-15T10:00:00Z"
  }'

Use Cases

  • Cross-platform analytics dashboard: Query /analytics for multiple account IDs to build a consolidated report showing impressions, reach and engagement across Instagram, Facebook, Twitter and YouTube. Aggregate time-series data to power charts and trend detection.
  • Unified scheduling service: Use the /schedules endpoint to queue a campaign that publishes the same creative across several platforms at staggered times. Monitor post status via webhook callbacks and surface errors back to a UI.
  • AI-driven recommendations: Connect an LLM to the MCP server so it can request recent performance metrics, then generate suggested captions or best posting times. The bot can create schedules directly through the server.
  • Automation and alerts: Implement rules that watch analytics endpoints and trigger notifications (email, Slack) if engagement drops below thresholds or if a growth spike is detected.
  • A/B testing of posting strategies: Programmatically create sets of scheduled posts with varying captions or times, then compare the resulting analytics to determine the best performing variant.

Next steps

  • Review the repository’s README and .env.example for provider-specific setup steps (OAuth credentials, webhook registration).
  • Run the server locally with Docker to test integrations against sandboxed or real Metricool accounts.
  • Extend the mapping layer to add custom metrics or additional social providers as needed.