Connect AI agents to Social Champ: manage channels, posts, AI content, queue, and approvals.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
A Model Context Protocol (MCP) server for the Social Champ platform. It exposes the full Social Champ tool catalog to MCP-compatible AI clients such as Claude Desktop, Claude Code, and Cursor: scheduling and managing posts, managing connected channels and workspaces, labels, queues, recycling, shareable calendars, agency approval workflows, and the AI content wizard.
This server mirrors the live Social Champ MCP tool catalog. Channels are
connected social profiles; workspaces group channels and shareable calendars.
The tool definitions are generated from tools.schema.json, a snapshot of the
live server's catalog, so the full set of tools, argument names, and
descriptions stays in parity with the hosted server.
Tools are grouped by domain:
Each tool is annotated with ToolAnnotations so clients can apply the right
confirmation behavior. Read-only tools carry readOnlyHint=True; destructive
tools (delete_post, delete_shareable_calendar, bulk_delete, queue_clear)
carry destructiveHint=True. Agency tools require the caller token to also
carry the manage_team scope; this is noted in each tool's description.
For the full per-tool list with required arguments and scopes, see
tools.schema.json here, or api/mcp/IMPLEMENTED.md in the auth repo.
read_profile and manage_post.With uv:
With pip:
From source:
Set configuration through environment variables.
| Variable | Required | Default | Purpose |
|---|---|---|---|
SOCIALCHAMP_API_KEY | yes | none | Bearer token: a Social Champ API key or OAuth2 access token |
SOCIALCHAMP_API_BASE_URL | no | https://mcp.socialchamp.com/mcp | Override the hosted MCP endpoint (for example a local test server) |
SOCIALCHAMP_TIMEOUT | no | 30 | Request timeout in seconds |
SOCIALCHAMP_TRANSPORT | no | stdio | stdio, sse, or streamable-http |
SOCIALCHAMP_MCP_PROTOCOL_VERSION | no | 2025-06-18 | MCP protocol version sent on initialize |
Copy .env.example to .env for local use. Never commit .env.
Add the server to claude_desktop_config.json:
If the console script is not on your PATH, use "command": "python" with
"args": ["-m", "socialchamp_mcp"].
The default transport is stdio, which is what Claude Desktop and Claude Code
use. To run over HTTP instead, set SOCIALCHAMP_TRANSPORT:
sse is also supported. Point your client at the resulting HTTP endpoint.
The tools forward to the hosted Social Champ MCP server over JSON-RPC. The live
tools are implemented in the auth backend (api/mcp/handlers.ts) and reach
champ through internal service routes that an external API key cannot call
directly, so the only surface a user's token can reach for the full catalog is
the hosted MCP server. src/socialchamp_mcp/client.py is the only file that
makes HTTP calls: it speaks JSON-RPC 2.0 (initialize, tools/list,
tools/call) to the endpoint in SOCIALCHAMP_API_BASE_URL.
src/socialchamp_mcp/server.py is generated from tools.schema.json, a
snapshot of the live server's api/mcp/tools.ts. To refresh after the live
catalog changes:
tools.schema.json (the live
tools.ts array, as JSON).python scripts/generate_server.py.The base URL and Bearer authentication are confirmed from the Social Champ authentication guide.
Tools are generated, not hand-written. Add the tool to the live api/mcp/tools.ts
in the auth repo, refresh tools.schema.json, then run
python scripts/generate_server.py. The generator maps each tool to a
@mcp.tool function that forwards to call_tool, picks a ToolAnnotations
preset (READ, WRITE, UPDATE, DESTRUCTIVE), and writes the docstring from
the tool description. Update the classification sets in scripts/generate_server.py
when adding a destructive or read-only tool.
See CONTRIBUTING.md for the full checklist.
To confirm the server starts over stdio:
It waits for input on stdin rather than exiting. Stop it with Ctrl+C.
.env or your client's secret store. Never commit it. The
.gitignore excludes .env.delete_post, delete_shareable_calendar, bulk_delete, queue_clear)
carry destructiveHint=True so clients can confirm before running them.manage_team scope. Tokens
without it cannot invoke them.MIT. See LICENSE.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/social-champ)<a href="https://allmcps.com/mcp/social-champ"><img src="https://allmcps.com/api/badge/social-champ?style=directory" alt="Social Champ on AllMCPs" /></a>