socials-mcp
Unified MCP server for X/Twitter and Reddit.
MCP name:
socials— one server, two platforms.
Install
uv tool install socials-mcp
Login (optional)
-
Install Cookie Editor extension in your browser.
-
Go to x.com or reddit.com → open Cookie Editor → Export → Export as JSON (clipboard).
-
Run:
socials-mcp x login # or socials-mcp reddit login
-
Paste the JSON (Ctrl+D to finish).
-
Enjoy!
Config
{
"mcpServers": {
"socials": {
"command": "socials-mcp"
}
}
}
Tools
| Tool | Description |
|---|---|
reddit_search |
Search Reddit (+ lightweight: fields, text_only, filters) |
reddit_read |
Read post + comments |
reddit_sub |
Browse subreddit (+ lightweight: fields, text_only, filters) |
reddit_sub_info |
Subreddit info |
reddit_user |
User profile |
reddit_user_posts |
User posts |
reddit_user_comments |
User comments |
reddit_popular |
Popular posts (/r/popular) |
reddit_popular_all |
Browse r/all |
reddit_feed |
Home feed (requires login) |
reddit_saved |
Saved posts (requires login) |
reddit_upvoted |
Upvoted posts (requires login) |
reddit_whoami |
Current account (requires login) |
reddit_status |
Auth status (requires login) |
reddit_comment |
Post a comment (requires login) |
reddit_create_post |
Create a self or link post (requires login) |
reddit_delete |
Delete a post or comment (requires login) |
reddit_save |
Save a post (requires login) |
reddit_unsave |
Unsave a post (requires login) |
reddit_upvote |
Upvote a post (requires login) |
reddit_subscribe |
Subscribe to subreddit (requires login) |
reddit_unsubscribe |
Unsubscribe from subreddit (requires login) |
reddit_subscriptions |
List subscribed subreddits (requires login) |
x_user |
User profile |
x_tweet |
Tweet + replies |
x_user_posts |
User tweets |
x_article |
Fetch Article |
x_search |
Search tweets (+ lightweight: fields, text_only, summarize, filters) |
x_feed |
Home timeline (+ lightweight: fields, text_only, filters) |
x_following_feed |
Following timeline (+ lightweight: fields, text_only, filters) |
x_bookmarks |
Bookmarks (requires login) |
x_whoami |
Current account (requires login) |
x_status |
Auth status (requires login) |
x_post |
Post a tweet (requires login) |
x_follow |
Follow user (requires login) |
x_unfollow |
Unfollow user (requires login) |
x_followers |
List followers (requires login) |
x_following |
List following (requires login) |
x_like |
Like tweet (requires login) |
x_unlike |
Unlike tweet (requires login) |
x_likes |
Liked tweets (requires login) |
x_retweet |
Retweet (requires login) |
x_unretweet |
Undo retweet (requires login) |
x_reply |
Reply to tweet (requires login) |
x_thread |
Post a thread, optional images (requires login) |
x_quote |
Quote tweet (requires login) |
x_bookmark |
Bookmark tweet (requires login) |
x_unbookmark |
Remove bookmark (requires login) |
x_delete |
Delete tweet (requires login) |
x_list |
Fetch List tweets (requires login) |
socials_status |
Auth status X + Reddit |
reddit_login_help |
Login help Reddit |
x_login_help |
Login help X |
Lightweight mode
The read tools (x_search, x_feed, x_following_feed, reddit_search, reddit_sub) accept options to lighten the output:
| Option | Description | Example |
|---|---|---|
fields |
Keep only the requested fields (supports a.b nesting) |
["text", "author.screenName", "metrics.likes"] |
text_only |
Return only the texts, separated by --- |
true |
summarize |
Add engagement stats (count, avg/median/max likes) | true |
min_likes / min_score |
Minimum engagement filter | 100 |
min_retweets / min_comments |
Minimum engagement filter (X/Reddit) | 10 |
min_views |
Minimum views filter (X) | 1000 |
keywords |
Keep only items containing these keywords | ["stress test", "crash"] |
exclude_keywords |
Drop items containing these keywords | ["rt", "follow"] |
verified_only |
X only: verified accounts | true |
nsfw |
Reddit: NSFW/SFW filter | false |
Examples
# Lightweight search: only text + author
mcp__socials__x_search(query="wow forever stress test", fields=["text", "author.screenName"])
# Plain text for quick analysis
mcp__socials__x_search(query="wow forever", text_only=true, max=50)
# Filter + engagement stats
mcp__socials__x_search(query="wow forever", min_likes=10, summarize=true)
# Reddit: popular posts of a sub
mcp__socials__reddit_sub(subreddit="wowforever", min_score=100, fields=["title", "ups", "num_comments"])
License
MIT
Metadata
Release files for socials-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| socials_mcp-0.2.0.tar.gz | 91.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| socials_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 200.4 kB
Security for socials-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.
Release files / socials_mcp-0.2.0.tar.gz
How to use checksums
7cf7a28cbac300e9b3c94ef902c5d62ff07158989218d46d8fb5493cb8e0e7d4How to use checksums
c493e53bf8b3ee0b0a6c269223060fad5655ae142b4f96a2167f99fddf57d25fWhat is trusted publishing?
twine/7.0.0 CPython/3.13.13