Sociona MCP Server
The Sociona MCP Server enables AI assistants to manage social media content across X (Twitter), Instagram, and Threads through a unified interface.
Core Capabilities:
Publish Posts - Instantly post content to X, Instagram, and Threads with optional media attachments (images/videos via URLs)
Schedule Posts - Schedule posts for future publication using ISO 8601 datetime format
Cancel Scheduled Posts - Remove scheduled posts before publication using their unique post ID
List Connected Accounts - View all connected social media accounts available for posting
Retrieve Post History - Get recent posts published via the API (configurable from 1-100 posts)
Access Analytics - View statistics and insights about your published posts
All posting functions support multi-platform management and optional media URLs for content enrichment.
Enables publishing posts, scheduling content, managing post history, and accessing analytics through the Sociona API for Instagram social media management.
Provides capabilities to publish posts, schedule content, retrieve post history, and analyze posting statistics through the Sociona API for Threads social media platform.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sociona MCP ServerSchedule a post for tomorrow at 9 AM about our product launch"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sociona MCP Server
An MCP (Model Context Protocol) server that provides AI assistants and MCP-compatible tools with access to the Sociona social media API. Speaks the stateless MCP 2026-07-28 protocol and still serves clients using the older initialize handshake.
Prefer the remote server? Sociona also hosts MCP at
https://api.sociona.app/api/v1/mcp(OAuth sign-in or the same API key as Bearer) with the full ~50-tool surface β agents, Studio carousels, discovery, analytics, engagement. This stdio package covers the publishing core and is handy for fully local setups.
Claude skill
The repo ships a Claude skill that teaches agents the Sociona workflows (carousel pipeline, research-to-schedule, async jobs, engagement safety). Install it next to the MCP server:
# project-level (recommended)
mkdir -p .claude/skills && cp -r node_modules/sociona-mcp-server/skills/sociona .claude/skills/
# or user-level
mkdir -p ~/.claude/skills && cp -r node_modules/sociona-mcp-server/skills/sociona ~/.claude/skills/Cloned the repo instead? Copy from skills/sociona directly.
Related MCP server: Publora MVP MCP Server
π Features
Publish Posts: Immediately publish content to social media platforms
Schedule Posts: Schedule posts for future publication
Cancel Scheduled Posts: Cancel posts before they publish
List Accounts: View connected social media accounts
Post History: Retrieve recent post history with filtering
Analytics: Get statistics about your posts
Multi-Platform Support: X (Twitter), Instagram, and Threads
π¦ Installation
Quick Install
npm install -g sociona-mcp-serverAlternative Installation
# Using the installation script
curl -sSL https://raw.githubusercontent.com/fav-devs/sociona-mcp-server/main/install.sh | bashβοΈ Configuration
1. Get Your API Key
Sign in to Sociona β Settings β Developer (or the Developer dashboard)
Generate an API key β omit scopes to get the full catalog, or restrict to:
account:read/account:writeposts:read/posts:write(publishing AND scheduling)ideas:read/ideas:writeinsights:readengagements:read/engagements:write
2. Configure Your MCP Client
For Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"sociona": {
"command": "sociona-mcp",
"args": [],
"env": {
"SOCIONA_API_KEY": "sk_live_your_api_key_here",
"SOCIONA_API_BASE": "https://api.sociona.app/api/v1"
}
}
}
}For Other MCP Clients
Configure your MCP client to use the sociona-mcp command with the required environment variables.
3. Restart Your MCP Client
Restart your MCP client to load the new MCP server configuration.
π¬ Usage
Once configured, you can use natural language commands with your MCP client:
"Post to Twitter: Just launched our new feature! π #TechNews"
"Schedule a post for Instagram tomorrow at 10 AM about our weekly roundup"
"Show me my connected social accounts"
"Get my last 10 posts from X"
"Cancel the scheduled post with ID sched-123"
"What's my posting statistics?"π οΈ Available Tools
The Sociona MCP Server exposes the following tools:
publish_post: Publish a social media post immediatelyschedule_post: Schedule a social media post for future publicationget_accounts: List all connected social media accountsget_posts: Retrieve recent post historyget_scheduled_posts: View scheduled posts (optional status filter)cancel_scheduled_post: Cancel a scheduled post before it publishesget_post_stats: Get statistics about your posts
The hosted remote server (/api/v1/mcp) additionally exposes the agents,
Studio, discovery, ideas, analytics, engagement, media, workflow, and
webhook tools β see the Sociona docs for the
full list.
π§ Development
Prerequisites
Node.js 18 or higher
npm or pnpm
Setup
# Clone the repository
git clone https://github.com/fav-devs/sociona-mcp-server.git
cd sociona-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run devScripts
npm run build- Build the TypeScript codenpm run dev- Run in development modenpm start- Start the MCP servernpm test- Run tests
π Documentation
Developer Installation Guide - Detailed setup instructions
Local Setup Guide - For local development
Architecture Overview - Technical architecture details
Railway Deployment - Cloud deployment guide
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Links
π Support
If you encounter any issues or have questions:
Check the Issues page
Create a new issue if your problem isn't already reported
Join our community discussions
Made with β€οΈ by the Sociona team
Available Tools
6 toolscancel_scheduled_postA
Cancel a scheduled post before it publishes
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The ID of the scheduled post to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only states the action. Does not disclose potential errors (e.g., post already published) or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that conveys the essential operation without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is nearly complete. Lacks information on error handling or idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the parameter postId is described in the schema. The description adds no additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Cancel' and the resource 'a scheduled post'. It effectively distinguishes from siblings like schedule_post and publish_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when/when-not/alternatives are provided. The description implies use only before publishing, but lacks comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountsB
Get list of connected social media accounts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the tool gets a list but omits critical details such as whether results are paginated, authentication requirements, rate limits, or what constitutes 'connected accounts'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action and resource. Every word contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple (no parameters, no output schema), the description does not specify what information is returned per account (e.g., IDs, names, platforms). This lack of output context could leave the agent uncertain about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage, so the description does not need to explain parameters. The baseline for no parameters is 4, and the description sufficiently conveys the tool's purpose without param ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get list of connected social media accounts' clearly states the verb (Get) and resource (list of connected social media accounts), distinguishing it from sibling tools like get_posts or publish_post which deal with different resources or actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_posts or get_post_stats. The description does not specify context, prerequisites, or exclusions, leaving the agent to infer usage without explicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postsC
Get recent posts published via the API
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts to retrieve (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states 'get recent posts' implying a read operation, but omits details like authentication needs, pagination, field scope, or order. A 2 reflects minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct and free of unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 1 optional parameter and no output schema. The description is too brief, lacking return value context, ordering, or any behavioral hints. For a simple tool this might be borderline, but more completeness is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (limit). The description adds no extra meaning beyond what the schema already provides. Baseline 3 applies since depth is not needed, but no added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and resource 'posts', and adds scope 'recent posts published via the API'. It distinguishes from siblings like get_post_stats (stats) and publish_post (create), but could be more precise about what 'recent' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Siblings exist for scheduling, canceling, and stats, but the description does not mention context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_statsB
Get statistics about your posts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and minimal description, there is no disclosure of behavioral traits. The tool's side effects or data access patterns are not mentioned, leaving agents uninformed about potential impacts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that provides essential information. It is concise but could be expanded slightly to include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is adequate but incomplete. It does not specify what statistics are returned, limiting the agent's ability to interpret results accurately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description adds no further meaning. Since schema coverage is 100% and there are no parameters to document, the description is sufficient for this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get') and resource ('statistics about your posts'). It effectively communicates the tool's purpose, distinguishing it from siblings like 'get_posts' which likely returns post content. However, it does not explicitly differentiate from other tools, leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context for appropriate usage, such as prerequisites or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_postB
Publish a social media post immediately
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Social media platform | |
| content | Yes | Post content/text | |
| mediaUrls | No | Optional media URLs to attach |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the tool publishes immediately but lacks details on authentication, rate limits, failure behavior, or idempotency. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence that is front-loaded and concise. Every word is purposeful with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description. Lacks information about return values, error conditions, or side effects. For a mutation tool, important context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (each parameter has a description). Baseline is 3 as per rules; the tool description adds no additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool publishes a social media post immediately. The verb 'publish' and resource 'social media post' are specific, and the word 'immediately' distinguishes it from sibling schedule_post, which is for future scheduling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention when not to use it or provide context about scheduling versus immediate posting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_postB
Schedule a post for future publication
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | ||
| content | Yes | Post content | |
| scheduledFor | Yes | ISO 8601 datetime (e.g., 2025-10-14T10:00:00Z) | |
| mediaUrls | No | Optional media URLs to attach |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only states the basic action without disclosing important behavioral traits such as permission requirements, error handling, idempotency, or constraints on future dates. The description adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase, efficient and clear. It is appropriately sized and front-loaded, though it sacrifices detail for brevity. An extra sentence on behavior would improve completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters (3 required), no output schema, and no annotations, the description is insufficient. It does not explain return values, error conditions, or validation rules for the parameters. More context is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (content, scheduledFor, mediaUrls have descriptions). The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'schedule' and the resource 'post', with the temporal qualifier 'for future publication'. It differentiates from siblings like 'publish_post' (immediate) and 'cancel_scheduled_post' (opposite action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'publish_post'. There is no mention of prerequisites, exclusions, or context for scheduling vs immediate posting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
- First observed
cancel_scheduled_post - First observed
get_accounts - First observed
get_post_stats - First observed
get_posts - First observed
publish_post - First observed
schedule_post
TDQS
Each tool has a clear, distinct purpose with no overlap: account listing, post retrieval, stats, immediate publishing, scheduling, and cancellation are all separate concerns.
All tool names follow a consistent verb_noun pattern (e.g., get_accounts, publish_post, cancel_scheduled_post), making it easy to infer functionality.
With 6 tools, the server is well-scoped for a social media scheduling and publishing serviceβneither too few nor too many.
The tool set covers the essential workflow (listing accounts, posting, scheduling, cancellation, stats) but lacks a delete or edit post tool, which could be useful but is not critical.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- AntworkOAuthio.antwork
Draft, schedule, and publish social posts for your workspace straight from your AI.
Schedule and publish social media posts to 9 platforms from your AI agent
Post, schedule, and track social posts on X, Bluesky, LinkedIn, Instagram and more from AI agents.
Draft, schedule and publish social posts to nine platforms from any AI agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to schedule and publish social media posts to platforms like Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest using natural language.331633MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to create, schedule, and manage social media posts across 10 platforms via a unified API.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage social media through Sooshie, including scheduling posts, generating captions, managing accounts, and more via natural language.28-

@posteahora/mcpofficial
AlicenseAqualityCmaintenanceEnables AI agents to create, schedule, and publish social media posts across Instagram, X/Twitter, LinkedIn, Threads, Facebook, and other platforms via the PosteAhora API.1518MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fav-devs/sociona-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server