<!-- Sync with HTML page: /mcp -->

# FeedSquad MCP Server

> Post to LinkedIn, X, and Threads from Claude and ChatGPT. OAuth 2.1, 19 tools, rich UI widgets.
>
> **New:** task-oriented recipes for agents and humans → [MCP Cookbook](https://feedsquad.com/mcp-cookbook.md)

## What It Is

FeedSquad is an MCP (Model Context Protocol) server that lets AI assistants schedule posts, run campaigns, and publish to social platforms. No API keys, no developer apps — connect your social accounts via OAuth and start posting from your AI chat.

Endpoint: `https://feedsquad.com/api/mcp`

## Supported Clients

- **Claude Desktop** — add as a connector; OAuth flow handles the rest
- **Claude Code / Cowork** — one line in your MCP config
- **ChatGPT** — available as a connected app
- **Cursor** and any MCP-compatible client using the standard HTTP transport

## Install in 60 Seconds

**Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "feedsquad": {
      "url": "https://feedsquad.com/api/mcp"
    }
  }
}
```

**Claude Code / Cowork:**

```
claude mcp add feedsquad https://feedsquad.com/api/mcp
```

**ChatGPT:** Settings → Connected Apps → search "FeedSquad" → Connect.

## Tools (19)

### Drafting & scheduling
| Tool | Scope | Description |
|------|-------|-------------|
| `create_post` | posts:write | Create a draft (with optional scheduling). Defaults to a draft; supplying `scheduled_date` makes it `'ready'` for approval. |
| `update_post` | posts:write | Edit `content` / `title` / `scheduled_date` on an unpublished post. |
| `reschedule_post` | posts:write | Move a post to a new `scheduled_date`. Pre-flight cadence check ensures the new slot doesn't cluster against existing posts. |
| `delete_post` | posts:write | Delete a draft or scheduled post. |
| `set_post_image` | posts:write | Attach an HTTPS image URL to a post (validated for content-type before storing). |
| `confirm_post` | posts:publish | Approve a draft (cron picks up `'scheduled'` rows at their `scheduled_date`) or cancel-and-delete. |
| `publish_post` | posts:publish | Publish immediately. Idempotent via the publish state machine — retrying replays the cached response instead of double-publishing. |

### Campaigns
| Tool | Scope | Description |
|------|-------|-------------|
| `create_campaign` | campaigns:write | Create a multi-post content campaign. Pre-flight rejects schedules that would breach platform cadence. |
| `confirm_campaign` | campaigns:write | Approve all posts in a campaign (cron publishes them at their scheduled dates) or cancel-and-delete. |
| `adapt_for_platform` | posts:write | Adapt one piece of content for LinkedIn / X / Threads — handles per-platform constraints (length, hashtag style, link handling, thread splitting). |

### Discovery & analytics
| Tool | Scope | Description |
|------|-------|-------------|
| `get_calendar` | posts:read | View your content calendar with filters. |
| `get_calendar_health` | posts:read | Surface clusters, gaps, stale drafts, cadence drift across the calendar. |
| `get_post` | posts:read | Read a single post with optional include expansions. |
| `search_posts` | posts:read | Full-text + filter search over your posts. |
| `get_performance_insights` | analytics:read | Read post-performance metrics + AI-summarised insights. *(Note: summary content may be processed by an LLM — disabled when content sensitivity matters.)* |

### Account & billing
| Tool | Scope | Description |
|------|-------|-------------|
| `connect_platform` | connections:write | Initiate platform OAuth (LinkedIn / X / Threads). |
| `get_usage` | (none) | Account usage, monthly cap, active feature subscriptions. |
| `get_help` | (none) | Contextual help about FeedSquad tools. |
| `get_plans` | billing:read | Pricing plans and upgrade options. |

## Scopes

`posts:read` · `posts:write` · `posts:publish` · `campaigns:read` · `campaigns:write` · `connections:write` · `analytics:read` · `billing:read`

OAuth 2.1 with PKCE; tokens are bound to the canonical resource `https://feedsquad.com/api/mcp` per RFC 8707.

## How It Works

1. **Install the MCP server** — one config line, no API keys
2. **Connect your platforms** — type "connect LinkedIn" in chat, click the OAuth link
3. **Create and publish** — ask your AI to write a post or build a campaign; review the preview; approve, schedule, or publish

## Platforms

- **LinkedIn** — 8-week campaigns, voice learning, official API publishing
- **X / Twitter** — sharp, high-signal posts; native content, not reposts
- **Threads** — conversational, punchy, on-brand; adapted from your campaigns

## Why FeedSquad vs Open-Source MCPs

| FeedSquad | Open-source MCPs |
|-----------|------------------|
| Multi-platform (LinkedIn + X + Threads) | Single platform only |
| 8-week campaign planning | No campaign support |
| Content calendar and scheduling | No scheduling — post-by-post |
| Voice learning — posts sound like you | No voice matching |
| OAuth handled automatically | Manual OAuth token management |
| Rich interactive UI widgets | Text-only responses |
| No API keys or developer setup | Requires platform developer app |
| Content health checks before publishing | No content quality checks |

## Security

- **OAuth 2.1 with PKCE** — industry-standard authentication; credentials are never shared with AI platforms
- **Posts require approval** — creating a post makes a draft; you must explicitly approve before anything publishes
- **Scoped permissions** — tools can only access what you approve; revoke access anytime from Settings
- **No content training** — your posts and data are never used to train AI models

## Pricing

- **Handler Free** — €0/mo, 10 posts per month
- **Ghost / Pulse / Stitch** — €39/mo each (LinkedIn, X, or Threads AI content; Handler included)
- **FeedSquad Bundle** — €99/mo (all channel agents + Handler + Pixel)
- **Annual** — 10 months cost (~17% off)

## FAQ

**What is MCP?** The Model Context Protocol is an open standard that lets AI assistants like Claude and ChatGPT connect to external tools. FeedSquad implements MCP so you can manage social media directly from your AI chat.

**Do I need API keys?** No. FeedSquad handles all platform integration. You connect social accounts via OAuth — no developer app, no API keys.

**Is there a free tier?** Yes. Handler Free gives you 10 posts per month with the calendar and campaign tracking.

---

Part of [FeedSquad](https://feedsquad.com) · Campaign-first LinkedIn content for founders
Built by [Herman Foundry](https://hermanfoundry.com) from Levi, Finnish Lapland
