Repliz MCP Server
This server lets an AI assistant manage a Repliz social-media workspace through natural language, using the caller's Repliz API keys.
Manage accounts – list, count, view, and disconnect connected social accounts.
Handle comments – list, inspect, reply to, and update the status of inbox comments.
Schedule posts – create, view, update, retry, delete, and bulk-delete scheduled posts across platforms.
Manage DMs/chats – list conversations, read messages, send text/media/interactive messages, and mark chats as read.
Manage published content – list and view posts, fetch/post/delete comments, send DMs to commenters, and delete content.
Get analytics – pull content statistics and account statistics.
Research Threads – search public Threads posts, fetch a user's posts, and look up user profiles.
Use add-ons – browse TikTok trending music, list Shopee products, and fetch link metadata for link posts.
Manage automations, templates, reports, and storage – create/update/delete automations and templates, handle reports, and use presigned file uploads.
Allows scheduling posts to Instagram and managing Instagram content, including listing, getting, and commenting on posts.
Allows searching products on Shopee.
Enables researching Threads content and user profiles, including search and retrieval of posts and user info.
Provides access to TikTok trending music data.
Click on "Deploy 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., "@Repliz MCP Serverlist my pending comments"
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.
Repliz MCP Server
A hosted Model Context Protocol server for the Repliz Public API. It gives an AI assistant 90 tools for managing a Repliz workspace in plain language: listing and replying to comments, scheduling posts, handling DMs, browsing content and stats, researching Threads, managing automations and templates, and more.
Users connect by pointing their MCP client at one URL and sending their own Repliz Access Key and Secret Key. There is nothing for them to install, build, or keep updated.
https://mcp.repliz.com/mcpThis repository is the server that serves that URL.
How it works
One process serves everyone. It holds no credentials of its own — each request carries the caller's keys, which are verified against the Repliz API and bound to that caller's session. A session owns its own API client, so no two users ever share one.
MCP client ──(URL + keys)──► this server ──(Basic auth)──► api.repliz.comUsers authenticate in either of two ways:
Authorization: Basic base64(accessKey:secretKey)X-Repliz-Access-Key: <accessKey>
X-Repliz-Secret-Key: <secretKey>Keys come from the Repliz dashboard under Settings > API.
Which clients can send these? API integrations (the Anthropic Messages API, the OpenAI Responses API) and clients with custom-header support (Cursor and most desktop clients) work directly. The "add custom connector" screens in Claude.ai and ChatGPT are built around OAuth and may not accept arbitrary headers — see Roadmap.
Related MCP server: BlackTwist MCP
Running it
Requires Node.js 18+ (Node 20.12+ to auto-load .env).
npm ci
npm run build
cp .env.example .env
npm startThe endpoint is POST/GET/DELETE /mcp, plus GET /health for monitoring.
Serve it over HTTPS in production, behind a reverse proxy or platform TLS.
Configuration
Everything is optional; the defaults suit a 1 GB VPS.
Variable | Default | Description |
|
| Port to listen on |
|
| Repliz API base URL |
|
| Cap on concurrent sessions; beyond it new connects get |
|
| Close a session after this long without a request |
|
| Requests allowed per IP per minute |
|
| Which proxies may set |
|
| Timeout for outbound calls to the Repliz API |
|
| How long a verified credential pair is cached |
|
| Largest file |
| — | Browser origins allowed to call |
| R2 + Repliz storage | Hosts accepted as presigned-upload targets |
There is deliberately no variable for the server's own Repliz credentials. A fallback like that would quietly lend the operator's workspace to any caller who omitted their keys.
PM2 + Nginx on a VPS
npm ci && npm run build
cp .env.example .env # PORT and the limits live here
pm2 start dist/index.js --name repliz-mcp
pm2 save && pm2 startup # survive a rebootDo not add -i / --instances. PM2's default fork mode is what you want.
Sessions live in this process's memory, so cluster mode would spread a user's
requests across workers that know nothing about each other, and every follow-up
request would be told its session does not exist. Scale by raising
REPLIZ_MAX_SESSIONS on a bigger box, not by adding instances.
Nginx needs two non-default settings, because the transport holds a Server-Sent Events stream open and Nginx would otherwise buffer it and cut it after 60 seconds:
location /mcp {
proxy_pass http://127.0.0.1:5301;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 3600s; # keep above REPLIZ_SESSION_IDLE_MINUTES
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}$proxy_add_x_forwarded_for is correct here: the server trusts only loopback,
so it reads the rightmost untrusted entry and a client cannot forge its way into
a fresh rate-limit bucket.
What a restart does
pm2 restart drops every live session — they exist only in this process's
memory. Nothing is queued or half-written, since every tool call is a single
synchronous call to the Repliz API, so the cost is small:
Mid-request | That one call fails; retrying works. |
Idle | The next request gets |
After reconnecting | Normal. One extra verification call, because the auth cache is empty again. |
Shutdown on SIGTERM closes sessions and stops listening in about 0.1s, well
inside PM2's default kill_timeout.
Sizing
The server is a thin proxy — every tool call is one outbound HTTPS request with no computation in between — so CPU is effectively idle and memory is the only thing to plan for. Measured:
Live sessions | Process RSS |
0 (baseline) | ~93 MB |
10 | ~108 MB |
50 | ~173 MB |
100 | ~270 MB |
That is roughly 1.8 MB per live session on top of a ~93 MB baseline, most of it the 90 tool schemas, which are instantiated per session so that credentials stay isolated. A 1 GB VPS comfortably holds the default cap of 300; use ~1000 on 2 GB. Sessions are only live while a client is connected and idle ones are reclaimed after 30 minutes, so the steady-state number is far below the total user count.
GET /health reports live sessions, the cap, RSS, and uptime.
Security
Because /mcp is open to the internet:
Credentials are verified before a session exists. On
initializethe server callsGET /public/account/countwith the supplied keys and returns401if Repliz rejects them, so an anonymous caller cannot make the server allocate memory. Successes are cached briefly so reconnects stay cheap.Sessions are bound to the credentials that opened them. Every later request is re-checked against a fingerprint of those keys, in constant time. The session id travels as a plain header and can end up in a proxy access log or a client's debug output; without this check, replaying it would hand over the owner's workspace with no credentials at all. A mismatch gets
403, a request with no credentials gets401.Sessions expire and are capped. Idle sessions are swept, because MCP clients routinely disappear without sending
DELETE— the SDK's ownclient.close()does not send one. At capacity the server sweeps first, then evicts the least recently used session if it has been quiet for over a minute, so dead sessions cannot lock out real users; if every session is genuinely active, the new connect gets503rather than cutting someone off.Requests are rate limited per IP, counted against the address chosen by
REPLIZ_TRUST_PROXY.Outbound calls time out, so a stalled Repliz request cannot pin a session.
Uploads never touch the host's disk. See File uploads.
Clean shutdown on
SIGTERM/SIGINT.
Two things to be aware of:
Credentials are verified when a session opens, not on every call. A revoked key keeps working until its session goes idle; shorten
REPLIZ_SESSION_IDLE_MINUTESif that matters.Sessions live in memory, so this is a single-instance server. Horizontal scaling needs a shared session store — see Roadmap.
File uploads
Uploading is three steps: repliz_init_file returns a one-time presigned URL,
repliz_upload_file sends the bytes, repliz_complete_file finalizes.
The middle step takes a sourceUrl, never a local path. This server is
shared, so its filesystem belongs to the operator: a path parameter would let
any connected user read the server's own files and ship them anywhere. Two
guards apply:
the presigned PUT target must be a Repliz storage host (
REPLIZ_UPLOAD_HOSTS)sourceUrlmust resolve to a public address — loopback, private LAN ranges, and cloud metadata endpoints such as169.254.169.254are refused, as are redirects
Clients that would rather not route media through the server can PUT straight
to the presigned URL themselves and then call repliz_complete_file.
Tools
90 tools across the Repliz Public API:
Group | Count | Tools |
Accounts | 6 | list, count, get, statistics, update automation, delete |
Account Connect | 30 | OAuth authorize / exchange / list / connect / reconnect for Facebook, Instagram, Threads, YouTube, LinkedIn, TikTok, Shopee, Twitter/X |
Comments | 5 | list, get, reply, update status, delete |
Schedule | 7 | list, get, create, update, retry, delete, bulk delete |
Chat | 5 | list, get, list messages, send message, mark read |
Content | 9 | list, get, list comments, comment, statistics, DM commenter, like comment, delete comment, delete content |
Automation | 5 | list, get, create, update, delete |
Templates | 5 | list, get, create, update, delete |
Storage | 8 | statistics, list, get, init upload, upload, complete, delete, bulk delete |
Reports | 3 | list, get, retry |
Research | 3 | Threads content, user content, user profile |
Add-ons | 4 | TikTok trending music, Shopee products, link metadata, addon allocation |
Tool availability follows the caller's Repliz plan; calling one above your tier returns a clear error.
Development
npm run dev # run from TypeScript source, no build step
npm test # unit tests (no network, no credentials)
npm run smoke # end-to-end: boots the real server against a stub Repliz API
npm run build # compile to dist/npm test covers the parts where a quiet mistake becomes a security hole: the
SSRF and upload-host guards, credential parsing, the session credential binding,
and the limits that bound memory. npm run smoke covers the wiring — that two
users stay apart, that a session id alone opens nothing, and that the upload
guards are reachable through the tool surface. Neither needs credentials or
network access, and CI runs both.
src/
index.ts # entry point: load .env, start the server
http.ts # the HTTP transport, auth, and request lifecycle
session.ts # session store, credential fingerprints, rate limiter, auth cache
server.ts # createReplizServer(client)
config.ts # env config + per-request credential parsing
client.ts # Repliz API client (Basic auth, timeouts, errors)
net.ts # upload-host allowlist and SSRF guards
tools/ # one module per API domain, registered via tools/index.ts
test/ # unit tests for config, session, and net
scripts/
smoke-test.mjs # end-to-end check against a stub API
api.json # the source OpenAPI spec, kept as referenceRoadmap
OAuth so users can click "Connect" in Claude.ai and ChatGPT instead of pasting headers. Those consumer UIs favour OAuth; header auth already covers API and custom-header clients.
Shared session store (Redis) so several replicas can run behind a load balancer without sticky sessions.
License
MIT — see LICENSE.
Available Tools
33 toolsrepliz_count_accountsCount AccountsA
Get the total number of accounts connected to your Repliz workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description is straightforward for a simple count tool. It does not add behavioral details beyond the basic action, such as whether the count includes all accounts or if it's a live query. For a tool with no annotations, this is minimal but not misleading.
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 a single sentence that front-loads the action and resource. Every word serves a purpose, with no extraneous 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?
Given the tool's simplicity (no parameters, no output schema), the description is largely complete. However, it could clarify whether the count includes all account states or if there are any caching effects, but these are minor omissions.
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 has zero parameters, so schema description coverage is 100% (vacuously). The description adds value by specifying the scope ('connected to your Repliz workspace'), which gives additional meaning beyond the empty 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 ('Get') and resource ('total number of accounts connected to your Repliz workspace'), clearly distinguishing it from sibling tools like repliz_get_account (single account) and repliz_list_accounts (list accounts).
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 what the tool does but provides no guidance on when to use it versus alternatives (e.g., repliz_list_accounts). Usage is implied through context, but explicit when-to-use or when-not-to-use instructions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_create_content_commentComment on ContentC
Post a comment on a piece of content, or reply to an existing comment by passing commentId.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The comment text. | |
| accountId | Yes | The account id posting the comment. | |
| commentId | No | Reply to this comment id instead of the post. | |
| contentId | Yes | The content id to comment on. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose behavioral traits such as idempotency, error behavior, or any side effects. It does mention two modes (new comment vs reply), but that is minimal.
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 a single sentence that is front-loaded with the core action. No unnecessary words, very concise and efficient.
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 omits critical context such as return value, error conditions, and prerequisites. Given there is no output schema and no annotations, the description is incomplete for a tool with four parameters and a mutating action.
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 has 100% coverage with descriptions. The description adds that 'commentId' can be passed for replies, providing context beyond the schema. This is helpful but not extensive, warranting a baseline score of 3.
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 the action (post a comment or reply) and identifies the resource (content). However, it does not distinguish this tool from the sibling 'repliz_reply_comment', which likely serves the same purpose, slightly reducing clarity.
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?
No guidance is provided on when to use this tool versus alternatives, nor any context about prerequisites or exclusions. The description only says what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_create_scheduleCreate Scheduled PostA
Schedule a post to be published to a connected account at a specific time.
Post type support by platform:
text: Facebook, Threads
image: Facebook, Instagram, Threads, TikTok, LinkedIn
video: Facebook, Instagram, Threads, TikTok, YouTube, LinkedIn
reel: Facebook
album: Facebook, Instagram, Threads, TikTok, LinkedIn
link: Facebook (provide
metafor the link preview)story: Facebook, Instagram
For media posts, attach medias. For threaded/multi-part posts, attach replies. scheduleAt must be a future ISO 8601 timestamp (UTC).
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Link preview metadata (for 'link' posts). | |
| type | Yes | The kind of post to create. | |
| title | No | Post title (used by some platforms, e.g. YouTube). | |
| topic | No | Optional internal topic/label. | |
| medias | No | Media items for image/video/reel/album/story/link posts. | |
| replies | No | Follow-up posts in a thread/chain (e.g. nested Threads posts). | |
| accountId | Yes | The target account id to publish to. | |
| scheduleAt | Yes | When to publish, as an ISO 8601 UTC timestamp, e.g. 2026-06-20T09:00:00.000Z. | |
| templateId | No | Optional automation template id to apply to this post. | |
| description | Yes | The post caption/body text. Use '' if not needed. | |
| additionalInfo | No | Optional extras: collaborators, music, products, tags, mentions, link. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description reveals key behaviors: future timestamps required, media attachment rules, and platform-specific post types. However, it lacks disclosure of potential issues like permission requirements, idempotency, or side effects such as overwriting existing schedules.
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 well-organized: a concise summary, a platform matrix, and brief usage notes. Every sentence serves a purpose with no 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?
Given the tool's complexity (11 parameters, nested objects, no output schema), the description covers essential aspects: post types, media/replies, and scheduling constraint. It omits return value hints but is otherwise complete for most use cases.
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%, baseline 3. The description adds value by explaining platform-specific post type support (e.g., text only on Facebook/Threads) and clarifies that scheduleAt must be a future ISO 8601 UTC timestamp, going beyond schema descriptions.
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 the tool schedules a post to a connected account at a specific time, listing supported platforms per post type. It distinguishes itself from siblings like repliz_update_schedule and repliz_delete_schedule by focusing on creation and scheduling.
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 implies usage for scheduling posts but does not explicitly state when to use this tool versus alternatives like repliz_send_message (immediate publish) or repliz_update_schedule (edit existing). No exclusions or contextual cues are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_delete_accountDelete AccountA
Disconnect and remove an account from your Repliz workspace. This is irreversible — confirm with the user before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The Repliz account id to remove. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Highlights irreversibility, a key behavioral trait, but does not disclose other aspects like authentication requirements, side effects on related data, or error handling. With no annotations, the description carries full burden and is somewhat lacking.
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, no waste. The first sentence states the action and scope; the second warns about irreversibility. Ideal conciseness.
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 destructive operation with no output schema, the description covers the essential purpose and warning. It does not explain return values or error scenarios, but these may be inferred from the action.
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% for the single parameter, so the description adds no additional semantic value beyond the schema. Baseline score 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 clearly states the action ('Disconnect and remove') and the resource ('account from your Repliz workspace'), distinguishing it from sibling tools like repliz_delete_schedule or repliz_delete_content_comment.
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?
Provides explicit guidance to confirm with the user before calling due to irreversibility. However, it does not compare to alternative tools or specify 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.
repliz_delete_content_commentDelete Content CommentA
Delete a comment on a piece of content. Irreversible — confirm before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The account id that owns the content. | |
| commentId | Yes | The comment id to delete. | |
| contentId | Yes | The content id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly states that deletion is irreversible, a critical behavioral trait. The description does not cover other traits like permissions or side effects, but the destructive nature is sufficiently disclosed.
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 extremely concise with two short sentences. It is front-loaded with the core action and includes the critical irreversibility warning. No extraneous 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 simple delete tool with no output schema, the description effectively communicates the essential information: what it does and a key risk (irreversibility). It could mention prerequisites like ownership, but the tool is straightforward enough.
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 has 100% coverage with descriptions for all three parameters. The tool description does not add additional meaning beyond the schema, so a 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 clearly states the action 'Delete' and the resource 'a comment on a piece of content'. The verb and resource are specific, and there is no ambiguity with sibling tools like create, get, or update comment.
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 includes an explicit warning about irreversibility ('Irreversible — confirm before calling.'), guiding agents to exercise caution. It does not explicitly mention when not to use this tool or list alternatives, but the context is clear for a deletion action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_delete_scheduleDelete Scheduled PostA
Delete a single scheduled post by id. Irreversible — confirm before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | The schedule id to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It clearly states the tool is irreversible, which is a key behavioral trait. No other side effects or prerequisites are mentioned, but for a simple delete it's sufficient.
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 extremely concise: one sentence stating the action followed by a warning. No wasted words, front-loaded with purpose.
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 delete tool, the description is complete. It explains what it does, its irreversibility, and the parameter. No output schema is needed.
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% with a clear description for 'scheduleId'. The tool description does not add any additional meaning beyond the schema's 'The schedule id to delete.' 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 clearly states the action 'Delete' and the resource 'single scheduled post by id'. It distinguishes itself from sibling 'repliz_delete_schedules' which likely deletes multiple.
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 warning 'Irreversible — confirm before calling' provides a clear guideline to confirm before use. It implies caution but does not explicitly state when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_delete_schedulesDelete Multiple Scheduled PostsA
Delete several scheduled posts at once by their ids. Irreversible — confirm before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleIds | Yes | The schedule ids to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It discloses irreversibility, which is key for a delete operation, but does not mention permissions, rate limits, or other side effects. Adequate but not comprehensive.
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 zero unnecessary words. The first sentence states the action and resource, the second adds a critical caution. Perfectly front-loaded.
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 delete tool with one required parameter and no output schema, the description covers the essential purpose and irreversibility. Could mention error handling or confirmation, but not strictly necessary.
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 description mentions 'by their ids', reinforcing the parameter's purpose. However, it adds no additional meaning or constraints 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 clearly states the action ('delete'), the resource ('scheduled posts'), and the scope ('several at once by their ids'). It effectively distinguishes from siblings like repliz_delete_schedule (single deletion).
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 includes a strong usage caution ('Irreversible — confirm before calling'), guiding the agent to exercise care. It implicitly differentiates from single-delete siblings through the 'several at once' phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_accountGet AccountA
Get details of a single connected account by its Repliz account id.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The Repliz account id (e.g. 680affa5ce12f2f72916f67e). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It implies a read-only operation ('Get details') but does not explicitly state that it has no side effects, requirements, or rate limits. For a read tool this is minimal but adequate.
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 a single, concise sentence that directly states the tool's purpose. No unnecessary words or repetition.
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 get operation with one parameter and no output schema, the description is complete enough. It could optionally hint at the return value (e.g., 'returns account object'), but the core functionality is well covered.
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 has 100% coverage, describing the 'accountId' parameter with type and example. The description adds no additional semantic meaning beyond referencing the parameter in the context of usage. 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 the tool's verb (Get), resource (account details), and identifier (by Repliz account id). It distinguishes itself from sibling tools like repliz_list_accounts (returns multiple) and repliz_delete_account (write operation).
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 no guidance on when to use this tool over alternatives, nor does it mention prerequisites or context. For a simple get tool, this is acceptable but leaves room for improvement, e.g., suggesting it's the appropriate choice for single account retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_chatGet ChatB
Get the details of a single conversation by its chat id.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | The chat id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavior. It mentions getting details but does not specify what those details include (e.g., participants, messages, timestamps) or whether it is a pure read with no side effects. Lacks explicit statement of read-only nature.
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?
One sentence, no wasted words. Could be slightly more informative but remains concise and front-loaded.
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?
Simple tool with one required parameter and no output schema. Description is adequate for a basic retrieval but lacks detail on what 'details' are returned. Given no annotations, slightly more context would be beneficial.
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?
One parameter 'chatId' with schema description 'The chat id.' The tool description adds no extra meaning beyond the schema. Schema coverage is 100%, 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 clearly states the action 'get' and the resource 'details of a single conversation by its chat id'. It distinguishes from sibling tools like repliz_list_chats (list all chats) and repliz_read_chat (which likely implies reading messages or marking as read).
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?
No guidance on when to use this tool versus alternatives (e.g., repliz_list_chats for multiple chats, repliz_read_chat for perhaps a different purpose). No preconditions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_commentGet CommentB
Get the full details of a single comment by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| commentId | Yes | The comment id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks behavioral details such as read-only nature, error handling, or authentication needs beyond the basic read operation.
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?
Single, front-loaded sentence with no wasted words; appropriately concise for a simple retrieval tool.
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 one-parameter tool with no output schema, the description is minimally adequate but could hint at the return structure (e.g., 'full details' is vague).
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 describes commentId as 'The comment id.' The description only echoes 'by its id', adding no new semantic value 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 clearly states it retrieves full details of a single comment by ID, using a specific verb and resource, and distinguishes from listing or content-scoped comment tools.
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?
No guidance on when to use this tool versus alternatives like list_comments or get_content_comments; no prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_contentGet ContentB
Get the details of a single piece of content.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The account id that owns the content. | |
| contentId | Yes | The content id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention any behavioral traits (e.g., read-only, side effects). For a simple get operation, this is an omission.
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 a single concise sentence with no unnecessary 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?
The tool is simple with 2 parameters and no output schema. The description is minimal but adequate; however, lacking behavioral context (e.g., read-only) reduces completeness.
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%, with both parameters having descriptions. The tool description adds no additional 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 clearly states the action (get) and resource (details of a single piece of content), but does not distinguish it from sibling tools like repliz_get_content_comments or repliz_list_content.
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?
No guidance on when to use this tool versus alternatives. Sibling tools include many other operations, but the description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_content_commentsGet Content CommentsA
List comments on a piece of content. Pass commentId to fetch replies to a specific comment. Uses cursor pagination via nextToken.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The account id that owns the content. | |
| commentId | No | Fetch replies under this comment id. | |
| contentId | Yes | The content id. | |
| nextToken | No | Pagination cursor from a previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions cursor pagination but omits critical details like read-only nature, authentication requirements, error handling, or any side effects. This is insufficient for a tool with no annotations, earning a 2.
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, each adding distinct value: the first states the main purpose, the second explains two key behaviors (reply fetching and pagination). No wasted words; front-loaded structure.
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 the key action and pagination but lacks information about return format (no output schema). It implies a list of comments but does not specify structure or fields. Adequate for a simple list tool, but could be more 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?
Schema coverage is 100%, so the baseline is 3. The description restates commentId and nextToken use but adds no additional meaning beyond the schema descriptions. Therefore, it does not exceed the baseline.
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 'List comments on a piece of content' with a specific verb and resource. It also mentions fetching replies via commentId. However, it does not explicitly differentiate from siblings like repliz_list_comments or repliz_get_comment, so it scores a 4.
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 context for when to use the tool: to list comments on a content or fetch replies to a comment. It also explains pagination via nextToken. However, it lacks explicit when-not-to-use guidance or mention of alternatives, so a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_content_statisticGet Content StatisticsC
Get engagement statistics/insights for a piece of content.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The account id that owns the content. | |
| contentId | Yes | The content id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only says 'Get', implying a read operation, but doesn't disclose any behavioral traits such as whether it is destructive, any permission requirements, rate limits, or side effects. The description is too minimal for full transparency.
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 a single sentence, front-loaded with the key information, and contains no extraneous words. It is optimally concise.
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 tool has no output schema, so the description should provide context on what the output looks like (e.g., what type of statistics, format). It does not, leaving the agent without information on how to interpret the result. The description is incomplete for a practical usage scenario.
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 has 100% coverage for both parameters (accountId and contentId) with clear descriptions. The tool description does not add any extra meaning beyond the schema, so a baseline score 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 clearly states the action ('Get') and resource ('engagement statistics/insights') and specifies it's for a piece of content. It is distinguishable from sibling tools like repliz_get_content and repliz_get_content_comments, though no explicit differentiation is provided.
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 no guidance on when to use this tool versus alternatives, no context about prerequisites, and no exclusions. It simply states what it does without any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_get_scheduleGet Scheduled PostB
Get the full details of a single scheduled post by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | The schedule id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'Get the full details', implying a read-only operation, but fails to disclose behavior such as idempotency, required permissions, or error handling if the schedule does not exist. This is minimal disclosure.
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 a single, front-loaded sentence with no unnecessary words. However, it could be slightly more informative (e.g., hinting at the returned fields) without becoming verbose. It earns a 4 because it is clear but minimal.
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?
With no output schema and no annotations, the description should compensate by describing what 'full details' includes (e.g., content, time, status). It does not, leaving agents guessing about the return structure. This is inadequate for a get-by-id tool.
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%, with the parameter scheduleId described as 'The schedule id.' The description adds no extra meaning beyond rephrasing 'by its id'. Baseline 3 is appropriate since the schema already documents the parameter sufficiently.
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 the verb 'Get', the resource 'full details of a single scheduled post', and the identifier 'by its id'. It effectively distinguishes from sibling tools like repliz_list_schedules, which returns multiple schedules.
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 no guidance on when to use this tool versus alternatives such as repliz_list_schedules (for listing multiple schedules) or repliz_get_schedule (implied but not explicit). There is no mention of prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_link_metadataGet Link MetadataA
Fetch Open Graph / link-preview metadata (title, description, image) for a URL. Useful for building the meta field of a 'link' post.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to fetch metadata for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the purpose without disclosing behavioral traits like network calls, caching, error handling, or rate limits.
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, no fluff, front-loaded with purpose. Every word 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 one-parameter fetch tool, the description is complete: it names the input (URL), the output metadata fields (title, description, image), and the use case (building link post meta). No output schema is needed.
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% with a basic description for the url parameter. The description adds clarity by specifying the types of metadata returned (title, description, image), which is value 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 clearly states the verb 'Fetch' and the resource 'Open Graph / link-preview metadata (title, description, image) for a URL', which distinguishes it from the many sibling tools.
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 context 'Useful for building the `meta` field of a 'link' post', but does not explicitly state when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_list_accountsList AccountsA
List the social accounts connected to your Repliz workspace. Returns each account's id, platform, username, picture, and status. Supports pagination and filtering by platform type or search term.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Items per page. | |
| types | No | Filter by platform(s), e.g. ["facebook", "instagram"]. | |
| search | No | Search by account name or username. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a read-only listing operation with no side effects, but does not disclose authentication requirements, rate limits, or confirm idempotency. Basic transparency is adequate but not rich.
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 wasted words. The first sentence states the primary action, the second lists capabilities. Front-loaded and efficient.
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?
No output schema, but description specifies returned fields. The tool is simple and the description covers essential aspects: what it does, what it returns, and supported features. Slightly lacking on behavioral details like pagination limits or error handling, but complete enough for basic use.
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 parameters are already described. The description adds context by mentioning pagination and filtering, but does not provide extra syntactic or format details beyond the schema. Baseline score 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 clearly states the tool lists social accounts connected to a Repliz workspace. It specifies the returned fields (id, platform, username, picture, status) and mentions pagination and filtering. It distinguishes from sibling tools like repliz_get_account (single account) and repliz_count_accounts (count).
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 implies usage for listing with pagination and filtering, but does not explicitly state when not to use it (e.g., for a single account) or provide alternatives. However, the context of sibling tools makes the primary use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_list_chatsList ChatsA
List direct-message conversations across connected accounts. Supports pagination and filtering by status (unread/unreplied), account(s), and search.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Items per page. | |
| search | No | Search conversations. | |
| status | No | Filter by chat status. | |
| accountIds | No | Filter by account id(s). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention rate limits, authentication requirements, or side effects. While listing is likely read-only, this is not stated, leaving a transparency 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?
Single sentence, front-loaded with the main purpose, no redundant words. Every part adds value.
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 5 parameters, no output schema, and no annotations, the description covers the main features but lacks guidance on alternative tools (e.g., when to use repliz_get_chat) and does not describe return format or pagination details beyond schema. It is adequate but not 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?
Schema coverage is 100%, so the schema already provides parameter descriptions. The description reinforces the 'status' enum values and adds context about 'connected accounts', but does not add significant new meaning beyond the schema. 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?
Clearly states it lists direct-message conversations across connected accounts. Distinguishes from siblings like repliz_get_chat (single chat) or repliz_list_messages (messages within a chat) by specifying 'conversations' and including filtering options.
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?
Mentions pagination and filtering by status, account(s), and search, providing clear context for when to use this tool. However, it does not explicitly exclude alternatives or state when not to use it, so it falls 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.
repliz_list_commentsList CommentsA
List comments in your Repliz inbox across connected accounts. Supports pagination and filtering by status, account(s), and search term.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Items per page. | |
| search | No | Search within comment text. | |
| status | No | Filter by handling status. | |
| accountIds | No | Filter to comments belonging to these account id(s). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions non-destructive behavior (list), pagination, and filtering, but lacks details on authentication, rate limits, or return format. Adequate but not rich.
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 efficient sentences, front-loaded with purpose, no wasted words. Perfectly concise.
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?
No output schema exists, so description should clarify return format; it does not. Covers scope and filters adequately but misses important context like the response structure. Adequate with clear 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 coverage is 100% and already provides clear descriptions for each parameter. Description adds no additional semantic meaning beyond restating the filter options, so 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?
Clearly states action 'List' and resource 'comments in your Repliz inbox across connected accounts'. Differentiates from sibling tools like repliz_get_comment (singular) and repliz_get_content_comments (comments for specific content) by specifying the scope and filtering.
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?
Implies usage for viewing inbox comments, but no explicit guidance on when to use this versus sibling listing tools (e.g., repliz_list_content) or filtering-specific tools. Lacks alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_list_contentList ContentA
List published content (posts/media or stories) for a connected account. Uses cursor pagination via nextToken.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Content type to list. | |
| accountId | Yes | The account id whose content to list. | |
| nextToken | No | Pagination cursor from a previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavioral traits. It mentions cursor pagination via nextToken, which is good, but lacks details on authentication, rate limits, or what 'published' entails (e.g., excludes drafts).
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 concise sentences with no extraneous information; front-loaded with the core purpose and pagination detail.
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's simplicity (3 parameters, no output schema) and sibling landscape, the description is mostly complete. It could explicitly state that the response is a paginated list, but the pagination mention suffices.
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 parameters. The description adds only a mention of cursor pagination, which aligns with the schema's nextToken description but does not add significant new 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 clearly states the verb 'List' and the resource 'published content' with specific types (posts/media or stories), distinguishing it from sibling tools like repliz_get_content which retrieves a single item.
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 implies usage for listing published content with cursor pagination, but does not explicitly provide when-to-use vs alternatives or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_list_messagesList Chat MessagesA
List the messages within a conversation, paginated (newest first).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Items per page. | |
| chatId | Yes | The chat id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses pagination and ordering (newest first), but does not mention safety (read-only), authentication, or rate limits. Adequate but not comprehensive.
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?
Single sentence, 8 words, front-loaded with the action and resource. No filler or redundancy. Highly efficient.
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 paginated list, the description covers core behavior. No output schema, but the tool's purpose is straightforward. Could optionally mention return type (array of messages) but not necessary.
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 covers all parameters (100%). The description adds value by specifying 'paginated (newest first)', which informs the meaning of 'page' and 'limit' parameters beyond the schema's basic descriptions.
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 the verb 'List' and the resource 'messages within a conversation', with specific behavior 'paginated (newest first)'. This distinguishes it from sibling tools like 'repliz_get_chat' (single chat) and 'repliz_send_message'.
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?
No explicit guidance on when to use or not use this tool, nor alternatives. Usage is implied by the purpose, but lack of exclusions or context reduces clarity for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_list_schedulesList Scheduled PostsA
List scheduled and published posts. Supports pagination and filtering by account(s), status, and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Items per page. | |
| status | No | Filter by post status. | |
| toDate | No | ISO 8601 end of date range filter. | |
| fromDate | No | ISO 8601 start of date range filter. | |
| accountIds | No | Filter by account id(s). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states functionality without disclosing behavioral traits like idempotency, error handling, performance implications, or return format. A list read operation's safety is implied but not explicit.
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, zero waste. Every word adds value: identifies the resource, lists key capabilities concisely. Appropriate for a straightforward list tool.
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?
Adequately covers purpose and filters, but lacks details on return structure (no output schema) or limits beyond the schema's description. Could mention typical data fields returned.
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 baseline is 3. The description summarizes available filters ('account(s), status, and date range') but adds no new meaning beyond the schema's own parameter descriptions.
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 'List scheduled and published posts', which is a specific verb+resource. While it doesn't explicitly distinguish from siblings like repliz_list_content, the focus on scheduled posts provides sufficient 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?
Mentions supported operations: pagination and filtering by account, status, date range. Provides clear context for when to use, but lacks explicit when-not or alternative tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_message_content_commentSend DM to Content CommenterB
Send a private message (DM) to the author of a comment on your content. Provide text and/or a button payload.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | The message text. | |
| button | No | Optional interactive button payload. | |
| accountId | Yes | The account id sending the message. | |
| commentId | Yes | The comment id whose author will be messaged. | |
| contentId | Yes | The content id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the tool sends a DM (a write operation) but does not explain effects like whether it creates a new chat, requires specific permissions, or handles errors. Key behaviors are missing.
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 a single sentence that front-loads the action and key constraints. Every word contributes value; no redundancy or 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 the complexity (5 parameters, nested button object, no output schema), the description is too brief. It does not explain the effect of the button payload, response behavior, or prerequisite conditions. An agent may lack sufficient context to use 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%, so the schema already documents parameters. The description adds that text and/or button can be provided, which is a minor clarification. No further insight beyond the schema is given.
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 the action: sending a private message (DM) to the author of a comment. It includes the specific resource (comment author) and contrasts with siblings like repliz_reply_comment (public reply) and repliz_send_message (generic DM). However, it lacks explicit differentiation from all 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 provides context on when to use the tool (sending DM to comment author) but offers no explicit guidance on when not to use it or which alternatives to consider. Sibling tools such as repliz_send_message and repliz_reply_comment are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_read_chatMark Chat as ReadB
Mark a conversation as read.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | The chat id to mark read. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must bear full burden; it only states the action without disclosing side effects, permissions, or reversibility.
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?
Single sentence is concise, but could be slightly expanded to include behavioral context without losing efficiency.
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?
Adequate for a simple one-parameter tool, but missing behavioral transparency and usage guidance; not fully complete given no annotations.
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 description adds no extra meaning beyond the schema's 'chat id to mark read'; baseline 3.
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 'Mark a conversation as read' uses a specific verb and resource, clearly distinguishing it from sibling tools like get_chat or list_chats.
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?
No guidance on when to use this tool versus alternatives; no context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_reply_commentReply to CommentB
Post a public reply to a comment. The reply is published to the original platform (Facebook, Instagram, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The reply text to publish. | |
| commentId | Yes | The comment id to reply to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must fully disclose behavioral traits. The description only mentions that the reply is public and published to the original platform, but does not discuss authentication requirements, rate limits, idempotency, or what happens if the comment cannot be replied to (e.g., deleted, permissions). The description is minimal for a mutation 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?
The description is two sentences, front-loaded with the main action, and every word adds value. No redundancy or wasted 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 simple tool with 2 parameters and no output schema, the description covers the basic purpose and platform. However, it lacks context on prerequisites (e.g., connected accounts), error handling, or response format. Given the complexity, it is adequate but not fully comprehensive.
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% with each parameter having a description. The tool description does not add additional meaning beyond what the schema already provides (e.g., format constraints, length limits). Baseline 3 is appropriate as the schema does the heavy lifting.
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 the action ('Post a public reply') and the resource ('a comment'), and specifies that the reply is published to original platforms like Facebook, Instagram, etc. This distinguishes it from sibling tools like repliz_create_content_comment (creates new comment on content) or repliz_message_content_comment (sends private message).
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?
No guidance is provided on when to use this tool versus alternatives (e.g., repliz_message_content_comment for private replies, or repliz_update_comment_status for status updates). There are no when-not conditions or context for when to avoid this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_retry_scheduleRetry Scheduled PostB
Retry publishing a scheduled post that previously failed (status 'error').
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | The schedule id to retry. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must carry full burden. It reveals the prerequisite (status 'error') but does not disclose side effects, idempotency, or behavior on success/failure. Minimal behavioral insight beyond the condition.
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?
Single sentence, 12 words, directly communicates the purpose. No unnecessary text; front-loaded with action and resource.
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 simplicity (1 param, no output schema), description covers purpose and condition. However, lacks details on return value, idempotency, or error handling, leaving some gaps for an agent.
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 describes scheduleId as 'The schedule id to retry.' The description adds no extra meaning beyond that. 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?
Description clearly states the verb 'retry', resource 'scheduled post', and condition 'previously failed (status error)'. It distinguishes from siblings like create_schedule or delete_schedule by specifying the failure status.
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?
No explicit when-to-use or when-not-to-use guidance. While the condition 'status error' implies usage context, no exclusions or alternatives (e.g., 'use update_schedule to modify') are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_search_threads_contentSearch Threads ContentA
Search public Threads posts by keyword. Requires a connected Threads account id (used to authorize the search). Uses cursor pagination via nextToken.
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | The keyword or phrase to search for. | |
| accountId | Yes | A connected Threads account id to search with. | |
| nextToken | No | Pagination cursor from a previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: authorization via accountId and cursor pagination via nextToken. This is sufficient for a read-only search tool, though it could mention any rate limits or error conditions.
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 concise sentences with front-loaded purpose statement. Every sentence adds essential information: action, requirement, and pagination. No wasted words.
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 no output schema, the description covers authorization and pagination adequately. It could mention what the response contains (e.g., list of posts), but given the tool's simplicity, it 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?
Schema coverage is 100%, so parameters are already described. The description adds minor context, reiterating that accountId authorizes the search and nextToken enables pagination. It adds value but not significantly 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 clearly states the tool searches public Threads posts by keyword, specifying the resource and verb. However, it does not explicitly differentiate from sibling tools like search_threads_user, though the name implies content vs user search.
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 mentions the requirement for a connected account ID for authorization and notes cursor pagination, providing some context for use. But it lacks explicit guidance on when to use this tool versus alternatives like search_threads_user or 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.
repliz_search_threads_userGet Threads User ProfileB
Look up the public profile of a Threads user by username. Requires a connected Threads account id.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The Threads username to look up. | |
| accountId | Yes | A connected Threads account id to search with. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states it is a lookup operation, but does not mention whether it is read-only, any authentication needs, rate limits, or what the response structure looks like. This leaves the agent guessing.
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 a single, concise sentence that gets straight to the point. It is appropriately sized for such a simple tool, though it could include more detail without becoming verbose.
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 simplicity of the tool (2 string params, no enums, no nested objects, no output schema), the description is minimal but still incomplete. It fails to describe the return value or any side effects, leaving the agent without critical information about 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?
Schema description coverage is 100% (both parameters have descriptions). The tool description adds no additional meaning beyond what the schema already provides, simply restating that a connected account id is required. Baseline score 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 clearly states the verb 'look up' and the resource 'public profile of a Threads user by username', making the purpose obvious. However, it does not distinguish itself from sibling tools like repliz_search_threads_user_content, which could cause confusion.
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 mentions the prerequisite of requiring a connected Threads account id, which helps the agent understand a condition for use. But it does not specify when to choose this tool over alternatives or 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.
repliz_search_threads_user_contentGet Threads User ContentA
Fetch public Threads posts authored by a specific username. Requires a connected Threads account id. Uses cursor pagination via nextToken.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The Threads username whose posts to fetch. | |
| accountId | Yes | A connected Threads account id to search with. | |
| nextToken | No | Pagination cursor from a previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that posts are public, requires a connected account, and uses pagination, but lacks details on rate limits, error responses, or any side effects.
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 sentences, front-loaded with the core action, and contains no unnecessary words.
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 tool has no output schema, and the description does not explain the return format (e.g., fields returned). Pagination is mentioned, but the response structure is omitted.
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 parameters are well-defined. The description adds context by stating the need for a connected account id and the pagination cursor, providing marginal additional 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 clearly states it fetches Threads posts authored by a username, distinguishing it from sibling tools like repliz_search_threads_content (which likely searches content by keywords).
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 specifies the requirement of a connected account id and mentions cursor pagination. However, it does not explicitly state when not to use this tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_send_messageSend Chat MessageB
Send a message in a conversation. Set type and provide the matching field:
text: provide
textimage: provide
image{ url, mimetype, thumbnail? }video: provide
video{ url, duration, mimetype, thumbnail? }audio: provide
audio{ url, duration, mimetype }document: provide
document{ url, name, size, mimetype }button: provide
button{ text, buttons:{ title, url }, image? }
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content (for type 'text'). | |
| type | Yes | The message type. | |
| audio | No | ||
| image | No | ||
| video | No | ||
| button | No | An interactive button message. | |
| chatId | Yes | The chat id to send to. | |
| document | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, rate limits, error handling, idempotency, or side effects beyond the act of sending.
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 uses a clear list format to organize type-dependent field mappings. Every sentence adds value, though some repetition of schema details could be trimmed.
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 the most complex part (message content construction) but omits output/response details and does not explain required parameters like chatId beyond the schema. For a tool with eight parameters and nested objects, it is adequate but not 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 description adds significant value beyond the input schema by explicitly mapping each message type to its required fields and structure. The schema descriptions are minimal, so the description compensates well.
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 the tool sends a message in a conversation and provides a breakdown of how to structure each message type. It is distinct from sibling tools like repliz_read_chat or repliz_list_messages.
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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or limitations. It only explains how to construct the request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_shopee_productsList Shopee ProductsA
List Shopee products for a connected Shopee account. Useful for tagging products on posts. Uses cursor pagination via nextToken.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The connected Shopee account id. | |
| nextToken | No | Pagination cursor from a previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds some transparency by noting cursor pagination. However, it does not mention that the tool is read-only, potential error states, or authorization requirements beyond 'connected account.' Some behavioral traits remain undisclosed.
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 very concise, consisting of two front-loaded sentences that efficiently communicate the tool's purpose, use case, and pagination mechanism without any extraneous 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?
Given the tool's simplicity (2 params, no output schema), the description covers core functionality and pagination. However, it could be more complete by describing the structure of returned product data, especially since no output schema exists.
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 100% coverage of parameter descriptions. The description adds no new semantic information beyond restating the schema, so it meets the baseline but does not enhance understanding.
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 the action 'List Shopee products' with a specific resource and scope ('for a connected Shopee account'), and distinguishes itself from sibling tools as the only product listing tool.
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 a clear use case ('Useful for tagging products on posts') and mentions cursor pagination, guiding the agent on when to use the tool. However, it does not explicitly state when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_tiktok_trending_musicTikTok Trending MusicA
Get trending TikTok music for a given genre, country, and time window. Useful for picking a music track when scheduling a TikTok post.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Music genre. Use 'ALL' for everything, or a specific genre such as POP, ROCK, EDM, HIP_HOP/RAP, K-POP, LO-FI, etc. | ALL |
| dateRange | No | Trending window. | 7DAY |
| countryCode | Yes | ISO 3166-1 alpha-2 country code, e.g. 'ID', 'US', 'GB'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. It does not disclose any behavioral traits such as rate limits, authentication requirements, or potential empty results. However, the read-only nature is implied, and there is 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 concise sentences: the first states the core function, the second provides practical application. No unnecessary words, front-loaded with 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?
The tool is simple with 3 parameters and no output schema. The description covers the purpose and use case adequately. However, it does not describe the output format or behavior when no results are found, which would be helpful for an agent.
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 has 100% description coverage for all three parameters. The description does not add new meaning beyond the schema, but it reinforces the use case. 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 the action (Get) and resource (trending TikTok music), lists parameters (genre, country, time window), and links to a use case (picking a music track for scheduling). Among siblings, no other tool is music-related, so it is well-distinguished.
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 a clear use case ('Useful for picking a music track when scheduling a TikTok post'), indicating when to use it. However, it does not explicitly mention when not to use it or list alternative tools, which would have earned a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_update_comment_statusUpdate Comment StatusA
Update the handling status of a comment in your Repliz inbox (pending, resolved, or ignored).
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | The new status. | |
| commentId | Yes | The comment id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It states that the tool updates the status (write operation) but does not disclose any behavioral traits such as whether the operation is reversible, requires authentication, or has any side effects. The description adds minimal behavioral context beyond the bare action.
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 a single sentence with no wasted words, achieving good conciseness. However, it is very minimal and could include additional information without being verbose. The structure is front-loaded with key 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 tool's simplicity and the absence of an output schema, the description covers the basic purpose and parameters. However, it does not explain the return value, idempotency, or constraints on status transitions, leaving some gaps for a complete understanding.
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. The description adds the context 'in your Repliz inbox', which is not present in the schema, and repeats the allowed statuses. This provides slight added meaning beyond the parameter descriptions in the schema, warranting a 3.
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 the verb 'Update', the resource 'handling status of a comment', and the scope 'in your Repliz inbox'. It also lists the allowed statuses (pending, resolved, ignored), making it distinct from sibling tools like delete, get, or reply.
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 context for when to use this tool (to change the handling status of a comment) but does not explicitly state when not to use it or give alternatives. From sibling names, users can infer that deletion uses 'repliz_delete_content_comment' and replies use 'repliz_reply_comment', but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repliz_update_scheduleUpdate Scheduled PostA
Update an existing scheduled post. The account cannot be changed; provide the new content fields. scheduleAt must be a future ISO 8601 timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Link preview metadata. Used for 'link' posts; otherwise leave empty. | |
| type | Yes | The kind of post. | |
| title | No | ||
| topic | No | ||
| medias | No | ||
| replies | No | ||
| scheduleAt | Yes | New publish time as ISO 8601 UTC timestamp. | |
| scheduleId | Yes | The schedule id to update. | |
| templateId | No | ||
| description | Yes | The post caption/body text. | |
| additionalInfo | No | Optional extras: collaborators, music, tagged products, hashtags, mentions, link. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It mentions two constraints but does not disclose potential side effects, required permissions, or whether the operation is reversible. For a mutation tool, more behavioral context is needed.
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, front-loaded with purpose, and each sentence adds value. No redundant or vague phrasing.
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?
No output schema. The tool has 11 parameters with nested objects. The description is too brief; it lacks information about return values, error conditions, or effects of updates on dependent data. More context is needed for a tool of this complexity.
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 55%. The description adds high-level meaning ('the account cannot be changed; provide the new content fields') and specifies the scheduleAt format, but does not detail the other 9 parameters. The schema already covers some, but the description could add more context.
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 verb 'update' and the resource 'existing scheduled post'. Distinguishes from sibling create_schedule (new) and get_schedule (read). The description uniquely identifies the tool's purpose.
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 notes that the account cannot be changed and that scheduleAt must be a future ISO 8601 timestamp. While it doesn't name alternatives, the constraints provide clear guidance on when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
33 tool updates
v1.0.0- First observed
repliz_count_accounts - First observed
repliz_create_content_comment - First observed
repliz_create_schedule - First observed
repliz_delete_account - First observed
repliz_delete_content_comment - First observed
repliz_delete_schedule - First observed
repliz_delete_schedules - First observed
repliz_get_account - First observed
repliz_get_chat - First observed
repliz_get_comment - First observed
repliz_get_content - First observed
repliz_get_content_comments - First observed
repliz_get_content_statistic - First observed
repliz_get_schedule - First observed
repliz_link_metadata - First observed
repliz_list_accounts - First observed
repliz_list_chats - First observed
repliz_list_comments - First observed
repliz_list_content - First observed
repliz_list_messages - First observed
repliz_list_schedules - First observed
repliz_message_content_comment - First observed
repliz_read_chat - First observed
repliz_reply_comment - First observed
repliz_retry_schedule - First observed
repliz_search_threads_content - First observed
repliz_search_threads_user - First observed
repliz_search_threads_user_content - First observed
repliz_send_message - First observed
repliz_shopee_products - First observed
repliz_tiktok_trending_music - First observed
repliz_update_comment_status - First observed
repliz_update_schedule
TDQS
Scored across 33 tools
Each tool targets a distinct resource and action (e.g., get_comment vs get_content_comments, list_chats vs get_chat). Descriptions clearly differentiate similar-sounding tools, leaving no ambiguity.
All tools follow a consistent 'repliz_verb_noun' pattern with lowercase and underscores. Actions like create, get, list, delete, update are used uniformly across resources.
33 tools is slightly high but appropriate for a comprehensive social media management server covering accounts, scheduling, content, comments, messaging, and search. Each tool has a clear purpose.
The tool set covers major workflows: account management, scheduling (CRUD + retry), content/comments, messaging, and platform-specific searches. Minor gaps like immediate publishing (vs scheduling) exist but are not critical.
Maintenance
Related MCP Connectors
- AntworkOAuthio.antwork
Draft, schedule, and publish social posts for your workspace straight from your AI.
- ReelDropOAuthio.reeldrop
Schedule Instagram reels, manage comment-to-DM automations, and read analytics
Social media automation from your AI assistant: Instagram DMs, scheduling to 9 platforms, analytics.
Create, schedule, and publish social media posts from AI assistants. Built for agencies.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to interact with Replit workspaces directly, including managing repls, file operations, environment variables, and deployments without constant user intervention.244-
- AlicenseNot gradedqualityCmaintenanceManage Threads and Bluesky social media from AI assistants. Schedule posts, check analytics, and automate follow-up replies.3MIT
- AlicenseAqualityCmaintenanceProvides AI assistants with access to the RecurPost API to manage social media accounts, schedule posts, and organize content libraries. It enables users to automate recurring posts, track engagement metrics, and generate social media content through natural language.918 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage social media accounts and CRM operations, including posting, analytics, inbox management, and customer management.22Apache 2.0