social-media-mcp
# Social Media Server
[](https://smithery.ai/server/social-media-server)
A Model Context Protocol (MCP) server for managing social media posts, currently supporting X (formerly Twitter).

<a href="https://glama.ai/mcp/servers/55bvn41dtb">
<img width="380" height="200" src="https://glama.ai/mcp/servers/55bvn41dtb/badge" />
</a>
## Features
- Post messages to X (Twitter)
- Create threads on X
- Reply to existing threads
- List X posts with filtering options
- Platform information endpoints
## Prerequisites
- Node.js 16 or higher
- Twitter API credentials
- API Key
- API Secret
- Access Token
- Access Secret
## Installation
### Installing via Smithery
To install Social Media Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/social-media-server):
```bash
npx -y @smithery/cli install social-media-server --client claude
```
### Manual Installation
1. Clone the repository
2. Install dependencies:
```sh
npm install
```
3. Create a .env file with your Twitter credentials:
```sh
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secret
```
## Building
To build the project, run:
```sh
npm run build
```
## Available Tools
- `post_to_x` - Post a message to X
- Required: `content` (string)
- Optional: `threadId` (string)
- `create_x_thread` - Create a new thread on X
- Required: `content` (string)
- `list_x_post` - List X posts with optional filtering
- Optional: `limit` (number)
- Optional: `threadId` (string)
## Resources
The server provides platform information via:
- `socialmedia://platforms/x`
## Development
The project uses TypeScript and follows the Model Context Protocol specification. The main server implementation is in index.ts, with types defined in types.ts.
## License
This project is licensed under the MIT License
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.