Overview
Nooticr MCP is a Model Context Protocol server that lets an AI assistant read public social posts across 10 networks and act on what it finds.
It connects over Streamable HTTP at https://mcp.nooticr.com/mcp, authenticates with OAuth 2.1, and exposes 28 tools. Assistants use it to fetch a post's media and spoken transcript, read its comment section, survey a niche, and then produce work from that: alternative hooks, variants to film, a draft scored before publication.
Networks covered: TikTok, Instagram, YouTube, X, Reddit, Weibo, LinkedIn, Douyin, Xiaohongshu, Bilibili.
For IT administrators
If you are deciding whether to approve this server for your organisation, this section is the short version. Everything here is enforced in the implementation, not policy alone.
What it does
- Reads public posts your users or their assistant explicitly request, by URL or search term
- Returns that content to the assistant to reason over — it runs no model of its own
- Draws on the signed-in user's own credit balance
- Returns structured data and rendered cards to the assistant
What it cannot do
- Connect to any social account. It holds no social credentials and has no such capability
- Post, comment, like, follow or message anywhere, on anyone's behalf
- Read private messages, drafts, or non-public profile data
- Access anything on the user's device or network
- Reach other systems in your environment — it only calls out to the services listed below
Every tool is read-only with respect to your organisation's data. The only state it writes is the user's own Nooticr credit ledger. The MCP tool annotations declare this: all 24 tools carry destructiveHint: false, and all but the two account actions carry readOnlyHint: true.
Access and revocation
Authentication is OAuth 2.1 with PKCE (S256) and dynamic client registration. No API key is ever pasted into a chat window. Tokens are scoped and expiring.
Two scopes are granted, and they describe exactly what the tools do:
social:read— read public posts, transcripts, comments, creators, sounds and hashtagscredits:spend— run AI tools and open a checkout, both of which draw on the user's credit balance
To revoke: the user removes the connector in their AI client, which invalidates its tokens immediately. To remove the account and its data entirely, email support@nooticr.com.
Data handling
| Data | Stored? | Retention |
|---|---|---|
| Account identity (email, display name, user id) | Yes | Until the account is deleted |
| OAuth tokens issued to the AI client | Yes | Until expiry or revocation |
| Credit ledger (tool name, credits, timestamp) | Yes | Retained as a financial record |
| URLs and search terms passed to tools | No | Processed, not retained after the call |
| Content of retrieved posts | No | Streamed through; media cached only transiently so it can be displayed |
| Chat conversation content | No | The server sees the tool call, not the surrounding conversation |
| Payment card details | No | Stripe handles payment; Nooticr receives only a reference |
| Operational logs (timestamps, status codes, errors) | Yes | Up to 30 days |
Data is not sold, not shared for advertising, and not used to train models.
Subprocessors and egress
The server calls out to these services and no others:
| Service | Purpose |
|---|---|
| Cloudflare | Hosting and edge delivery of this server |
| api.nooticr.com | The Nooticr API — accounts, credits, tool execution |
| Stripe | Payment processing |
| Social data provider | Retrieving public posts from the supported networks |
| AI provider | The analysis and generation tools |
If you allowlist egress, the assistant only needs to reach mcp.nooticr.com. Everything else is server-to-server.
Cost control
Spend is bounded by the user's prepaid credit balance — there is no invoice, no overage and no auto-renewal. A user cannot spend more than they have loaded. Every tool declares its price in its own description and in _meta.nooticr/creditCost, so an assistant can budget before calling. Failed calls are refunded automatically, and a call interrupted mid-flight is billed once at most.
Third-party content
Retrieved posts are published by third parties and may contain personal data about the people who published them. Nooticr processes it only to answer the request. Your users are responsible for using it lawfully — see the acceptable use section of the Terms. Nooticr is not affiliated with, endorsed by or sponsored by any of the platforms; their names and marks identify coverage only.
Connecting
Claude.ai and Claude Desktop
Settings → Connectors → Add custom connector, then paste:
https://mcp.nooticr.com/mcpSign in with Nooticr when prompted. No key to copy.
Claude Code
/plugin marketplace add Nooticr/nooticr-mcp
/plugin install nooticr@nooticrChatGPT
Settings → Connectors → Advanced → Developer mode, then add the same URL.
Cursor and other stdio clients
{
"mcpServers": {
"nooticr": {
"command": "npx",
"args": ["-y", "@nooticr/mcp"]
}
}
}Then npx -y @nooticr/mcp login once to sign in.
Tool reference
28 tools. Costs are in credits and match what the server charges; an argument marked ? is optional.
Read a post
Retrieve what a post contains. No interpretation, no AI.
| Tool | Cost | Inputs | What it does |
|---|---|---|---|
get_social_media | 1 cr | url | A post's media, caption, author and engagement counts. You want the post itself, not an interpretation of it. |
get_post_transcript | 1 cr | url, language? | The words actually spoken, read from the post's caption track (TikTok, YouTube). The exact wording matters — a hook, a claim, a CTA. Cheaper and more literal than any AI tool. |
get_post_comments | 2 cr | url, limit? | Top comments, the themes the platform clusters them into, and which the creator pinned or liked. You want to read what people wrote. Use analyze_comments to have it synthesised instead. |
Understand a post
The material behind a post you already have, for your own model to read.
| Tool | Cost | Inputs | What it does |
|---|---|---|---|
analyze_post_fast | 2 cr | url | The post's transcript, caption and stats — everything but the pictures. Two fetches: get_social_media and get_post_transcript. The default. A credit less than analyze_post, and it carries everything the script and structure depend on. |
analyze_post | 3 cr | url | Frames sampled across the video, as images your own model can look at, plus the transcript. Two fetches: get_post_frames (2) and get_post_transcript (1). The visuals are the point — framing, editing, on-screen text, pacing. |
understand_social_post | 3 cr | url, focus? | The same frames and transcript as analyze_post, asked for what physically happens on screen rather than why it works. You need the events, not the strategy. |
analyze_comments | 2 cr | url, limit? | The comment section, every comment with an id, and the taxonomy to label them with — sentiment, and whether each is praise, a complaint, a bug report, a question, a request, a comparison or spam. The goal is what to make next, not what people wrote. show_comment_review then draws your labels for free. |
compare_posts | 1 cr | urls[] (2–5) | The first post with its stats, and the comparison left to you — fetch the rest with get_social_media at 1 credit each. Performance differs and you need to know why. |
Research a niche or creator
Look across many posts to find the pattern.
| Tool | Cost | Inputs | What it does |
|---|---|---|---|
discover_social_posts | 2 cr | niche, platform?, limit?, offset? | Recent posts for a niche across seven networks, with pagination. You want posts to look at. Use niche_report for the pattern across them. |
get_user_posts | 2 cr | username, platform?, limit? | One creator's recent posts with stats. Scanning an account. |
search_creators | 2 cr | keyword, platform?, count? | Creators by niche or keyword, with follower and engagement data. You know the niche but not the names. |
get_similar_creators | 2 cr | username, platform? | Lookalikes for a creator that already fits. One creator works and you want more like them. |
discover_sounds | 2 cr | keyword, platform?, count? | Trending audio with playable previews and usage counts. Picking audio, or spotting a sound before it peaks. |
discover_hashtags | 2 cr | country?, days?, count?, industryId? | Trending hashtags with volumes and whether each is rising, cooling or steady. Choosing tags, or catching a wave early. |
find_hook_pattern | 2 cr | username, platform?, limit? | A creator's recent posts, fetched so their opening lines can be read as a set and turned into fill-in-the-blank templates. Reverse-engineering someone you want to learn from. The same single fetch as analyze_creator_profile, asked a narrower question. |
niche_report | 2 cr | niche, platform?, count? | Recent posts in the niche with their stats, so the dominant formats, the hook patterns and the gaps can be read off them. Entering a niche, or deciding what to make next. |
analyze_creator_profile | 2 cr | username, platform?, limit?, focus? | A creator's recent posts with their stats — the material of a teardown: niche, themes, hook formula, what over- and underperforms. A deep read of one account. Pair it with analyze_post on the posts whose visuals you want to see. |
search_mentions | 2 cr | term, platforms?, since?, limit?, offset? | Brand monitoring: every comment that names a term, across nine networks at once, grouped under the post it was left on and filtered to a date window you choose — 2 credits per network searched (5 for Xiaohongshu), not per call. Watching what is said about a brand, product or person; discover_social_posts is for one platform. |
watch_creator | Free | username, platform?, note? | Add a creator to your watchlist. Stores the handle only — nothing is fetched. You want to follow someone over time rather than look once. |
unwatch_creator | Free | username, platform? | Drop a creator from the watchlist. They should no longer appear in the catch-up. |
catch_up_watchlist | 2 cr | limit?, platform? | What everyone you watch has posted since your last catch-up — 2 credits per creator checked, not per call. Following a set of creators over time instead of re-reading each one. |
Make something
Turn what you learned into work you can publish.
| Tool | Cost | Inputs | What it does |
|---|---|---|---|
write_hooks | 2 cr | url? or topic, count?, tone? | The source post and its transcript, to write openings against. With a topic and no url it fetches nothing and costs nothing. You know the subject and need openings to choose between. |
score_draft | Free | draft, platform? | Your draft back with the rubric to hold it to — hook, clarity, payoff, specificity and fit, each scored 1-10, plus the fixes worth making. Free: the text is already yours, so there is nothing to fetch. Before filming, while changing it is still cheap. The only tool that runs before the content exists. |
repurpose_post | 2 cr | url, targets? | The source post and its transcript, to rewrite as an X thread, LinkedIn post, carousel, YouTube metadata or newsletter. A post worked and you want it on other surfaces. |
create_variants | 2 cr | url, count?, angle? | The post that worked, with its transcript, to build variants from — hook, the angle that changes, ordered shot beats, CTA. Moving from why it worked to what to make. |
Account
Balance and billing. Never billed.
| Tool | Cost | Inputs | What it does |
|---|---|---|---|
check_nooticr_credits | Free | — | Balance and billing URL. Before a run of paid calls. |
buy_nooticr_credits | Free | — | A Stripe Checkout URL for a credit pack. Credits land automatically after payment. The balance is short. |
nooticr_login | Free | — | Re-link the account. A call fails with an authentication error. |
Billing
Usage is prepaid in credits. New accounts start with 20 free credits. Every tool is priced at what it fetches upstream, so a tool that makes two fetches costs both — the table above says which.
| Pack | Price | Credits | Per credit |
|---|---|---|---|
| Starter | $15 | 600 | $0.025 |
| Pro | $40 | 2,000 | $0.020 |
| Scale | $85 | 5,000 | $0.017 |
- Credits do not expire and there is no subscription or recurring charge.
- A call that fails is refunded automatically.
- A call interrupted after it was charged — a deploy, a dropped connection, a timeout — is billed once at most. Retries carry an idempotency key.
- Payment is handled by Stripe. Nooticr never sees or stores card details.
Check the balance any time with check_nooticr_credits, top up with buy_nooticr_credits, or use the dashboard.
Errors and limits
| You see | Meaning | Do |
|---|---|---|
401 Unauthorized | No valid token | Reconnect the connector, or run nooticr_login |
-32002 insufficient credits | Balance too low for this tool | buy_nooticr_credits, or top up in the dashboard |
available: false | The post has no caption track | Not an error — use analyze_post instead |
| Unsupported URL | Not one of the 10 supported networks | Check the coverage list above |
A 401 carries a WWW-Authenticate header pointing at the protected-resource metadata, so a compliant client can discover the authorization flow without configuration.
Long-running tools stream their result over SSE and can take 20–70 seconds. If the connection drops, the client reconnects with Last-Event-ID and receives what it missed rather than restarting the call.
Support
Email support@nooticr.com for questions, security reports, data requests or account deletion. We respond to privacy requests within 30 days.
- Service status: /health
- OAuth metadata: /.well-known/oauth-authorization-server
- Source: github.com/Nooticr/nooticr-mcp
- Package: @nooticr/mcp