social-watch-mcp
Provides read-only access to a user's itch.io account data, including profile information, recent games or posts, game statistics such as downloads and views, replies or comments, and account-level totals.
Provides read-only access to a user's Threads account data, including profile and follower information, recent posts, post statistics, replies and mentions, and account-level totals.
Provides read-only access to a user's YouTube channel data, including profile and subscriber information, recent videos, video statistics, comments or mentions, and account-level totals.
social-watch-mcp
A small, read-only MCP server that lets Claude see your own Threads, itch.io, YouTube, X, Bluesky and Facebook Page numbers and replies through the official APIs, instead of you pasting screenshots.
Ask Claude "how did my posts do this week?" or "any replies I should answer?" and it calls the tools below, reads the real numbers and answers. It never posts, replies, likes or deletes: the HTTP client refuses everything except GET, and tests enforce that (details in SECURITY.md).
Tool | What it returns |
| which platforms are set up; the profile (name, handle, followers where the API gives them) |
| latest posts / games / videos: id, date, shortened text, link |
| views, likes, replies, reposts, downloads, as far as the platform gives them |
| replies, comments and mentions to read: text, author, date, link |
| account-level numbers (followers, total views, downloads...) |
platform is one of threads, itch, youtube, x, bluesky, facebook. A platform without a key answers "status": "not set up",
never an error, so you can start with just one.
There is also a snapshot command that saves the day's numbers to stats/YYYY-MM-DD.json (and a short .md), so
you can compare week to week. The APIs give only today's totals; the history exists only in those files.
Run it locally
You need Node.js 22 or newer and, to use it from Claude, Claude Code or Claude Desktop.
git clone https://github.com/denis1stomin/social-watch-mcp.git
cd social-watch-mcp
npm ci # installs the two dependencies from the lockfile
cp .env.example .env # then fill in the platforms you want
chmod 600 .env # keys are readable by you only
npm test # 27 tests on made-up data: no network, no keys needed1. Get your keys
Each platform has its own steps (Meta app, API key, ...), all in docs/setup.md. You can set up one
platform at a time; the others stay "not set up". Keys can also come from environment variables or,
on macOS, the Keychain instead of .env (see docs/setup.md). Free except X, which is pay-per-use (well under $1 a month at
weekly checks).
Platform | Key in | Cost |
Threads |
| free |
itch.io |
| free |
YouTube |
| free (quota) |
X | four | prepaid credits |
Bluesky |
| free |
Facebook Page |
| free |
2. Try it without Claude
npm run snapshot # writes ./stats/YYYY-MM-DD.json and .mdIf it prints your numbers, the keys work. (--out <dir> or SOCIAL_WATCH_OUT_DIR change where it writes;
--limit 10 sets how many recent posts per platform.)
3. Connect it to Claude
Claude Code (use the full path to app/server.mjs):
claude mcp add --scope user social-watch -- node "$PWD/app/server.mjs"
claude mcp list # social-watch should show as connectedClaude Desktop: add this to claude_desktop_config.json (Settings > Developer > Edit Config), with your full path,
then restart the app:
{
"mcpServers": {
"social-watch": { "command": "node", "args": ["/full/path/to/social-watch-mcp/app/server.mjs"] }
}
}The server reads the .env next to the code itself, so no keys go into the command or the config file. After
changing .env, restart Claude (or reconnect the server with /mcp).
Then just ask: "Which of my platforms are set up?", "Take a snapshot and compare it with last week's."
Related MCP server: X MCP Server
Layout
app/http.mjs the GET-only client, the only code that touches the network · app/platforms.mjs config, "not set
up", the five tools · app/platforms/ one adapter per platform · app/server.mjs the MCP server ·
app/snapshot.mjs the snapshot command · tests/ tests and made-up fixtures · docs/ setup guide and X/TikTok notes.
Not included (yet)
TikTok (needs OAuth with daily token refresh), anything that writes, automatic Threads token refresh, scheduling the snapshot.
Security
See SECURITY.md: what the server guarantees, the CI checks (secret scan, dependency audit, CodeQL) and how to report a problem.
License
Available Tools
5 toolsaccountsBRead-only
Which platforms are set up, and each profile (name, handle, followers/subscribers where the API gives them).
Inputs: platform.
post_statsARead-only
Numbers for one post/game/video by id: views, likes, replies, reposts/shares, downloads, as far as the platform gives them.
Inputs: id (required), platform (required).
recent_postsARead-only
Latest posts (Threads, X), games (itch.io) or videos (YouTube): id, date, shortened text, link. On X every returned post costs credits, so keep limit small.
Inputs: platform (required), limit.
repliesBRead-only
Replies, comments and mentions to read: text, author handle, date, link. since = ISO date or Unix seconds.
Inputs: platform (required), since.
totalsCRead-only
Account-level numbers: followers, total views, downloads, purchases...
Inputs: platform (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a clearly different scope: post_stats is per-item metrics, totals is account-level aggregates, recent_posts is the newest content feed, replies is incoming engagement, and accounts is configuration/profile info. The only mild overlap is post_stats vs totals (per-post vs per-account numbers), but the descriptions explicitly frame that distinction, so misselection is unlikely.
All five names are lowercase snake_case and follow a consistent noun-phrase style (post_stats, recent_posts, replies, accounts, totals). No camelCase or mixed verb styles, though the set lacks an explicit verb prefix, so the pattern is consistent but slightly generic.
Five tools is well within the ideal 3-15 range and each covers a distinct facet of social monitoring (per-post metrics, feeds, replies, accounts, aggregates). No tool feels redundant or padded, and nothing obviously missing at this count.
The read-only monitoring lifecycle is largely covered: discover content (recent_posts), drill into a post (post_stats), read engagement (replies), list profiles (accounts), and aggregate (totals). Minor gaps include no historical/time-series trend query, no per-post reply filtering or lookup of a single post's full text, and limited pagination options beyond 'since' and 'limit'.
Maintenance
Related MCP Connectors
Hosted X (Twitter) MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Nephia is a brand monitoring service, and this is its remote MCP server. Claude, Cursor, ChatGPT or any MCP client can read the mentions your brand gets on 14 sources: X, Reddit (posts and comments), YouTube, TikTok, Bluesky, Hacker News, Mastodon, Lemmy, GitHub, Product Hunt, Stack Overflow, any RSS feed, Vinted, and AI answers from ChatGPT, Gemini and Perplexity. Every mention arrives already read, with its sentiment and intent, so an agent can answer plain questions: which complaints came in since Friday, what Reddit said about us this week. The source is an argument, not a tool, so one call reads every source you watch. Sign-in is OAuth in the browser: no API key to copy. The consent screen has three permissions: read your mentions and Queries, change what is running (pause, resume, retire), and spend credits (semantic search and AI passes), which arrives unticked. Every tool description states its cost, so a model can budget before it spends. The server is on every plan, Free included, and reading your own mentions through it costs nothing.
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
Related MCP Servers
- AlicenseAqualityDmaintenanceA local MCP server that lets Claude post to social media via upload-post.com — text, photos, and videos across 13 platforms.17MIT
- FlicenseNot gradedqualityDmaintenanceA self-hosted MCP server on Cloudflare Workers that lets Claude post directly to X, YouTube, Instagram, and Facebook, and draft on-brand content for all five platforms including TikTok.18 npm-
- AlicenseNot gradedqualityDmaintenanceSelf-hosted MCP server that lets AI assistants read your own YouTube channel's stats, recent uploads, and upload schedule via the YouTube Data API v3, using read-only OAuth.MIT
- AlicenseNot gradedqualityDmaintenanceA local, read-only MCP server that provides Claude with private YouTube Analytics data—views, retention, traffic sources, demographics, revenue, and impressions/CTR—via authenticated Google APIs.32 npmMIT