social-superpowers
by pkobielak
README.md
# Superpowers.social — MCP server for X/Twitter & Reddit
Hosted [MCP](https://modelcontextprotocol.io) server for live X/Twitter and Reddit
research. 10 read-only tools for search, threads, timelines, posts and comments.
Streamable HTTP: add the URL and sign in with Google or GitHub when prompted.
Free tier available.
- **Website:** <https://superpowers.social>
- **Endpoint:** `https://superpowers.social/mcp` (Streamable HTTP)
[](https://superpowers.social)
[](https://superpowers.social)
[](https://modelcontextprotocol.io)
---
## Tools
All ten tools are read-only and idempotent. Eight of them trim the upstream
response to the fields listed below and, when the trim saves enough to be worth
reporting, append a stats line saying how much was stripped. `twitter-news` and
`reddit-get-user-comments` are the exceptions: they return the upstream objects
as they arrive, so the field lists below do not describe them and no stats line
is emitted.
### X/Twitter (5)
| Tool | What it does | Arguments |
|---|---|---|
| `twitter-search` | Search tweets matching a query | `query` (required), `count` (default 10), `cursor`, `text_only` |
| `twitter-read` | Read a single tweet | `tweet` (URL or ID, required), `text_only` |
| `twitter-thread` | Read a full conversation thread | `tweet` (URL or ID, required), `cursor`, `text_only` |
| `twitter-user-tweets` | Recent tweets from one account | `handle` (required, no `@`), `count` (default 20), `cursor`, `text_only` |
| `twitter-news` | Trending news on X | `count` (default 10), `category` (`for-you`, `news`, `sports`, `entertainment`, `trending`) |
Tweet fields, for `twitter-search`, `twitter-read`, `twitter-thread` and
`twitter-user-tweets`: `id`, `text`, `createdAt`, `author`, `authorName`, `url`,
and `replyCount` / `retweetCount` / `likeCount` when X returns them. Quoted
tweets are nested under `quotedTweet`. `text_only` reduces each tweet to
`{id, text}`. `twitter-news` returns news items, not tweets, and passes their
fields through unchanged apart from a curation prefix stripped off `category`.
### Reddit (5)
| Tool | What it does | Arguments |
|---|---|---|
| `reddit-search` | Search posts across Reddit or one subreddit | `query` (required), `subreddit`, `count` (default 10), `sort`, `time_filter`, `text_only` |
| `reddit-get-post` | A post plus its comments | `post_id` (required), `subreddit`, `comment_limit` (default 10) |
| `reddit-get-posts` | Top posts from a subreddit for a time window | `subreddit` (required), `count` (default 10), `time_filter` (default `week`), `text_only` |
| `reddit-get-user-posts` | Posts submitted by a user | `username` (required), `count` (default 10), `sort` (default `new`), `time_filter` (default `all`), `text_only` |
| `reddit-get-user-comments` | Comments by a user | `username` (required), `count` (default 10), `sort` (default `new`), `time_filter` (default `all`) |
Post fields: `id`, `title`, `author`, `subreddit`, `createdUtc`, `url`, and the
post body when there is one. The list tools — `reddit-search`,
`reddit-get-posts`, `reddit-get-user-posts` — truncate that body to a
500-character `selftext_preview`; `reddit-get-post` returns the full `selftext`
and its comments as `id`, `author`, `body`, plus `depth` where the source gives
one. `text_only` reduces each post to `{id, title}`. None of these carry a
Reddit score or comment count — the source does not provide them.
`reddit-get-user-comments` applies no field filtering — its comment objects come
through as the source returns them.
## Setup
Authentication is required for every call — an unauthenticated `initialize`
returns 401.
### Claude Code (verified 2026-09-16)
```bash
claude mcp add --transport http social-superpowers https://superpowers.social/mcp
```
Sign in with Google or GitHub when Claude Code opens the browser prompt. That is
the whole setup — the ten tools are then available in the session.
### Any other MCP client
Any client that speaks Streamable HTTP can connect to
`https://superpowers.social/mcp` with either:
- **its own MCP OAuth sign-in flow**, if it supports one — the same Google or
GitHub prompt, nothing to set up in advance; or
- **an API key**, for clients without MCP OAuth: mint a key at
<https://superpowers.social/account> and send it as
`Authorization: Bearer sk_live_…` or `x-api-key`.
Generic Streamable-HTTP-with-API-key configuration shape (adjust to your
client's own config format):
```json
{
"mcpServers": {
"social-superpowers": {
"type": "http",
"url": "https://superpowers.social/mcp",
"headers": {
"Authorization": "Bearer sk_live_…"
}
}
}
}
```
## Examples
```
You: what are people on X saying about $INTC?
Agent: twitter-search { "query": "$INTC", "count": 25 }
→ up to 25 tweets with author, timestamp, link and reply/retweet/like counts
You: which subreddits discuss Tirzepatide side effects?
Agent: reddit-search { "query": "tirzepatide side effects", "count": 10 }
→ posts with author, subreddit, permalink and a body preview
reddit-get-post { "post_id": "1abc234" }
→ the full post with its comments
```
## License
MIT — this repository contains the public manifest, examples, and docs. The
hosted gateway implementation is closed-source; the MCP contract is the
integration surface.
## Links
- Site: <https://superpowers.social>
- MCP endpoint: <https://superpowers.social/mcp>
- MCP spec: <https://modelcontextprotocol.io>
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues