Skip to main content
Glama
angheljf

social-media-mcp

by angheljf
README.md
# Social Media Server

[![smithery badge](https://smithery.ai/badge/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).

![Example](./img/example.png)

<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

C2.6/5.0

Scored across 3 tools

Disambiguation2/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues