MCP Server Tutorial: Social Media with AI Agents

Managing social media through code has always required knowing the right endpoints, constructing the right payloads, and handling rate limits on a per-platform basis. In 2026, there is a faster path: give an AI agent access to your social accounts and describe what you want in plain language.
The OmniSocials MCP server makes this possible. It connects Claude and other AI agents directly to the OmniSocials API, so you can say "post this to LinkedIn and Instagram, scheduled for tomorrow at 9am" and it happens. No boilerplate. No OAuth flows. No platform-specific formatting.
This tutorial walks through exactly how to set it up.
What Is an MCP Server?
Model Context Protocol (MCP) is an open standard developed by Anthropic that lets AI agents connect to external tools and APIs. Think of it as a plugin system for AI: you register a server, tell the AI what tools it has access to, and the AI can call those tools during a conversation.
An MCP server exposes a set of functions. The AI model sees these as available actions and decides when and how to call them based on your instructions.
The OmniSocials MCP server exposes the full OmniSocials API as a set of tools Claude can call directly. That means post creation, scheduling, media upload, analytics retrieval, and inbox management, all accessible from a single conversation with Claude.
Why Not Use Each Platform's Native API?
To post to Instagram via the Graph API, you need a Facebook Developer app, a Business account, a Page linked to that account, a long-lived access token, and a two-step media creation flow before you can publish a single image. LinkedIn requires a separate OAuth app registration. TikTok still requires app review before you can post programmatically.
Each platform has its own auth model, rate limits, error codes, and endpoint structure. Building a system that posts across even three platforms natively means maintaining three separate integrations.
The OmniSocials API eliminates that. You connect your accounts once in the OmniSocials dashboard, and from that point on every platform is accessible through one API key and one endpoint. The MCP server takes that one step further, making the entire API available to AI agents without writing any integration code yourself.
Step 1: Get Your OmniSocials API Key
[Screenshot: OmniSocials dashboard Settings > API page showing API key generation]
Start at omnisocials.com. If you don't have an account, the 14-day free trial includes full API and MCP access.
Once you're in:
- Go to Settings > API in the left navigation
- Click Generate API Key
- Copy the key and store it somewhere safe. It won't be shown again.
Then connect the social accounts you want to manage. Go to Accounts, click Add Account, and authenticate each platform. OmniSocials handles the OAuth flow and stores the credentials. From this point, your API key is the only credential you need.
Step 2: Install the OmniSocials MCP Server
The OmniSocials MCP server runs as a local process that Claude Desktop connects to. You have two options.
Option A: Run with npx (no install required)
npx @omnisocials/mcp-server
This starts the MCP server immediately. You'll be prompted for your API key on first run, or you can pass it as an environment variable:
OMNISOCIALS_API_KEY=your_api_key_here npx @omnisocials/mcp-server
Option B: Configure in Claude Desktop
This is the recommended approach for daily use. It registers the MCP server so it starts automatically when Claude Desktop opens.
Open your Claude Desktop config file. On Mac it's at:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the OmniSocials server to the mcpServers object:
{
"mcpServers": {
"omnisocials": {
"command": "npx",
"args": ["@omnisocials/mcp-server"],
"env": {
"OMNISOCIALS_API_KEY": "your_api_key_here"
}
}
}
}
Restart Claude Desktop. You'll see a hammer icon in the interface confirming that MCP tools are active.
Note: Never commit your
claude_desktop_config.jsonto a public repository. It contains your live API key.
Step 3: Give Claude a Natural Language Instruction
With the MCP server running, Claude has access to the full OmniSocials API. No further setup needed.
Here are examples of what you can ask Claude to do:
Publish immediately:
"Post this to LinkedIn and Instagram: 'We just shipped a major update to our analytics dashboard. Full breakdown in the link below.' Add the image at /Users/me/Desktop/launch-screenshot.png."
Schedule a post:
"Schedule the following tweet for Thursday at 8am EST: 'Our API now supports 11 social platforms. One key, everything covered. Details at docs.omnisocials.com'"
Pull analytics:
"What was our best-performing post on Instagram this week? Show me the engagement metrics."
Check the inbox:
"Any unanswered comments on LinkedIn in the last 24 hours?"
Claude interprets your instruction, calls the appropriate OmniSocials API endpoint, and returns the result in plain language.
What Claude Is Doing Behind the Scenes
When you ask Claude to "post this to LinkedIn and Bluesky," it calls the OmniSocials /v1/posts endpoint with your instruction translated into a structured API request. The underlying call looks like this:
// What Claude calls on your behalf via the MCP server
const response = await fetch('https://api.omnisocials.com/v1/posts', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'We just shipped a major update to our analytics dashboard.',
platforms: ['linkedin', 'bluesky'],
scheduled_at: '2026-04-10T08:00:00Z',
}),
});
const { data } = await response.json();
// { id: "post_abc123", status: "scheduled", platforms: { linkedin: "queued", bluesky: "queued" } }
# Python equivalent
import requests
response = requests.post(
'https://api.omnisocials.com/v1/posts',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'text': 'We just shipped a major update to our analytics dashboard.',
'platforms': ['linkedin', 'bluesky'],
'scheduled_at': '2026-04-10T08:00:00Z',
}
)
post = response.json()['data']
print(post['id'], post['status'])
The MCP server abstracts this entirely. You never write these calls yourself when using Claude. But the same endpoints are available directly if you want to build your own integration or automation script. Full reference at docs.omnisocials.com.
Building an AI Agent Workflow
The MCP server becomes especially useful when you combine it with broader Claude workflows.
Content repurposing pipeline:
"Take the transcript from today's podcast episode (attached), write three LinkedIn posts from the key insights, and schedule them across Monday, Wednesday, and Friday next week at 8am."
Social media brief to execution:
"Here's our weekly newsletter. Pull out three shareable stats, write short posts for LinkedIn and Bluesky, and schedule them for tomorrow morning."
Analytics review:
"Pull our Instagram and LinkedIn analytics from the past 30 days. Which post format (image, carousel, text) got the highest engagement rate? Give me a recommendation for what to focus on next month."
Claude handles the reasoning, content creation, and API calls in one conversation. You review and confirm before anything goes live.
Available Tools in the OmniSocials MCP Server
The MCP server exposes these tools to Claude:
| Tool | What It Does |
|---|---|
| create_post | Create and publish or schedule a post to one or more platforms |
| get_post | Retrieve a specific post by ID with platform-level status |
| list_posts | List all posts, filterable by status, platform, or date range |
| delete_post | Delete a scheduled or published post |
| upload_media | Upload an image or video, returns a media URL for use in posts |
| list_accounts | List all connected social media accounts |
| get_analytics | Retrieve engagement metrics across platforms |
| get_calendar | View scheduled content in calendar format |
All tools use the same OMNISOCIALS_API_KEY you configured in Step 1.
Common Pitfalls
API key not loading. If Claude says it can't connect to OmniSocials, check that the env block in your claude_desktop_config.json has the correct key and there are no trailing spaces. Restart Claude Desktop after any config change.
Account not connected. Claude can only post to accounts you've connected in the OmniSocials dashboard. If a platform isn't showing up, go to Settings > Accounts and verify the connection is active.
Scheduling in the wrong timezone. The OmniSocials API uses UTC for scheduled_at. When you tell Claude "schedule this for 9am tomorrow," specify your timezone ("9am EST" or "9am UTC+1") so it converts correctly.
Media uploads from local paths. Claude can reference local files in your prompt, but the MCP server needs to upload the file to OmniSocials before the post can be created. This happens automatically via the upload_media tool, but large files (over 50MB) may take a few seconds.
Rate limits. The OmniSocials API allows 100 requests per minute per API key. If you're scheduling large batches through Claude, you may hit this limit. For bulk operations, use the API directly with batching rather than individual Claude instructions.
Frequently Asked Questions
What is an MCP server?
An MCP (Model Context Protocol) server is a connector that gives AI agents like Claude access to external tools and APIs. Instead of writing code to call an API, you describe what you want in plain language and the AI agent handles the API call. OmniSocials provides an MCP server specifically for social media management.
Does the OmniSocials MCP server work with Claude?
Yes. The OmniSocials MCP server is compatible with Claude Desktop and any MCP-compatible AI agent runtime. You configure it once in your claude_desktop_config.json, provide your API key, and Claude gains full access to post, schedule, and read analytics across all 11 connected social platforms.
What can the OmniSocials MCP server do?
The OmniSocials MCP server lets AI agents create and publish posts, schedule content with a specific time, upload media, list connected accounts, retrieve analytics, and read the unified inbox. All of this works across 11 platforms including Instagram, LinkedIn, TikTok, Bluesky, and Threads.
Is the OmniSocials MCP server free?
MCP server access is included in the OmniSocials plan at $10/mo (annual). There is no separate API or MCP pricing tier. The 14-day free trial includes full API and MCP access so you can test it before committing.
What is the difference between using the OmniSocials API directly vs the MCP server?
The OmniSocials REST API is for code-based integrations where you write JavaScript or Python to call specific endpoints. The MCP server is for AI agent workflows where you describe what you want in natural language and the agent calls the API on your behalf. Both use the same underlying API and the same API key.
Sources
- Model Context Protocol Specification — Official MCP spec and documentation from Anthropic
- OmniSocials API Documentation — Full reference for all OmniSocials API endpoints, authentication, and rate limits
- Claude Desktop MCP Integration Guide — Official guide for configuring MCP servers in Claude Desktop
- Instagram Graph API Documentation — Instagram's native API requirements showing the complexity OmniSocials abstracts
- LinkedIn Marketing Developer Platform — LinkedIn's native API requirements and OAuth flow documentation

