Make.com and other MCP clients
Social Champ runs a hosted Model Context Protocol (MCP) server. Point any MCP client at it, and an assistant can draft, schedule, edit and read back posts on the channels your account already has connected.
| Endpoint | https://mcp.socialchamp.com/mcp |
| Protocol | JSON-RPC 2.0 over HTTP POST |
| Auth header | Authorization: Bearer <token> |
| Tools | 44 |
The server accepts two kinds of bearer token:
- A Social Champ API key. This is the fastest way to try the server from a script, or to connect your own account.
- An OAuth 2.0 access token. Use this when a client acts for someone else.
Nothing else about the request changes between the two.
Connect Make.com
Make connects to Social Champ through its MCP Client app. The app has two modules: Call a tool, which runs one named tool, and Execute an action with AI, which lets the AI pick and run the tools it needs.
- In your Make scenario, add an MCP Client module.
- Select Create a connection.
- In MCP Server, select + New MCP Server.
- In URL, enter
https://mcp.socialchamp.com/mcp. - Choose how to sign in:
- API key. Paste a Social Champ API key into the API Key / Access token field. See Create an API key.
- OAuth. Leave the field empty. When you save, Make opens a Social Champ
sign-in page. Sign in and approve access. Make registers itself
automatically, so you do not need a client ID. Its redirect URI is
https://www.make.com/oauth/cb/mcp.
- Select Save.
To check the connection, add a Call a tool module and run get_channels.
It returns the channels in your account and their IDs.
Use an API key for scenarios that run on your own account. Use OAuth when each person should approve access with their own Social Champ login. OAuth works on every plan. Creating an API key depends on your plan.
Try it with an API key
You can call the server directly with one request. No registration and no redirect are needed.
Create an API key in Social Champ under Settings → Developer → API Keys. Then list the tools the server exposes:
curl -sS https://mcp.socialchamp.com/mcp \
-H "Authorization: Bearer $SOCIALCHAMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Calling a tool uses the same shape, with the tool name and its arguments. This request schedules a post on two channels:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "create_text_post",
"arguments": {
"text": "Doors open at 9. Coffee is on us.",
"channelIds": ["642523d40be0b54def3ba82f", "6512a71c0be0b54def4c11ab"],
"isScheduled": true,
"dateTime": "2026-10-02T09:00:00Z"
}
}
}
Leave out isScheduled and dateTime to publish right away. Set
saveAsDraft: true to save the post to Publish → Drafts instead. A draft
never publishes on its own.
Channel IDs come from get_channels. Request them before you post instead of
hard-coding them. If a channel is removed from Social Champ and added again
later, it can come back with a new ID.
Connect with OAuth
Use OAuth for a client that acts for Social Champ users other than you.
The server supports dynamic client registration, so you do not need to contact us for a client ID. A client finds the endpoints, registers itself, and runs a standard authorization code flow with PKCE. Most MCP client libraries do all five steps for you once you give them the endpoint above.
- Discover the resource.
GET https://mcp.socialchamp.com/.well-known/oauth-protected-resource/mcpreturns the resource identifier and the authorization server that protects it. - Discover the authorization server.
GET https://mcp.socialchamp.com/.well-known/oauth-authorization-serverreturns the issuer and the three endpoints below. - Register. Send
POST /oauth2/mcp/registeras described in RFC 7591, with at least one entry inredirect_uris. You get back a client ID. You also get a client secret, unless you register withtoken_endpoint_auth_method: "none", which is the default. - Authorize. Send the user to
/oauth2/mcp/authorizewithresponse_type=codeand a PKCE challenge. The server only accepts theS256challenge method. - Exchange and refresh.
POST /oauth2/mcp/tokenexchanges the code for an access token. Later, it exchanges a refresh token for a new access token.
What the authorization server advertises
| Issuer | https://mcp.socialchamp.com |
| Authorize | /oauth2/mcp/authorize |
| Token | /oauth2/mcp/token |
| Register | /oauth2/mcp/register |
| Grants | authorization_code, refresh_token |
| PKCE | S256 |
| Client auth | client_secret_post, client_secret_basic, none |
The registration and token endpoints are meant to be called from a server. Browser-based clients on other domains are not supported yet.
Scopes
Every token must include read_profile and manage_post. Together they cover
posting, scheduling, the calendar, labels, media and the AI tools. A token
without both is rejected with 401.
manage_team is optional. It controls six tools used by agencies:
approval_list_pending, approval_approve, approval_reject,
approval_assign, bulk_delete and bulk_label. A client connected without
it still works for every other tool. Only those six return an
insufficient_scope error, which names the missing scope so the client can ask
for it again. For an API key, select manage_team when you create the key.
What the tools cover
There are 44 tools, grouped by the part of Social Champ they work with. See MCP tools for details on each one.
| Area | Count | Tools |
|---|---|---|
| Posts | 11 | create_text_post, create_image_post, update_post, delete_post, bulk_schedule, get_paginated_posts, get_posts_for_channels, get_posts_with_assets, get_scheduled_posts, queue_reorder, instagram_first_comment |
| Channels | 4 | get_channels, get_channel, get_filtered_channels, location_search |
| Workspaces | 1 | get_workspaces |
| Calendars | 6 | get_calendar_view_options, get_shareable_calendars, get_in_app_calendar_url, create_public_calendar_link, update_shareable_calendar, delete_shareable_calendar |
| Queue | 3 | queue_pause, queue_resume, queue_clear |
| Labels | 5 | label_list, label_create, label_apply, label_remove, bulk_label (manage_team) |
| Recycling | 2 | list_collections, recycle_post |
| Approvals | 5 | (manage_team) approval_list_pending, approval_approve, approval_reject, approval_assign, bulk_delete |
| AI | 4 | generate_post, suggest_hashtags, rewrite, generate_image |
| Media | 3 | create_media_upload, complete_media_upload, import_media_from_url |
Things to know before you build
- Approvals change what success means. If the workspace uses an approval
workflow, a post created through a tool is held for approval and does not
publish until someone approves it. The tool still returns success. Each held
post in the result is marked
approvalStatus: "PENDING". - Media URLs must be public. Image and video URLs must be direct file links
that the social platform can download. For files that need a login, use
create_media_uploadandcomplete_media_upload, orimport_media_from_url. See MCP media. - Destructive tools start with a dry run.
bulk_deleteandqueue_clearreport what they would remove until you setdryRun: false. - Rate limits. Each key or token gets 60 requests per minute, and each
account gets 1,000 requests per hour. Reads count as well as writes. Every
response shows the remaining budget in its
RateLimit-*andX-Account-RateLimit-*headers. A429response includesRetry-After. Usebulk_scheduleinstead of callingcreate_text_postin a loop. See Rate limits. - There is a second route.
/mcp/claudeserves the same server with 43 of the 44 tools for the Claude directory listing. It leaves outgenerate_image. Build against/mcpunless we tell you otherwise.
Get help
If a tool or field does not work the way this page describes, contact Social Champ support. Include the tool name and the arguments you sent.