Skip to main content
Glama
fav-devs

Sociona MCP Server

by fav-devs

Sociona MCP Server

npm version License: MIT GitHub release

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-server

Alternative 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

  1. Sign in to Sociona β†’ Settings β†’ Developer (or the Developer dashboard)

  2. Generate an API key β€” omit scopes to get the full catalog, or restrict to:

    • account:read / account:write

    • posts:read / posts:write (publishing AND scheduling)

    • ideas:read / ideas:write

    • insights:read

    • engagements: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 immediately

  • schedule_post: Schedule a social media post for future publication

  • get_accounts: List all connected social media accounts

  • get_posts: Retrieve recent post history

  • get_scheduled_posts: View scheduled posts (optional status filter)

  • cancel_scheduled_post: Cancel a scheduled post before it publishes

  • get_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 dev

Scripts

  • npm run build - Build the TypeScript code

  • npm run dev - Run in development mode

  • npm start - Start the MCP server

  • npm test - Run tests

πŸ“š Documentation

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

If you encounter any issues or have questions:

  1. Check the Issues page

  2. Create a new issue if your problem isn't already reported

  3. Join our community discussions


Made with ❀️ by the Sociona team

Available Tools

6 tools
cancel_scheduled_postA

Cancel a scheduled post before it publishes

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesThe ID of the scheduled post to cancel

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of posts to retrieve (max 100)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesSocial media platform
contentYesPost content/text
mediaUrlsNoOptional media URLs to attach

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes
contentYesPost content
scheduledForYesISO 8601 datetime (e.g., 2025-10-14T10:00:00Z)
mediaUrlsNoOptional media URLs to attach

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 6 tool updates
    • First observedcancel_scheduled_post
    • First observedget_accounts
    • First observedget_post_stats
    • First observedget_posts
    • First observedpublish_post
    • First observedschedule_post

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose with no overlap: account listing, post retrieval, stats, immediate publishing, scheduling, and cancellation are all separate concerns.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., get_accounts, publish_post, cancel_scheduled_post), making it easy to infer functionality.

Tool Count5/5

With 6 tools, the server is well-scoped for a social media scheduling and publishing serviceβ€”neither too few nor too many.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to schedule and publish social media posts to platforms like Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest using natural language.
    33
    163
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage social media through Sooshie, including scheduling posts, generating captions, managing accounts, and more via natural language.
    28
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to create, schedule, and publish social media posts across Instagram, X/Twitter, LinkedIn, Threads, Facebook, and other platforms via the PosteAhora API.
    15
    18
    MIT

Latest Blog Posts

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