@orchyn/mcp
OfficialThis server is an MCP integration for orchyn that lets AI assistants read, analyze, and create social-media content across TikTok, Instagram, YouTube, X/Twitter, Reddit, LinkedIn, Douyin, Xiaohongshu, Weibo, and Bilibili, plus monitor brand mentions and manage creator watchlists.
Read posts: fetch post facts and media (
get_social_media), exact transcripts (get_post_transcript), and top comments with themes (get_post_comments).Understand posts: generate strategy analysis (
analyze_post,analyze_post_fast), factual on-screen descriptions (understand_social_post), comment synthesis (analyze_comments), and side-by-side comparisons (compare_posts).Research niches and creators: discover trending posts, sounds, hashtags, and hook patterns; search and find similar creators; run full creator profile teardowns; generate niche reports.
Monitor brands:
search_mentionssweeps nine networks for comments mentioning a term within a date window.Make content: write hooks, create video variants, score drafts before filming, repurpose posts to other surfaces (X thread, LinkedIn, carousel, YouTube metadata, newsletter).
Manage watchlists: watch/unwatch creators and catch up on what they posted since the last check.
Manage account: check credit balance, buy credit packs via Stripe, and re-authenticate when needed.
Allows reading and analyzing Bilibili posts, including transcripts, comments, engagement stats, and post performance.
Allows reading and analyzing Instagram posts, including media, captions, comments, and performance insights.
Allows reading and analyzing TikTok posts, including transcripts, comments, engagement stats, and content strategies.
Allows reading and analyzing Xiaohongshu posts, including media, captions, comments, and performance insights.
Allows reading and analyzing YouTube posts and videos, including transcripts, comments, engagement stats, and content strategies.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@orchyn/mcpAnalyze this TikTok post and suggest 5 hook variants"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@nooticr/mcp
MCP (Model Context Protocol) server for nooticr.
Gives an AI assistant three things: it can read real social posts across ten networks (TikTok, Instagram, YouTube, X, Reddit, LinkedIn, Douyin, Xiaohongshu, Weibo, Bilibili), understand them — transcript, video frames, comments, the numbers — and make something from what it learned: hooks, variants to film, a scored draft, a repurposed thread.
The understanding is your model's, not ours. Every tool here fetches material and hands it over with an account of what to do with it; none of them ask a model of ours for an opinion first. You pay for the fetch and nothing else.
It also monitors a name: search_mentions sweeps nine of those networks for
every comment that says your brand, inside a date window you choose.
Runs over stdio locally or as a hosted connector at https://mcp.nooticr.com/mcp.
Billed against your nooticr credits; new accounts get 20 free.
Install (one link)
Claude Code — register the marketplace, then install the plugin:
/plugin marketplace add Nooticr/nooticr-mcp
/plugin install nooticr@nooticrClaude Code / CLI without the plugin:
claude mcp add nooticr --user -- npx -y @nooticr/mcp
npx @nooticr/mcp login # one-time sign-in (Google)Cursor / any stdio MCP client (claude_desktop_config.json, .mcp.json, …):
{
"mcpServers": {
"nooticr": {
"command": "npx",
"args": ["-y", "@nooticr/mcp"],
"env": { "NOOTICR_BASE_URL": "https://api.nooticr.com" }
}
}
}Related MCP server: @posteverywhere/mcp
Tools
36 tools, grouped by what you are trying to do. Prices are in nooticr credits and match what the server actually charges.
Six of them — the ones under Answer a question you actually have — are not endpoint wrappers. Each names a job, fans out over the calls that job needs, groups the evidence by whatever you are deciding about, gives every item an id a follow-up tool can act on, and hands the reading to your model rather than to ours. They fan out, so they cost the sum of what they fetched and every one of them caps that fan-out with an argument.
Read a post
Tool | Credits | What it is for |
| 1 | The post's facts and media — contentType, title, caption, author, stats, direct media URLs, plus an inline thumbnail. Use when you want the post itself and nothing interpreted. |
| 1 | The words actually spoken, read from the post's caption track (TikTok and YouTube). Exact rather than inferred, and far cheaper than watching the video. Use before any analysis when the wording matters. |
| 2 | Frames sampled evenly across a post's video, returned as images you can actually look at — not a description of them. ffmpeg opens the stream directly rather than downloading it, so HLS works and an expired link is re-resolved on the spot. Verified live at 3/3 on TikTok, YouTube, Instagram, Douyin and X; Reddit works on video posts. A carousel or slideshow returns its own images unchanged. Each frame costs roughly 1,200 tokens of your context. |
| 2 | Top comments plus the themes the platform clusters them into, with which ones the creator pinned or liked. Use when you want to read what people wrote. |
Understand a post
Tool | Credits | What it is for |
| 2 | The post's transcript, caption and stats — everything but the pictures, which is what makes it the cheap read. Two fetches: |
| 3 | Frames sampled across the video, as images your model can actually look at, plus the transcript. Two fetches: |
| 3 | The same two fetches, asked for a description of what physically happens on screen rather than why it works. Use when you need the events, not the strategy. |
| 2 | The comment section, every comment with a stable 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 same |
| free | Draws the classifications your model produced — every comment with its sentiment and category, filterable and selectable. Makes no requests; it only renders what you pass it. |
| 1 | The first of two to five posts, fetched with its stats, and the comparison left to you. Fetch the rest with |
Research a niche or a creator
Tool | Credits | What it is for |
| 2 | Recent posts for a niche across nine networks, with inline thumbnails and |
| 2 | One creator's recent posts with stats. Use to scan an account. |
| 2 | Creators by niche or keyword. Use when you know the niche but not the names. |
| 2 | Lookalikes for a creator that already works. |
| 2 | Trending audio with playable previews. Sound is a major ranking signal on TikTok. |
| 2 | Trending hashtags with volumes and whether each is rising, cooling or steady. |
| 2 | A creator's recent posts, so their opening lines can be read as a set and turned into fill-in-the-blank templates. One |
| 2 per network (5 for Xiaohongshu) | Brand monitoring. Every comment that names a term, across nine networks at once, grouped under the post it was left on. A brand is named far more often in the replies than in a caption, so the comment is the unit — not the post. Takes a |
| free | Add a creator to your watchlist. Stores the handle only — nothing is fetched. |
| free | Drop a creator from the watchlist. |
| 2 per creator | What everyone you watch has posted since your last catch-up. Compares against the snapshot taken last time and moves it forward, so it answers "what is new" rather than "what exists". |
| 2 | Recent posts in a niche with their stats, so the dominant formats, hook patterns and the gaps nobody fills can be read off them. One |
| 2 | A creator's recent posts with their stats — the material of a teardown: niche, themes, hook formula, what over- and underperforms, who the audience is. One |
Answer a question you actually have
Tool | Credits | What it is for |
| 2 + 2 per post opened (14 by default) | The mirror of |
| free | Lays your drafts out for a person to work through, grouped under the post, each with what you decided to do about it. Sends nothing; fetches nothing. |
| 2 | What a creator shipped, and which of it beat their own median rather than a raw view count that mostly measures follower count. One post list, whatever the window. If they are on your watchlist it also marks what is new since your last check and moves that marker forward — its own marker, not the one |
| 2, or 4 with a seed | A collaboration shortlist: a keyword search merged with the lookalikes of a creator who already fits, marked by which search found each one. It does not measure audience overlap — that costs about nine credits a candidate, so the result says so and shows how to check a finalist rather than faking the signal. |
| 3 | One post against the creator's own recent distribution, with the post taken back out of its own baseline. Returns median, quartiles, ratio and percentile, so the answer can be "this is an ordinary result, not a failure". Different question from |
| 2 + 2 per post read + 2 (12 by default) | Demand against supply: what your commenters explicitly ask for, set beside what a niche sweep shows is already being made. A gap nobody asked for is noise; a request nobody serves is the opportunity. Falls back to your most-used hashtag when you name no niche. |
Make something
Tool | Credits | What it is for |
| 2, or free | The source post and its transcript, to write openings against. Give a topic instead of a url and it fetches nothing and costs nothing. |
| free | Your draft back with the rubric to hold it to — hook, clarity, payoff, specificity and fit, each scored 1-10, plus the three fixes worth making and a rewritten opening. Fetches nothing: the text is already yours. The only tool that runs before the content exists. |
| 2 | The source post and its transcript, to rewrite for other surfaces — X thread, LinkedIn post, carousel slides, YouTube metadata, newsletter. |
| 2 | The post that worked, with its transcript, to build variants from: hook, the angle that changes, ordered shot beats and a CTA. |
Account
Tool | Credits | What it is for |
| free | Balance and billing URL. |
| free | A Stripe Checkout URL for a credit pack. Credits land automatically after payment. |
| free | Re-link the account when a call fails with an authentication error. |
How billing works
New accounts get 20 free credits.
Every tool is priced at what it fetches upstream, and bills from the first call. A tool that fans out to two fetches costs both —
analyze_postis 2 for the frames plus 1 for the transcript — and its description says so. There is no free first use: that grant belonged to the AI calls, and there are none.A call that fails is refunded automatically, and a call interrupted mid-flight is billed once at most — retries are idempotent.
Platform admins bypass credit debiting entirely.
Interactive cards in Claude / ChatGPT chat
Every tool that returns posts also renders inline interactive cards directly
in the chat (MCP Apps ui://nooticr/view resource rendered in a sandboxed
iframe):
Video posts (TikTok/IG/YouTube/Douyin/LinkedIn) — an inline
<video>player with the thumbnail as poster, playing the re-hosted permanent MP4 (no expiring CDN tokens).Carousels / slideshows — a horizontally scrollable strip of every slide with an image count chip.
Single images — inline thumbnail.
Text-only posts (LinkedIn / X) — a styled quote block of the post text.
Official brand marks — each card shows the platform's real logo (simple-icons) in its brand color instead of an emoji.
search_mentions renders a different view, because monitoring is triage rather
than browsing:
Each row is a person saying something. Their picture, with the network's mark on it, then the handle and when they wrote it — "today at 7:25 PM", not a timestamp — then the comment with the term highlighted everywhere it appears, then what it earned in likes and replies. A
×Nbadge marks a comment that names the brand more than once.Each post carries its reach. The same sentence under a 25K-upvote thread and under a post nobody saw are not the same problem, and nothing else on screen tells you which one you are reading.
The per-network counts are filters. Click one to narrow to it; a network that answered with nothing is shown but is not clickable, because filtering to it is a dead end. Filtering and sorting redraw from what you already paid for — the view never re-queries.
A burst collapses. One post with a run of near-identical replies (a coordinated fan campaign, say) shows the first few and offers the rest, so it cannot push four other networks off the screen.
Comments are selectable, and the selection is agentic. Tick any comments, or select a whole thread at once, and send them — the view hands the host the comment ids the tool issued, so the model can reply to, escalate or analyse exactly those. Selections survive filtering and sorting.
Load more pages from the
nextOffsetthe tool returned.
Also inline thumbnails render for the model / plain-text clients:
get_social_media/understand_social_post/analyze_post— up to 4 frames inline (poster + carousel slides). The fullmediaItems[].preview_url+thumbnailUrlstay instructuredContentfor the model to reason over.discover_social_posts/get_user_posts/analyze_creator_profile— each returned post shows its thumbnail inline (up to 4 at once) together with its title/caption + views/likes/comments. Say "next" or "show more" — Claude will re-call withoffset/limitpagination. Say "analyze the 2nd one" — Claude callsanalyze_postorunderstand_social_poston that URL.Batch analysis — ask "analyze all 4" or "understand these 3 in batch" and Claude will call
analyze_post/understand_social_postonce per URL in parallel and summarize. For large batches,discover_social_posts+ a follow-upanalyze_postper URL is the recommended flow.
Your own model does the thinking
There is no other mode. Every tool returns the material an analysis would have been built from, at the price of the fetch, and asks your model to reason over it. Nothing here calls a model of ours, so nothing here sells you a judgement.
For the visual tools that means actual frames — real image content blocks, not a description of them — paired with the transcript. Measured on Claude Code: ~1,200 tokens per 1280×720 frame, eight frames read back correctly and in order. Twenty frames is about 2.4% of a million-token context.
Tool | What comes back | Credits |
| frames as images, plus the transcript and stats | 3 (2 + 1) |
| the comments, each with an id, and the labels to use | 2 |
| the creator's recent posts and their numbers | 2 |
| your own draft, and the rubric to score it against | free |
The prices above are derived from the fetches each tool makes rather than
written down twice — see EVIDENCE_PLANS and planCost in
src/shared/evidence.ts. score_draft has no plan at all: it reviews text you
already have, so there is nothing to fetch and nothing to charge for.
show_comment_review closes the loop: hand back your classifications and it
draws them — every comment with its sentiment and category, filterable and
selectable. Free, and it makes no requests.
Before an expensive call, it asks
Most tools print their price in their own description, so a call costs what you already read. Two do not, because their price is set by an argument:
search_mentionsbills per network swept, so a bare "monitor my brand" sweeps all nine for 21 credits.catch_up_watchlistbills per creator, so the price is the length of a list the request never mentions.
Above 6 credits those two ask first, over MCP elicitation — the client shows
the number and you accept or decline. Declining spends nothing and is not an
error. A client that does not support elicitation is not blocked; the call runs
as it always did.
Prerequisites
Node.js >= 18 (tested on Node 22)
An nooticr account (created automatically on first sign-in — Google sign-in via
npx @nooticr/mcp login; the dashboard is not required: the server auto-creates a default workspace + app for new accounts)Access to an nooticr server — defaults to the cloud API (
https://api.nooticr.com); pointNOOTICR_BASE_URLat your own deployment for local development
Quick start
# 1. Sign in with your nooticr account (Google sign-in opens in your browser)
npx @nooticr/mcp login
# or with email/password:
npx @nooticr/mcp login --email you@example.com --password '...'
# 2. Add it to your MCP client (see install section above) — or run it manually:
npx @nooticr/mcp # stdio (default; for Claude Desktop / Cursor)
npx @nooticr/mcp --http # remote HTTP with OAuth (for OpenAI Agents SDK)login stores your nooticr tokens in ~/.config/nooticr-mcp/credentials.json
(mode 0600). If your browser cannot be opened automatically, copy the URL it
prints into a browser manually.
Usage in Claude Desktop
After npx @nooticr/mcp login, add to claude_desktop_config.json:
{
"mcpServers": {
"nooticr": {
"command": "npx",
"args": ["-y", "@nooticr/mcp"]
}
}
}Tokens are resolved from the credentials file written by login (or from
NOOTICR_ACCESS_TOKEN). If your client does not inherit your shell environment,
set the env vars explicitly:
{
"mcpServers": {
"nooticr": {
"command": "npx",
"args": ["-y", "@nooticr/mcp"],
"env": {
"NOOTICR_BASE_URL": "http://localhost:8080"
}
}
}
}Usage in Cursor
In .mcp.json (project root) or ~/.cursor/mcp.json:
{
"mcpServers": {
"nooticr": {
"command": "npx",
"args": ["-y", "@nooticr/mcp"]
}
}
}After adding the server, run npx @nooticr/mcp login in your terminal — Cursor
spawns the server with your environment, so it picks up the stored credentials.
For remote/HTTP usage, Cursor can connect to the OAuth-enabled HTTP mode with
npx @nooticr/mcp --http running, pointing the server URL at
http://localhost:3457/mcp. Remote clients (including Cursor) discover the
OAuth endpoints from
http://localhost:3457/.well-known/oauth-authorization-server, open the
"Sign in with Google" page, and store the resulting access token.
Usage with OpenAI Agents SDK
Start the HTTP transport:
npx @nooticr/mcp --http --port 3457Python:
from agents import Agent, Runner
from agents.mcp import RemoteMCPClient
async def main():
async with RemoteMCPClient(
url="http://localhost:3457/mcp",
auth_provider="oidc", # OAuth flow opens your browser once
) as client:
agent = Agent(name="nooticr", mcp_servers=[client])
result = await Runner.run(
agent,
"Analyze this video: https://www.youtube.com/watch?v=dQw4w9WgXcQ",
)
print(result.final_output)TypeScript (Agents SDK):
import { Agent } from "agents";
import { RemoteMCPClient } from "agents/mcp/client";
const client = new RemoteMCPClient({
url: "http://localhost:3457/mcp",
authProvider: "oidc", // opens the browser for the OAuth flow
});
const agent = new Agent({
name: "nooticr",
mcpServers: [client],
});
const result = await agent.run(
"Analyze this video: https://vm.tiktok.com/abc123/",
);
console.log(result.output);For a local stdio process with the Agents SDK, use StdioMCPClient (Python:
StdioMCPClient(command="npx", args=["@nooticr/mcp"])).
Command line
nooticr-mcp Start in stdio mode (default transport)
nooticr-mcp --stdio Same as above
nooticr-mcp --http [--port N] Start the remote HTTP transport with OAuth (default port 3457)
nooticr-mcp login Sign in to nooticr via Google in your browser
nooticr-mcp login --email ... --password ... Password login
nooticr-mcp --help Show helpEnvironment variables
Variable | Default | Description |
|
| nooticr server base URL (trailing slash stripped) |
| — | nooticr JWT access token; takes priority over the credentials file |
|
| token store path |
|
| public base URL advertised in OAuth metadata (HTTP mode) |
|
| port for |
|
|
|
How authentication works
stdio mode (Claude Desktop, Cursor): the server uses the token from
NOOTICR_ACCESS_TOKEN or the credentials file written by login. If the token
is expired it is automatically refreshed with the stored refresh token, and if
the nooticr API returns 401 the request is retried once after a refresh.
HTTP mode (OpenAI Agents SDK, remote clients): the server runs its own OAuth 2.0 authorization server (Authorization Code + PKCE S256, public client, per the MCP 2025-03-26 spec):
GET /.well-known/oauth-authorization-server— metadataGET /authorize— validates the request (loopback or https redirect URIs) and forwards the browser to nooticr's Google sign-inGET /oauth/callback— our own loopback callback; exchanges nooticr's completion code for nooticr JWTs and redirects back to the MCP client with a one-time codePOST /token— verifies PKCE and issues an opaque Bearer token bound to the nooticr session (valid 1 hour)every MCP RPC validates the Bearer token against the session map
Supported URLs
TikTok:
tiktok.com/*,vm.tiktok.com/*(andwww./m.subdomains)Instagram:
instagram.com/*(reels, posts, carousels),instagr.am/*YouTube:
youtube.com/*(including/shorts/),youtu.be/*,m.youtube.com/*X:
x.com/*,twitter.com/*Reddit:
reddit.com/*,redd.it/*Weibo:
weibo.com/*,weibo.cn/*Douyin:
douyin.com/*Xiaohongshu:
xiaohongshu.com/*,xhslink.com/*Bilibili:
bilibili.com/*,b23.tv/*LinkedIn:
linkedin.com/*(posts, profile URLs)
All tools accept these hosts and handle video, image, carousel, slideshow and text posts.
Troubleshooting
Not authenticated with nooticr/ 401: runnpx @nooticr/mcp loginor setNOOTICR_ACCESS_TOKEN.402 paywall /
insufficient MCP credits: your nooticr account is out of credits. Prices are listed per tool in Tools — 1 credit for a post lookup or transcript, 2 for discovery and for a tool that makes one fetch, 3 for the two that fetch frames and transcript. Every tool bills from the first call. Top up viabuy_nooticr_credits,check_nooticr_credits, or the nooticr dashboard athttps://nooticr.com/settings?tab=billing.Expired refresh token: the stored refresh token was rejected by the nooticr server. Run
npx @nooticr/mcp loginagain to re-authenticate.Could not reach the nooticr server:NOOTICR_BASE_URLis unreachable or wrong.Client shows "Bad Request" or connection errors in HTTP mode: make sure the port matches
NOOTICR_PUBLIC_URLand that the client fetched a token first (the OAuth flow must complete once in your browser).
Platform submissions
See docs/SUBMISSION.md for ready-to-paste configs and the submission package for Claude Desktop, Cursor, and OpenAI Agents SDK.
Security notes
The credentials file is written with mode
0600and the directory with0700.OAuth redirect URIs are restricted to loopback (
http://localhost,http://127.0.0.1,http://[::1]) orhttps://URLs; the/authorizeendpoint requires PKCE (S256).Authorization codes and PKCE challenges are one-time use and short-lived (in-memory).
Access tokens are opaque, random, and bound to the in-memory session map; they expire after 1 hour. Restarting the server invalidates all sessions.
Never share your credentials file or
NOOTICR_ACCESS_TOKEN.
Development
npm install
npm run build # tsc
npm test # vitest (66 unit tests, mocked fetch — no network)License
MIT
Available Tools
27 toolsanalyze_commentsAnalyze CommentsARead-onlyIdempotentInspect
Read a post's comment section and return what the audience is actually saying: sentiment, recurring themes, the questions they ask, objections raised, content they request, the language they use, and follow-up video ideas grounded in it. Use when the goal is 'what should I make next' rather than 'what did people write'. Consumes 6 orchyn credits.Use when the goal is what to make next rather than what people wrote.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full public post URL. | |
| limit | No | Comments to read (default 50, max 100). |
Output Schema
| Name | Required | Description |
|---|---|---|
| report | No | |
| themes | No | |
| summary | No | |
| mcpCredits | No | |
| commentsAnalyzed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description is not burdened with the safety profile. It adds meaningful context beyond the annotations by disclosing the cost ('Consumes 6 orchyn credits') and by detailing what the returned analysis contains. Nothing in the description contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and dense with useful detail, and the credit-cost note earns its place. But the final sentence ('Use when the goal is what to make next rather than what people wrote.') is a near-duplicate of the second sentence — clear redundancy that should have been edited out, dropping this from a 4 to a 3.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with two well-documented parameters and an output schema present, the description covers the essentials: what it does, what it returns, when to use it, and the cost. The only meaningful gap is that it doesn't name the alternative tool (get_post_comments) explicitly, and the duplicated usage line is space that could have been used for that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: url is documented as 'Full public post URL' and limit as 'Comments to read (default 50, max 100)'. The description adds only marginal parameter-level meaning by implying the url must point to a post ('Read a post's comment section'), so the baseline of 3 for fully-covered schemas is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Read a post's comment section') and enumerates the concrete outputs: sentiment, recurring themes, questions, objections, content requests, language, and follow-up video ideas. It explicitly contrasts itself with getting raw comments ('what should I make next' rather than 'what did people write'), which distinguishes it from the sibling get_post_comments without needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-to-use signal: 'Use when the goal is what should I make next rather than what did people write.' This clearly frames the decision context and implies the alternative (raw comment retrieval). However, it does not name the sibling tool explicitly nor state a when-not-to-use condition, and the guidance is stated twice, which slightly dilutes its precision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_creator_profileAnalyze Creator ProfileARead-onlyIdempotentInspect
Deep-dive a whole creator profile on TikTok, Instagram, YouTube, Douyin, Xiaohongshu, X/Twitter, Bilibili or LinkedIn: fetch recent posts, run multimodal AI on up to 3, then synthesize a profile report — creator summary, niche, content themes, hook styles, strengths/weaknesses, engagement patterns, audience insights, variation ideas, collaboration fit. AI analysis — 1 free use, then 15 credits per use.Use for a full teardown when the visuals matter; find_hook_pattern gives you their formula from captions for a fraction of the price.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Extra instruction for the profile synthesis. | |
| limit | No | Posts to fetch (default 6; first 3 analyzed). | |
| platform | No | Which platform (default tiktok). | |
| username | Yes | Creator handle, e.g. 'zoundsapp'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | No | |
| creator | No | |
| profile | No | |
| analysis | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses important behavioral traits: it fetches recent posts, runs multimodal AI on up to 3, synthesizes a profile report, and costs 1 free use then 15 credits per use. This is exactly the kind of context an agent needs beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every clause earns its place: purpose, platforms, workflow, report contents, pricing, and sibling alternative. It front-loads the core purpose before supporting details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-platform analysis tool, the description covers the workflow, output scope, analysis limits, cost model, and the key alternative. An output schema exists, so return-value details are not required in the description. Nothing critical is missing for an agent to decide whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including default values and the 'first 3 analyzed' behavior of limit. The description adds no parameter-level meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Deep-dive') and resource ('a whole creator profile') across eight platforms, and enumerates the concrete workflow and report outputs. It also contrasts itself with find_hook_pattern, making sibling differentiation clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool ('Use for a full teardown when the visuals matter') and names a cheaper alternative for a narrower job ('find_hook_pattern gives you their formula from captions for a fraction of the price'). This gives an agent actionable routing criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_postAnalyze PostARead-onlyIdempotentInspect
Analyze a social post (video, image, carousel/slideshow) from its link — imports the media and runs AI analysis over the actual content (video frames, carousel images, caption). Supports TikTok, Instagram, YouTube, X/Twitter, Douyin, Xiaohongshu and Bilibili. Returns the full analysis once finished. AI analysis — 1 free use, then 6 credits per use.Use when the visuals are the point; for script, hook and structure alone, analyze_post_fast costs a third as much.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public post URL (TikTok/Instagram/YouTube/X, Douyin, Xiaohongshu or Bilibili). |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| post | No | |
| analysis | No | |
| analyzed | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe read-only, idempotent operation, so the description adds value by explaining the actual workflow: importing media, analyzing video frames/carousel images/caption, and returning the full analysis. The credit cost detail is also behaviorally relevant. It does not detail potential failure modes or long-running behavior, but this is not a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core purpose. It covers platforms, return behavior, cost, and usage guidance without excessive fluff. Minor structural awkwardness exists in the first long sentence, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a rich output schema and safety annotations, the description covers all essential context: what is analyzed, which platforms are supported, when to prefer this tool, and the credit cost. An agent has enough information to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for the single `url` parameter, including the supported platforms. The description adds the media-type nuance (video, image, carousel/slideshow) and explains that the linked content is imported, but the schema already carries most of the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Analyze a social post (video, image, carousel/slideshow) from its link.' It explicitly lists the media types and supported platforms, and differentiates itself from analyze_post_fast by noting that this tool focuses on visuals while the fast version handles script/hook/structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance: 'Use when the visuals are the point.' It also names the alternative tool (analyze_post_fast) and gives a cost-based reason for choosing that alternative, making the selection decision explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_post_fastAnalyze Post (Fast)ARead-onlyIdempotentInspect
Same analysis as analyze_post but built from the post's transcript, caption and stats instead of its video frames — a third of the price. Weaker on visual style, just as strong on hook, script structure, CTA and audience. Consumes 2 orchyn credits.Use this by default; reach for analyze_post when the visuals are the point.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full public post URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| mode | No | |
| post | No | |
| analysis | No | |
| analyzed | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already convey read-only, idempotent, and non-destructive behavior, the description adds meaningful behavioral context: it consumes 2 orchyn credits, costs one-third as much as the alternative, relies on transcript/caption/stats rather than video frames, and has specific quality strengths/weaknesses. These are not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it opens with the key differentiation, adds the cost, and ends with explicit default/alternative guidance. Each sentence earns its place; the only minor flaw is a missing space after 'credits.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema, annotations, and an explicit alternative, this description is complete. It covers what the tool does, how it differs, what it costs, when to use it, and when not to use it. An agent has everything needed to decide whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, url, and the schema already describes it fully as 'Full public post URL.' The description adds useful context about the source content (transcript, caption, stats), but does not add new parameter-specific semantics beyond what the schema provides. With 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this performs the same analysis as analyze_post but from transcript, caption, and stats rather than video frames, and explicitly names the differentiate-from sibling. The verb and resource are specific, and an agent can immediately tell this tool apart from analyze_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing guidance: 'Use this by default; reach for analyze_post when the visuals are the point.' It also describes the tradeoff between visual-style weakness and strength on hook, script, CTA, and audience, which helps an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_orchyn_creditsBuy Orchyn CreditsAInspect
Buy an MCP credit pack via Stripe Checkout. Returns a secure checkout URL — open it in your browser to pay. Credits are added automatically after payment. No cost to call.Use when the balance is short and the user has agreed to top up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| packs | No | |
| checkoutUrl | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, openWorldHint=true, etc.), the description discloses key behavioral details: the call itself costs nothing, it returns a Stripe checkout URL that the user must open in a browser, and credits are added automatically after payment. This explains the external payment flow and separates 'calling the tool' from 'paying,' which is valuable context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: 'Buy an MCP credit pack via Stripe Checkout' immediately states the action. Three short sentences cover the return value, payment flow, automatic credit addition, cost, and usage condition, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description is complete: it explains the return URL, the browser step, the automatic credit addition, the credit cost, and when to call the tool. An agent has everything needed to invoke it correctly without further ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema naturally has 100% coverage and no parameter-level documentation is needed. The description adds context about what the tool returns and how the operation works, which is more than enough for a parameterless tool. No parameter gaps exist to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Buy an MCP credit pack via Stripe Checkout.' It also explains the operational outcome (returns a secure checkout URL), which clearly distinguishes it from siblings like check_orchyn_credits that check balance. The title and description align, and the purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-to-use condition: 'Use when the balance is short and the user has agreed to top up.' This provides clear situational context and a user-consent gate. It does not name alternatives or state when not to use it, but the condition itself is sufficient for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
catch_up_watchlistCatch Up On WatchlistAInspect
What the creators you watch have posted since you last checked. Fetches each one's recent posts and compares them against the snapshot taken at your last catch-up, then moves the snapshot forward — so this answers 'what is new' rather than 'what exists'. The first run for a creator has nothing to compare against and just records the baseline. Consumes 2 orchyn credits per creator checked.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Posts to check per creator (default 6). | |
| platform | No | Only check creators on this platform. |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | No | Everything new, flattened, for the card view. |
| checked | No | |
| creators | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses that the snapshot is moved forward (a state-changing side effect), that the first run only records a baseline, and that each creator checked consumes 2 orchyn credits. These are important behavioral traits the annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the core purpose first, then explains the comparison mechanism, the first-run edge case, and the credit cost. Every sentence earns its place with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the description fully covers the tool's scope, stateful behavior, edge cases, and cost. The agent has enough information to decide when to call it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters with 100% coverage, including defaults and meaning. The description adds general context about per-creator checking but does not substantially enrich the parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb and resource: fetching recent posts from watched creators, comparing them against a snapshot, and advancing the snapshot. It explicitly distinguishes the tool from 'what exists' queries by framing it as 'what is new', which separates it from sibling tools like get_user_posts or discover_social_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: use this when you want to catch up on new content since the last check, and it explains the first-run baseline behavior. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_orchyn_creditsCheck Orchyn CreditsARead-onlyIdempotentInspect
Check your orchyn credit balance, billing URL and pack size. No cost — call anytime to see remaining credits before running other tools.Use before a run of paid calls to confirm the balance covers it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | |
| tier | No | |
| balance | No | |
| isAdmin | No | |
| billingUrl | No | |
| bypassCredits | No | |
| firstFreeTools | No | |
| firstFreeRemaining | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent profile, and the description adds useful operational context beyond them: the call is free and can be made anytime without worry. The description is fully consistent with readOnlyHint=true and adds no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence and the cost/usage guidance is dense and useful. However, there is minor redundancy between 'before running other tools' and 'before a run of paid calls', plus a missing space after 'tools.Use', which reduces polish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with an output schema present, the description covers everything an agent needs: what the tool checks, that it is free, and exactly when to invoke it. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and a 100% schema-coverage empty input schema, so the baseline of 4 applies. The description adds useful context about what the response reports (credit balance, billing URL, pack size), which compensates for the lack of a parameterized interface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the resources the tool acts on (credit balance, billing URL, pack size) and uses a specific read-only verb, 'check', which distinguishes it from the sibling buy_orchyn_credits. An agent knows exactly what this does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to call: anytime, and specifically before a run of paid calls to confirm balance coverage. It also removes cost hesitation by stating the call is free. It does not name an explicit when-not or point to the sibling buy tool, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_postsCompare PostsARead-onlyIdempotentInspect
Compare 2-5 posts side by side and explain the performance gap: which won, what actually differed (hook, format, length, caption, hashtags), shared strengths, testable lessons and one concrete next experiment. Use for 'why did this one work and that one not'. Consumes 8 orchyn credits.Use when two posts differ in performance and you need to know why.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 2-5 post URLs to compare. |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | No | |
| failed | No | |
| analyzed | No | |
| comparison | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds the 8-credit cost and details the analytical output structure (winner, differed attributes, shared strengths, testable lessons, next experiment), which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, but the final clause ('Use when two posts differ...') largely repeats the earlier trigger ('why did this one work and that one not'), and there is a spacing typo ('credits.Use'). It earns a passing but not exemplary score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a rich output schema and annotations that already cover safety, the description is complete: it specifies the allowed input count, the business trigger, the cost, and the analytical output. Nothing critical is missing for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the only parameter, urls, as '2-5 post URLs to compare.', and the description merely repeats the 2-5 range. With 100% schema coverage, the description adds no new semantic value, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Compare 2-5 posts side by side'), the resource (posts), and the unique output (performance gap explanation with winner, differences, strengths, lessons, next experiment). The focus on multi-post performance comparison clearly distinguishes it from sibling tools like analyze_post or analyze_post_fast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides a use condition: 'Use when two posts differ in performance and you need to know why' and a plain-language trigger ('why did this one work and that one not'). It does not name alternative tools or state when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_variantsCreate VariantsARead-onlyIdempotentInspect
Turn a post that worked into variants a creator could film next — same mechanism, different execution. Each variant has a hook, the angle that changes, ordered shot beats and a CTA. Consumes 3 orchyn credits.Use after analysing a post to move from why it worked to what to make.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The post to make variants of. | |
| angle | No | Optional steer for the variants. | |
| count | No | How many variants (default 3, max 6). |
Output Schema
| Name | Required | Description |
|---|---|---|
| post | No | |
| variants | No | |
| sourceUrl | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable context that the tool consumes 3 orchyn credits, which is important for agents managing costs, and also specifies the output structure of the variants.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, then adds cost and usage context. Minor formatting issue with the missing space after 'credits.Use' is negligible but prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Between the description, full schema coverage, annotations, and presence of an output schema, an agent has everything needed to decide when and how to call this tool. It covers cost, output content, and the required post-to-variants workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented clearly in the input schema. The description does not add much parameter-level detail beyond that, staying at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action: turning an analyzed post into filmable variants, with a specific outcome (hook, angle, shot beats, CTA). It differentiates from sibling tools like analyze_post by moving from 'why it worked' to 'what to make.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool: 'Use after analysing a post,' and explains the transition from analysis to creation. It does not explicitly name alternatives or say when not to use it, but the sequencing is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_hashtagsDiscover HashtagsARead-onlyIdempotentInspect
Trending TikTok hashtags from the Creative Center trend board, with post counts, view counts and whether each is rising, cooling or steady. Filter by country and time window. Use to find what to tag, or to spot a wave early. Consumes 2 orchyn credits.Use to find what to tag, or to spot a wave early.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window in days: 7, 30 or 120 (default 7). | |
| count | No | Max hashtags (default 20). | |
| country | No | 2-letter country code (default US). | |
| industryId | No | Optional TikTok industry id to filter by. |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| country | No | |
| hashtags | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive; the description adds the credit cost ('Consumes 2 orchyn credits') and identifies the data source. This is useful behavioral context beyond the annotations. No contradictions with the annotations exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and mostly concise, but it repeats the sentence 'Use to find what to tag, or to spot a wave early.' and contains a missing-space typo ('credits.Use'). This knocks it down from a cleaner, more efficient description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only discovery tool with a rich output schema, the description covers the source, the metrics returned, the available filters, the intended use cases, and the credit cost. Nothing essential for calling the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents all four parameters. The description only mentions 'Filter by country and time window', which is a light summary and does not add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and result: 'Trending TikTok hashtags from the Creative Center trend board', and enumerates the data fields (post counts, view counts, rising/cooling/steady). This clearly distinguishes the tool from siblings such as discover_sounds and discover_social_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use guidance: 'Use to find what to tag, or to spot a wave early.' This tells the agent when the tool is appropriate. It does not explicitly name alternatives or when-not-to-use conditions, so it stops short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_social_postsDiscover Social PostsARead-onlyIdempotentInspect
Discover recent posts (video, image, carousel, slideshow) for a niche on YouTube, TikTok, Instagram, Douyin, Xiaohongshu, X/Twitter or Bilibili. Each post includes title/caption, thumbnailUrl, externalUrl, views/likes/comments and inline thumbnails (up to 4) so they show in chat. Say "next" to paginate (offset), or "analyze the 2nd one" / "analyze all" for batch analysis. Use to find individual posts to look at; use niche_report when you want the pattern across them rather than the posts themselves. Consumes 2 orchyn credits (20 free credits included for new users).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 6). | |
| niche | Yes | Niche/topic, e.g. 'fitness'. | |
| offset | No | Skip first N results — for 'next' pagination. | |
| keywords | No | Optional extra keywords. | |
| platform | No | Platform to search (default youtube). |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive, so the description adds non-overlapping context: it costs 2 orchyn credits, supports pagination via offset, and returns inline thumbnails intended to render in chat. These are behavioral details not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet efficient: every sentence contributes something — scope, result contents, chat behavior, pagination, batch analysis, sibling differentiation, and cost. It is front-loaded with the core purpose before diving into secondary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations and output schema, the description fills all remaining practical gaps: when to choose an alternative, credit cost, pagination command, and chat-oriented output behavior. An agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds practical meaning beyond the schema by linking offset to the 'next' command, giving concrete niche examples, and explaining how the returned posts are meant to be used. This helps an agent reason about limit, platform, and pagination choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair: discovering recent posts for a niche across named platforms and content types. It explicitly contrasts itself with niche_report, so an agent can immediately tell what this tool returns versus what it does not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool (find individual posts to look at) and when to prefer niche_report (pattern across posts). It also documents interaction patterns like saying 'next' for pagination and 'analyze the 2nd one' / 'analyze all' for batch analysis, making usage unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_soundsDiscover SoundsARead-onlyIdempotentInspect
Discover trending sounds/music for a keyword on TikTok or Instagram — the sound is a huge ranking signal for TikTok virality. Returns title, artist, duration, play/cover URLs. Consumes 2 orchyn credits (20 free credits included for new users).Use when picking audio for a post, or to spot a sound before it peaks.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Max sounds (default 6). | |
| keyword | Yes | Niche/keyword, e.g. 'gym'. | |
| platform | No | Which platform (default tiktok). |
Output Schema
| Name | Required | Description |
|---|---|---|
| sounds | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive. The description adds valuable context beyond annotations: it consumes 2 orchyn credits, includes free credits for new users, supports TikTok/Instagram, and explains the virality significance of sounds. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. A minor formatting issue ('credits).Use') is present, but otherwise every sentence contributes meaningful context: purpose, returns, cost, and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, platforms, return contents, cost, and when to use it. Since the schema and output schema already handle parameter and return-structure details, nothing essential is missing for an agent to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter meanings are already fully documented. The description adds thematic context ('trending', 'before it peaks') but does not add new details about count, platform defaults, or keyword formatting beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('discover') and a concrete resource ('trending sounds/music for a keyword on TikTok or Instagram'), and it lists the returned fields. This clearly distinguishes it from sibling tools like discover_hashtags or discover_social_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use cases: 'when picking audio for a post, or to spot a sound before it peaks.' It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_hook_patternFind Hook PatternARead-onlyIdempotentInspect
Extract a creator's repeatable formula from their captions and performance, with fill-in-the-blank templates another creator could adapt. Consumes 2 orchyn credits.Use to reverse-engineer a creator you want to learn from.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Posts to read (default 20, max 40). | |
| platform | No | Platform (default tiktok). | |
| username | Yes | Creator handle, with or without @. |
Output Schema
| Name | Required | Description |
|---|---|---|
| report | No | |
| platform | No | |
| username | No | |
| mcpCredits | No | |
| postsAnalyzed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, which cover the read-only behavior. The description adds a valuable behavioral detail beyond annotations: 'Consumes 2 orchyn credits,' which is important for an agent deciding whether to invoke the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence front-loads the tool's function and output format; the second adds the credit cost and the intended use case. Every sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only analysis tool with a complete input schema, an output schema, and read-only/idempotent annotations, this description is sufficient. It explains what the tool produces, what it consumes, and when to use it, so an agent can select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: username, limit, and platform each have descriptions in the schema. The tool description does not add parameter-level detail, but it doesn't need to because the schema already fully documents the parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Extract') and a specific resource ('a creator's repeatable formula'), and defines the concrete output: fill-in-the-blank templates another creator could adapt. This clearly separates it from siblings like write_hooks or analyze_post by focusing on reverse-engineering a creator's pattern rather than creating or analyzing a single post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use the tool: 'Use to reverse-engineer a creator you want to learn from.' This provides clear context for invocation, though it does not explicitly name sibling alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_commentsGet Post CommentsARead-onlyIdempotentInspect
Fetch top comments for a post URL on TikTok, Instagram, YouTube, Douyin, X/Twitter, Bilibili or LinkedIn, plus keyword clusters from TikTok Analytics when available — audience sentiment/audience-signal analysis. Consumes 2 orchyn credits (20 free credits included for new users).Use when you want to read what people actually wrote; use analyze_comments when you want it synthesised into what to do next.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full public post URL (TikTok/Instagram/YouTube/Douyin/X/Bilibili/LinkedIn). | |
| limit | No | Max comments (default 20). |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| themes | No | |
| summary | No | |
| comments | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds meaningful behavioral context beyond those annotations: the 2-credit cost, the free-credit note, and the conditional 'when available' behavior for keyword clusters from TikTok Analytics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and resource. Cost and usage guidance each earn their place. The first sentence is slightly overstuffed and 'audience sentiment/audience-signal analysis' is somewhat redundant, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-parameter fetch tool with an output schema, the description covers purpose, platforms, cost, and alternative routing. It could be slightly more complete about behavior like pagination or output shape, but the output schema and limit parameter mitigate those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'url' and 'limit' are already well documented in the schema, including the default of 20. The description adds platform context but does not meaningfully expand on parameter format, range, or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch'), a clear resource ('top comments for a post URL'), and enumerates all supported platforms. It also distinguishes itself from analyze_comments and other siblings by describing the additional keyword cluster output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('when you want to read what people actually wrote') and when to use the alternative ('use analyze_comments when you want it synthesised into what to do next'). This gives an agent a clear selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_transcriptGet Post TranscriptARead-onlyIdempotentInspect
Get the words actually spoken in a TikTok or YouTube post by reading its caption track. Cheap and exact — use this before analyze_post when you need the script, hook wording or CTA verbatim rather than an interpretation. Returns plain text with a word count, or available:false with a reason when the post has no captions. Consumes 1 orchyn credit.Use before any analysis when the exact wording matters.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Post URL (TikTok or YouTube). | |
| language | No | Preferred language code, e.g. 'en'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | No | Why there is no transcript, when available is false. |
| language | No | |
| available | No | false when the post carries no caption track. |
| wordCount | No | |
| mcpCredits | No | |
| transcript | No | |
| autoGenerated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnly and idempotent behavior, and the description adds valuable context: it consumes 1 orchyn credit, returns plain text with a word count, and provides an available:false response with a reason when no captions exist. This goes beyond the structured annotations and gives the agent clear expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence is purposeful and the description is front-loaded with the core function, followed by usage guidance, return behavior, and cost. The only minor flaw is a missing space in 'credit.Use', but overall it is tight and well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only tool with an output schema and full schema parameter coverage, the description fully covers what the tool does, when to use it, what to expect as output, and the cost of invoking it. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaningful parameter-level detail beyond what the schema already provides for 'url' and 'language'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get the words actually spoken'), identifies the resource (caption track of TikTok or YouTube posts), and explicitly differentiates from analyze_post by emphasizing verbatim transcript over interpretation. This makes the tool's purpose immediately distinguishable from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this before analyze_post when you need the script, hook wording or CTA verbatim rather than an interpretation' directly tells the agent when to choose this tool over a clear alternative. 'Use before any analysis when the exact wording matters' further reinforces the decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_similar_creatorsGet Similar CreatorsARead-onlyIdempotentInspect
Find lookalike creators for a given handle — TikTok similar-user recommendations or Instagram similar users. Useful for scaling: 'if this creator works, here are more like them'. Consumes 2 orchyn credits (20 free credits included for new users).Use when one creator already fits and you want more of the same.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Which platform (default tiktok). | |
| username | Yes | Seed creator handle, e.g. 'zoundsapp'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| creators | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds meaningful context by disclosing that the call consumes 2 orchyn credits and mentioning the free credit allowance. No contradiction with the annotations exists; rate limits or other operational details are absent but not expected given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, and the subsequent sentences about scaling and credit cost each earn their place. There is a minor formatting run-on ('users).Use') and the description is slightly dense, but it is still concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with only two parameters, an output schema, and rich annotations, the description covers purpose, platform options, credit cost, and the right usage scenario. Nothing critical is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters, including the platform enum default and a seed handle example. With 100% schema coverage, the description's references to a handle and platform add little beyond the structured fields, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Find lookalike creators for a given handle' and further scopes it to TikTok or Instagram. The concept of 'lookalike' clearly sets it apart from generic creator search among the sibling tools, even though it doesn't name a specific sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit trigger: 'Use when one creator already fits and you want more of the same.' This is clear context, but it does not mention when not to use it or name alternative tools, stopping short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_mediaGet Social MediaARead-onlyIdempotentInspect
Fetch a social post's media from a TikTok, Instagram, YouTube, X/Twitter, Douyin, Xiaohongshu or Bilibili URL: contentType (video/image/carousel/slideshow), title, caption, author, stats and direct media URLs. Returns an inline thumbnail image. Consumes 1 orchyn credit (20 free credits included for new users).Use when you need the post's facts and media and nothing more; if you want it interpreted, use analyze_post_fast instead.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full public post URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| post | No | |
| platform | No | |
| provider | No | |
| fetchedAt | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds meaningful behavior beyond annotations: it returns an inline thumbnail image and consumes 1 orchyn credit with a free-credit allowance for new users.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately compact and front-loaded with the core purpose and output. It packs platform list, return fields, thumbnail behavior, credit cost, and usage guidance into a short space; a minor formatting issue is the missing space after 'new users).Use'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, a high-coverage schema, an output schema, and strong annotations, the description covers all necessary decision points: supported platforms, returned data, credit cost, and when to choose the sibling tool. No critical guidance is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single url parameter, so the baseline is 3. The description adds value by specifying the accepted platform URL types (TikTok, Instagram, YouTube, X/Twitter, Douyin, Xiaohongshu, Bilibili), which helps an agent validate acceptable inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific action ('Fetch a social post's media') and the exact resource (post URLs from seven named platforms), and itemizes the returned fields. It also distinguishes itself from the sibling analyze_post_fast by framing itself as returning raw facts and media, not interpretation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when you need the post's facts and media and nothing more'. It also names the alternative, analyze_post_fast, for interpreted results, giving an agent a clear routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_postsGet User PostsARead-onlyIdempotentInspect
List recent posts by a creator handle (e.g. @zoundsapp) on TikTok, Instagram, YouTube, Douyin, Xiaohongshu, X/Twitter, Bilibili or LinkedIn (LinkedIn uses the profile public_id from the URL, e.g. 'williamhgates'). Each post includes title/caption, thumbnailUrl, externalUrl, views/likes/comments and inline thumbnails (up to 4) so they show in chat. Use this when Claude needs to pull more posts from the same account to spot a pattern, or to scan a whole profile. Consumes 2 orchyn credits (20 free credits included for new users).Use to scan one creator's output; use find_hook_pattern when you want their formula extracted rather than the raw list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max posts (default 6). | |
| platform | No | Which platform (default tiktok). | |
| username | Yes | Creator handle, e.g. 'zoundsapp' or '@zoundsapp'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | No | |
| platform | No | |
| username | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description adds complementary behavioral details: it discloses credit consumption ('Consumes 2 orchyn credits'), explains the returned fields (title/caption, thumbnailUrl, externalUrl, stats, up to 4 inline thumbnails), and notes that thumbnails render in chat. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but every sentence contributes: purpose, output contents, when to use, credit cost, and the alternative tool. It is front-loaded with the core purpose and ends with the sibling routing; no filler or repetition beyond the slight overlap between 'Use this when...' and 'Use to scan...'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with an output schema and thorough annotations, the description covers all essential operational context: platform list, handle example, return contents, credit cost, and the precise differentiation from find_hook_pattern. Nothing an agent needs to decide to call this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all three parameters with descriptions, so the baseline is 3. The description adds useful semantic nuance beyond the schema, especially the LinkedIn public_id rule and the '@' prefix tolerance for creator handles, which reduces the chance of incorrect parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List recent posts by a creator handle', and enumerates the supported platforms with concrete examples like '@zoundsapp' and LinkedIn's 'williamhgates'. It also differentiates itself from find_hook_pattern by clarifying that this tool returns the raw list rather than an extracted formula.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states exact use cases: 'Use this when Claude needs to pull more posts from the same account to spot a pattern, or to scan a whole profile.' It also explicitly directs to find_hook_pattern when the goal is extracting the creator's formula, providing a clear when-not-to-use alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
niche_reportNiche ReportARead-onlyIdempotentInspect
What is working in a niche right now: dominant formats, hook patterns, what over- and underperforms, gaps nobody is filling, and what to make next. Consumes 3 orchyn credits.Use when entering a niche or deciding what to make next, rather than judging one post.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Posts to survey (default 20, max 40). | |
| niche | Yes | Niche or topic, e.g. 'home fitness'. | |
| platform | No | Platform to survey (default tiktok). |
Output Schema
| Name | Required | Description |
|---|---|---|
| niche | No | |
| report | No | |
| summary | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds important behavioral context beyond annotations by disclosing that the tool 'Consumes 3 orchyn credits,' which is essential for cost-aware tool selection. It also conveys that the report is market-level and current ('right now'), complementing the openWorldHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the core value proposition, the cost, and the usage context with zero filler. The most important information is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for practical use: it states what the tool returns, when to use it, what to avoid using it for, and its credit cost. An output schema exists, so return-value details are handled structurally. Annotations cover safety and mutability. No significant context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions ('Posts to survey', 'Niche or topic', 'Platform to survey'), so the baseline is 3. The tool description does not add new semantic detail about parameters, but it does imply that 'niche' is the central input and that the report is survey-based, which weakly reinforces the schema without going beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: surveying what works in a niche (formats, hooks, over/underperformance, gaps) and recommending what to make next. It also distinguishes itself from tools that analyze a single post by saying 'rather than judging one post,' which differentiates it from siblings like analyze_post and analyze_creator_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when entering a niche or deciding what to make next.' It also provides a clear exclusion: 'rather than judging one post,' signaling that post-level analysis tools are the alternative. This gives the agent actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orchyn_loginOrchyn LoginARead-onlyIdempotentInspect
Get a fresh login URL to re-authenticate your MCP session. Call this tool when you need to reconnect or when the session has expired. No cost to call.Use when a call fails with an authentication error, to re-link the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| message | No | |
| resumed | No | The tool that was re-run after signing in — its result is this payload. |
| loginUrl | No | Only present when a sign-in is actually required. |
| signedIn | No | true when the session is already good and no link is needed. |
| pendingAction | No | The call that expiry interrupted; it is re-run on the way back. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful context beyond those annotations: the tool returns a fresh login URL, costs nothing to call, and re-links the account. This is sufficient for a zero-parameter auth helper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, front-loaded with the purpose, and every sentence earns its place. There is a minor missing space after 'call.' but the structure is otherwise exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema and clear annotations, the description is complete. It tells the agent what the tool does, when to use it, and what to expect, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully documented by default, so the baseline of 4 applies. The description does not need to explain parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('fresh login URL') and clearly explains the purpose: re-authenticating an MCP session. It is immediately distinguishable from all sibling tools, none of which involve authentication or login.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to call it: when the session has expired, when reconnection is needed, and when calls fail with an authentication error. This removes ambiguity and provides actionable trigger conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repurpose_postRepurpose PostARead-onlyIdempotentInspect
Rewrite one post for other surfaces — X thread, LinkedIn post, carousel slides, YouTube title/description, newsletter. Consumes 2 orchyn credits.Use when a post already worked and you want it on other surfaces.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The post to repurpose. | |
| targets | No | Which formats to produce (default all). |
Output Schema
| Name | Required | Description |
|---|---|---|
| post | No | |
| sourceUrl | No | |
| mcpCredits | No | |
| repurposed | No | One entry per target surface. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds a concrete operational detail not in the annotations: 'Consumes 2 orchyn credits.' This is useful context beyond what the structured metadata provides. There is no contradiction between the description and the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no wasted content. It front-lines the core action, then gives the usage condition and cost. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the small parameter set, high schema coverage, and presence of an output schema, the description covers purpose, target formats, cost, and the exact use case. Nothing critical is missing for an agent to select and call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents `url` and `targets`. The description adds meaning by enumerating concrete target surfaces (X thread, LinkedIn, carousel, YouTube, newsletter), helping the agent know valid `targets` values even though no formal enum is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('rewrite'), a clear resource ('one post'), and the exact outputs ('X thread, LinkedIn post, carousel slides, YouTube title/description, newsletter'). This makes the tool's purpose immediately distinct from analysis and discovery siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-to-use condition: 'Use when a post already worked and you want it on other surfaces.' It does not name alternatives or state when-not-to-use, so it misses the full exclusion guidance but still provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_draftScore DraftARead-onlyIdempotentInspect
Review your own draft BEFORE you film or post it: hook strength, clarity and payoff scores, concrete fixes, a rewritten hook and a tightened draft. Consumes 2 orchyn credits.Use before filming, while changing it is still cheap.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | Yes | Your script, caption or hook. | |
| platform | No | Target platform (default tiktok). |
Output Schema
| Name | Required | Description |
|---|---|---|
| draft | No | |
| report | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it discloses that the tool consumes 2 orchyn credits and outlines what the response will contain (scores, fixes, rewritten hook, tightened draft). The read-only, idempotent, non-destructive annotations are consistent with this being a review-only operation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry all the essential information: what the tool does, what it returns, its cost, and the best time to use it. The purpose is front-loaded before cost and usage timing. Every sentence earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with a single required string, the description is complete: it covers when to use, what it does, cost, and expected outputs. The presence of an output schema means detailed return-value documentation is unnecessary. The only minor omission is elaboration on the platform parameter, but the schema already documents its default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'film or post' aligns with the draft parameter but adds no new detail about the platform parameter or the draft format beyond what the schema already provides. It does not compensate further for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Review your own draft') and resource (your draft), then enumerates the concrete outputs: hook strength, clarity and payoff scores, concrete fixes, a rewritten hook, and a tightened draft. The phrase 'your own draft' and 'BEFORE you film or post it' clearly distinguishes it from sibling tools that analyze existing posts or generate hooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit timing guidance: 'Use before filming, while changing it is still cheap.' This tells the agent when the tool is appropriate, and the self-draft scope implicitly distinguishes it from analyzing others' posts. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_creatorsSearch CreatorsARead-onlyIdempotentInspect
Search creators by niche/keyword on TikTok, Instagram, Xiaohongshu, YouTube or Douyin — username, nickname, follower count, signature, verified status. Use to find influencers to vet or analyze. Consumes 2 orchyn credits (20 free credits included for new users).Use when you know the niche but not the names; use get_similar_creators when you already have one creator that works.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Max creators (default 8). | |
| keyword | Yes | Niche/keyword, e.g. 'fitness' or a creator name. | |
| platform | No | Which platform (default tiktok). |
Output Schema
| Name | Required | Description |
|---|---|---|
| creators | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful non-obvious context: the tool consumes 2 orchyn credits and returns creator fields such as follower count, signature, and verified status. No contradiction with annotations, and the credit cost is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with the core purpose first, then cost, then usage guidance. There is no filler, no tautology, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with full schema coverage, an output schema, and safety annotations, the description covers purpose, usage context, and cost. The only notable completeness gap is the inaccurate platform list, which could prevent correct invocation if an agent trusts the description over the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description actively contradicts the schema by advertising YouTube and Douyin as platform options while the enum only supports tiktok, instagram, and xiaohongshu. It also adds no parameter-level detail beyond what the schema already provides, so the misinformation lowers the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Search creators'), a clear resource, and search criteria (niche/keyword, platform), and it distinguishes itself from get_similar_creators. However, it lists YouTube and Douyin as supported platforms even though the schema's platform enum only allows tiktok, instagram, and xiaohongshu, making its stated scope partially inaccurate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the decision rule: use this tool when you know the niche but not names, and use get_similar_creators when you already have a working creator. This is exactly the kind of when-to-use/when-not-to-use guidance that helps an agent select the right sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_social_postUnderstand Social PostARead-onlyIdempotentInspect
Import a social post URL AND understand it with multimodal AI over the actual video/images: summary, hook strength, viral triggers, format breakdown and variation ideas. Includes the thumbnail. Supports TikTok, Instagram, YouTube, X/Twitter, Douyin, Xiaohongshu and Bilibili. AI analysis — 1 free use, then 6 credits per use.Use when you need a factual description of what physically happens on screen; analyze_post is the better default for strategy.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full public post URL (TikTok/Instagram/YouTube/X/Douyin/Xiaohongshu/Bilibili). | |
| focus | No | Extra instruction, e.g. 'focus on the CTA'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| post | No | |
| analysis | No | |
| analyzed | No | |
| platform | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that the tool uses multimodal AI over actual video/images, includes the thumbnail, supports a list of platforms, and has a metered credit cost (1 free use, then 6 credits). It could mention auth or side effects, but the operation is clearly analytic and read-only in intent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but each sentence earns its place: core action, supported platforms, cost, and when-to-use guidance. It is slightly long and could be tightened, but there is no wasted filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description appropriately enumerates what the tool returns. It also covers supported platforms, credit cost, and the strategic alternative. It does not explain error behavior or how the focus parameter interacts, but the schema covers the parameter and the tool's purpose is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters: url as a full public post URL and focus as an extra instruction. Schema coverage is high, so the baseline applies. The description adds context about the analysis but does not add real per-parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: import a social post URL and understand it with multimodal AI over the actual video/images. It also lists concrete outputs (summary, hook strength, viral triggers, format breakdown, variation ideas) and explicitly distinguishes itself from analyze_post, the sibling focused on strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use when you need a factual description of what physically happens on screen' and names the better default alternative: 'analyze_post is the better default for strategy.' This gives an agent a clear selection rule against at least one sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unwatch_creatorUnwatch CreatorADestructiveIdempotentInspect
Remove a creator from your watchlist. Nothing is fetched, so there is no cost. No cost to call.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Platform (default tiktok). | |
| username | Yes | Creator handle, with or without @. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entries | No | |
| removed | No | |
| watching | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and idempotentHint=true, and the description adds useful context: 'Nothing is fetched, so there is no cost.' This goes beyond the schema and annotations by clarifying the operation is local and free, which is valuable for an agent deciding whether to call it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is efficient, but 'Nothing is fetched, so there is no cost' and 'No cost to call' are redundant. The duplication is unnecessary and slightly hurts the conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation with two well-documented parameters and annotations covering destructiveness and idempotency, the description is complete enough. It lacks a return-value explanation, but no output schema exists and the operation is straightforwardly a destructive removal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (platform and username) are already documented. The description does not add any additional parameter semantics beyond reaffirming 'creator' maps to the username field, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Remove a creator from your watchlist.' This clearly distinguishes it from sibling tools like watch_creator and catch_up_watchlist, which are about adding or viewing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this when the goal is to remove a creator from the watchlist. It does not explicitly name alternatives or exclusions, but the intent is unambiguous and does not conflict with sibling tool purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_creatorWatch CreatorAIdempotentInspect
Add a creator to your watchlist so you can ask later what they have posted since. Stores the handle only — nothing is fetched here, so there is no cost. Use catch_up_watchlist to see what changed. No cost to call.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Why you are watching them — shown back to you later. | |
| platform | No | Platform (default tiktok). | |
| username | Yes | Creator handle, with or without @. |
Output Schema
| Name | Required | Description |
|---|---|---|
| added | No | |
| entries | No | |
| watching | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by disclosing that nothing is fetched and there is no cost, and that only the handle is stored. This is useful behavioral context beyond idempotentHint and destructiveHint. It does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and easy to parse. There is minor redundancy with 'no cost' appearing twice, but it does not harm clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple add-to-watchlist tool, the description covers the core behavior, the no-cost aspect, and the appropriate next step. The output schema exists, so return details are not needed. The only slight gap is the ambiguity of 'Stores the handle only' given that note and platform are also accepted parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents all three parameters, so the baseline is 3. The description's 'Stores the handle only' adds some context around the username parameter, but it does not meaningfully clarify note or platform beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Add a creator to your watchlist,' and clarifies that it stores the handle for later review. This clearly distinguishes it from siblings like catch_up_watchlist and unwatch_creator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the context ('so you can ask later what they have posted since') and explicitly points to catch_up_watchlist as the follow-up tool. It does not enumerate exclusions, but the primary usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_hooksWrite HooksARead-onlyIdempotentInspect
Write alternative opening hooks — the first line said or shown on screen. Give a url to riff on an existing post (it reads the real transcript), or a topic to start from nothing. Consumes 2 orchyn credits.Use when you know the subject and need openings to choose between.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Post to riff on (optional if topic given). | |
| tone | No | Optional tone. | |
| count | No | How many hooks (default 10, max 20). | |
| topic | No | Subject to write hooks about (optional if url given). |
Output Schema
| Name | Required | Description |
|---|---|---|
| hooks | No | |
| sourceUrl | No | |
| mcpCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds useful non-obvious operational context: it consumes 2 orchyn credits and reads the real transcript when given a URL. This goes beyond what annotations provide and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver purpose, input modes, cost, and when-to-use with no fluff. The information is front-loaded. Minor formatting typo ('consumes 2 orchyn credits.Use') slightly reduces polish but not clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, output schema, and annotations, the description covers the essential facts: what it produces, how to invoke it, credit cost, and when to use it. It could still offer stronger differentiation from related content-creation siblings, but nothing critical is missing for a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters with descriptions, including optionality, count defaults, and max value. The description's 'url vs topic' framing reinforces the schema but adds no new semantic meaning beyond it, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Write') and resource ('opening hooks') and defines them as 'the first line said or shown on screen.' It does not explicitly differentiate from sibling tools like create_variants or find_hook_pattern, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description ends with clear when-to-use guidance: 'Use when you know the subject and need openings to choose between.' It provides a practical trigger but does not include explicit when-not-to-use conditions or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have explicit cross-references that separate discovery, fetching, analysis, and creation, which helps an agent choose correctly. However, analyze_post and understand_social_post overlap heavily in inputs, platforms, credit cost, and output focus, and the many analyze/discover/creator tools still require careful reading to avoid misselection.
The overwhelming majority follow a clear snake_case verb_noun pattern like get_user_posts, analyze_comments, and write_hooks. Minor deviations such as analyze_post_fast, niche_report, and orchyn_login break the pattern slightly but remain readable and predictable.
27 tools is on the heavy side, and some sub-areas like post analysis, creator research, and content generation could be consolidated. The broad scope across eight social platforms and the paid-credit workflow partly justifies the count, so it feels bloated but not chaotic.
The domain is well covered: discovery, media/transcript/comment retrieval, multi-level analysis, content creation, creator watchlists, and credit/auth management are all present. Minor gaps exist, such as no direct way to list watched creators or fetch a creator's raw profile stats without triggering analysis, but agents can work around them.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native social media publishing to LinkedIn, Instagram, Threads, TikTok, and X.
Schedule, publish and track social posts on nine networks from your AI assistant.
Social media analytics, post insights, and competitor benchmarking for AI agents.
Draft, schedule and publish social posts to nine platforms from any AI agent.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI clients with access to proven social media hooks, copywriting frameworks, KOL archetypes, and real-time trending content across platforms like Twitter, Instagram, LinkedIn, TikTok, YouTube, and Facebook to humanize and optimize marketing content.6
- AlicenseAqualityAmaintenanceEnables AI assistants to schedule and publish social media posts to platforms like Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest using natural language.331633MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage social media accounts and CRM operations, including posting, analytics, inbox management, and customer management.22Apache 2.0

PostMCP MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to manage social media publishing across platforms like LinkedIn, Twitter, Facebook, Instagram, Threads, and Bluesky.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nooticr/nooticr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server