social-media-mcp
Servidor de redes sociales
Un servidor de Protocolo de Contexto Modelo (MCP) para administrar publicaciones en redes sociales, que actualmente admite X (anteriormente Twitter).

Características
Publicar mensajes en X (Twitter)
Crear hilos en X
Responder a hilos existentes
Lista X publicaciones con opciones de filtrado
Puntos finales de información de la plataforma
Related MCP server: SocialData MCP Server
Prerrequisitos
Node.js 16 o superior
Credenciales de la API de Twitter
Clave API
Secreto de API
Token de acceso
Secreto de acceso
Instalación
Instalación mediante herrería
Para instalar Social Media Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install social-media-server --client claudeInstalación manual
Clonar el repositorio
Instalar dependencias:
npm installCrea un archivo .env con tus credenciales de Twitter:
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secretEdificio
Para construir el proyecto, ejecute:
npm run buildHerramientas disponibles
post_to_x- Publicar un mensaje a XObligatorio:
content(cadena)Opcional:
threadId(cadena)
create_x_thread- Crea un nuevo hilo en XObligatorio:
content(cadena)
list_x_post- Lista X publicaciones con filtrado opcionalOpcional:
limit(número)Opcional:
threadId(cadena)
Recursos
El servidor proporciona información de la plataforma a través de:
socialmedia://platforms/x
Desarrollo
El proyecto utiliza TypeScript y sigue la especificación del Protocolo de Contexto de Modelo. La implementación principal del servidor se encuentra en index.ts, con tipos definidos en types.ts.
Licencia
Este proyecto está licenciado bajo la licencia MIT.
Available Tools
3 toolscreate_x_threadC
Create a thread on X (formerly Twitter)
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Content of the first post |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure burden. It only states that creation happens, but omits critical mutation details: authentication requirements, rate limits, character limits, whether the operation is idempotent, or what happens if the API fails.
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?
Extremely brief single sentence with no redundant words. However, the brevity trades off against necessary behavioral disclosure for a social media posting tool.
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?
Insufficient for a write-operation tool. Missing: output behavior (does it return the thread ID?), mechanism for adding subsequent posts (since it only accepts 'first post' content), error conditions specific to X API, and safety considerations. The 'formerly Twitter' clarification is helpful but doesn't compensate for missing operational context.
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% with clear parameter descriptions ('Content of the first post'). The description adds no additional parameter context (e.g., expected format, length constraints, that this only creates the first post), meeting the baseline for well-schematized tools.
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?
States specific action (Create) and resource (thread on X/Twitter). However, it does not explicitly differentiate from sibling `post_to_x`, leaving ambiguity about when to use the thread creator versus a single post tool.
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?
Provides no guidance on when to use this tool versus the sibling `post_to_x` or `list_x_posts`. No prerequisites, conditions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_x_postsC
List X (formerly Twitter) posts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of posts to return | |
| threadId | No | ID of the thread to filter by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to specify critical traits: return format/structure, pagination behavior, chronological ordering, authentication requirements, or whether replies/media are included. It only states the basic operation.
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 extremely terse at only five words. While it avoids bloat, it is arguably underspecified rather than elegantly concise—it front-loads nothing beyond the bare minimum identifier and misses opportunities to add behavioral context in a compact way.
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 social media listing tool with 2 parameters and no output schema or annotations, the description is insufficient. It fails to clarify the retrieval scope (current user? specific account? global?), the relationship between threadId and the returned dataset, or what data structure is returned.
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 100% description coverage for both parameters (limit and threadId are well-described in the schema). The description adds no parameter-specific context, but with complete schema coverage, this meets the baseline expectation without requiring additional compensation from the description.
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 states the core action ('List') and resource ('X posts') and clarifies the platform with '(formerly Twitter)'. However, it lacks scope details (whose posts? timeline vs specific user?) and doesn't fully leverage the sibling differentiation opportunity, leaving gaps in understanding what exactly gets listed.
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?
There is no explicit guidance on when to use this versus the sibling tools (create_x_thread, post_to_x), nor when to utilize the optional threadId parameter versus retrieving unthreaded posts. The usage is only implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_to_xC
Post a message to X (formerly Twitter)
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Content of the post | |
| threadId | No | ID of the thread to post to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but reveals minimal behavioral traits. It implies a write operation but omits authentication requirements, visibility rules, rate limits, error conditions, and whether posts are immediate or pending.
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?
Single sentence is efficient and front-loaded with the core action. However, extreme brevity contributes to informational gaps given the lack of annotations and output schema.
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?
Despite simple 2-parameter structure, the description is inadequate for a publishing tool without annotations. Missing: thread lifecycle guidance (create vs reply), error handling, and side-effect disclosure critical for a public posting operation.
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% with clear descriptions for both 'content' and 'threadId'. The description adds no additional parameter guidance (e.g., threadId format, when to omit it), warranting the baseline score.
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?
Clear verb 'Post' and resource 'message' with platform identification 'X (formerly Twitter)'. However, it fails to distinguish from sibling 'create_x_thread' regarding when to create a new thread versus posting to an existing one.
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 'threadId' versus standalone posting, no mention of prerequisite steps (e.g., obtaining thread IDs), and no reference to sibling tools or alternatives.
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.
3 tool updates
v0.1.0- First observed
create_x_thread - First observed
list_x_posts - First observed
post_to_x
TDQS
Scored across 3 tools
The tools have significant overlap and unclear boundaries. 'create_x_thread' and 'post_to_x' both involve posting to X, with the distinction between a 'thread' and a 'post' not clearly defined in the descriptions, leading to potential confusion. 'list_x_posts' is more distinct but still part of the same ambiguous posting domain.
The naming follows a consistent verb_noun pattern with 'create_x_thread', 'list_x_posts', and 'post_to_x', all using snake_case. However, there is a minor deviation in the verb choice: 'create' vs. 'post' for similar actions, which slightly reduces consistency.
With only 3 tools, the server feels too thin for a social media domain, lacking essential operations like updating, deleting, searching, or interacting with other platforms. This limited scope may hinder agents from performing common social media tasks effectively.
The tool surface is severely incomplete for a social media server. It focuses only on X (Twitter) with basic create and list operations, missing critical functions such as update, delete, reply, like, follow, or support for other platforms like Facebook or Instagram, leading to significant gaps in agent workflows.
Maintenance
Related MCP Connectors
FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Twitter/X read-only MCP server — 12 tools: search, users, tweets, followers, timelines, trends.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.6 npm11MIT
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that provides tools for interacting with the SocialData API. This server allows you to fetch Twitter/X data, monitor user activity, and analyze social media engagement programmatically.7-
- FlicenseAqualityDmaintenanceModel Context Protocol server that enables LLMs to interact with X.com (formerly Twitter) through OAuth 2.0 authentication, supporting major Post-related operations including reading, writing, searching, and managing posts, likes, retweets, and bookmarks.2113 npm8-
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that enables programmatic interaction with Twitter API, allowing users to post tweets, search for content, and retrieve user timelines through standardized MCP tools.7 npmMIT