Skip to main content
Glama
posteverywhere

@posteverywhere/mcp

Official

@posteverywhere/mcp — Social Media MCP Server for Claude, ChatGPT, Cursor, Codex & AI Agents

mcp-name: io.github.posteverywhere/mcp

npm version npm downloads License: MIT GitHub stars Glama quality score

Official Model Context Protocol server for PostEverywhere — let Claude Code, Claude Desktop, ChatGPT (via the hosted connector), Cursor, OpenAI Codex, and other MCP-compatible AI clients schedule and publish social media posts to Instagram, TikTok, YouTube, LinkedIn, Facebook, X (Twitter), Threads, and Pinterest using natural language.

💡 Building a programmatic integration? Use the companion @posteverywhere/sdk Node.js SDK instead — full TypeScript types, retry handling, error classes.

Resource

URL

🌐 Homepage

posteverywhere.ai

🛠️ Developers landing page

posteverywhere.ai/developers

📖 API Documentation

developers.posteverywhere.ai

📦 This MCP on npm

npmjs.com/package/@posteverywhere/mcp

💻 This MCP on GitHub

github.com/posteverywhere/mcp

📦 Node SDK (npm)

npmjs.com/package/@posteverywhere/sdk

💻 Node SDK (GitHub)

github.com/posteverywhere/sdk

⌨️ CLI & Agent Skill (npm)

npmjs.com/package/@posteverywhere/cli

⌨️ CLI & Agent Skill (GitHub)

github.com/posteverywhere/cli

🎛️ Dashboard

app.posteverywhere.ai

🔑 Get an API key

app.posteverywhere.ai/developers

💵 Pricing

posteverywhere.ai/pricing

📚 Help Center

posteverywhere.ai/support

🧠 Model Context Protocol

modelcontextprotocol.io

🐛 Issues / bug reports

github.com/posteverywhere/mcp/issues

📧 Support

support@posteverywhere.ai

Related MCP server: postfast-mcp

What is MCP?

Model Context Protocol (MCP) is an open standard from Anthropic that lets AI assistants connect to external tools and data sources. Once you connect this MCP server, your AI assistant can:

  • Schedule posts across all your connected social accounts

  • Generate AI images and attach them to posts

  • List, edit, retry, and delete scheduled or published posts

  • Surface per-platform publishing results including failure reasons

…all from natural-language prompts inside Claude, Cursor, or any MCP-compatible client.

Quick Start

1. Get an API key

Sign up free at posteverywhere.ai/signup (7-day trial), connect your social accounts, then create an API key at Settings → Developers. Choose your scopes:

  • Read — list accounts, posts, and media

  • Write — create, edit, delete posts and media

  • AI — generate images using AI models

2. Add the MCP server to your AI client

Claude Code

claude mcp add posteverywhere -- npx -y @posteverywhere/mcp

Then set POSTEVERYWHERE_API_KEY in your environment, or pass it as an argument:

claude mcp add posteverywhere -e POSTEVERYWHERE_API_KEY=pe_live_your_key_here -- npx -y @posteverywhere/mcp

📖 Claude Code MCP docs →

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "posteverywhere": {
      "command": "npx",
      "args": ["-y", "@posteverywhere/mcp"],
      "env": {
        "POSTEVERYWHERE_API_KEY": "pe_live_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The PostEverywhere tools will appear in the 🔨 menu.

📖 Claude Desktop MCP docs →

Cursor

In Cursor, open Settings → MCP → Add new MCP server and paste:

{
  "posteverywhere": {
    "command": "npx",
    "args": ["-y", "@posteverywhere/mcp"],
    "env": {
      "POSTEVERYWHERE_API_KEY": "pe_live_your_key_here"
    }
  }
}

📖 Cursor MCP docs →

Other MCP clients

This package exposes a standard stdio MCP server. Any MCP-compatible client can connect using the same configuration shape.

3. Try it out

Once connected, ask your AI assistant things like:

"List my connected social accounts"

"Schedule a post to all my accounts for tomorrow at 2pm: Just shipped a new feature 🚀"

"Show me my recent posts and their publishing status"

"Generate an image of a sunset over mountains in 16:9 and post it to Instagram and X"

"Retry the failed destinations on my latest post"

"What are my last 10 posts on TikTok?"

Available Tools

Accounts

  • list_accounts — list all connected social accounts and their health status

  • get_account — get details for a specific account (token expiry, can-post status)

Posts

  • list_posts — list posts filtered by status (scheduled, published, failed, draft) or platform. Drafts include their target accounts + per-platform content so you can review them before publishing.

  • get_post — get full details for a single post including all destinations (for drafts, the saved accounts + per-platform content)

  • create_post — publish now, schedule for later, or save as a draft for human review (draft: true)

  • schedule_post — publish or schedule a draft (the approval step — pass scheduled_for, or publish_now: true)

  • update_post — modify a scheduled or draft post (content, schedule time, accounts)

  • delete_post — delete a scheduled or draft post

  • get_post_results — per-platform publishing results, errors, and live URLs

  • retry_failed_post — retry every failed destination of a post

🧑‍💼 Human-in-the-loop drafts — let the agent draft posts for you to approve before anything goes live:

  1. "Draft a LinkedIn post about our launch — don't publish it yet"create_post(draft: true)

  2. "Show me my drafts"list_posts(status: "draft") / get_post

  3. "Looks good — schedule it for Tuesday 9am"schedule_post(scheduled_for: …) (or "publish it now"publish_now: true)

Drafts are saved in your PostEverywhere account and never publish until you schedule them — review them in the app or via the agent.

Media

  • list_media — list files in your media library

  • get_media — get media file details and processing status

  • upload_media_from_url — import an image from any public URL into the library (one call, returns a media_id ready for create_post)

  • delete_media — remove a media file

AI

  • generate_image — generate an image from a text prompt (4 models, 7 aspect ratios)

📖 Full tool reference and parameters →

Example Prompts

These all work out of the box once the server is connected:

Scheduling

  • "Schedule a Christmas post for December 25th at 9am: Merry Christmas to our amazing community 🎄"

  • "Post this to Instagram and TikTok only: Behind-the-scenes of our latest feature drop"

  • "Queue up a week of daily morning posts starting Monday at 9am"

Content generation

  • "Generate a 9:16 image of a coffee shop at sunrise and schedule it as a TikTok post for tomorrow"

  • "Create a square image of abstract green shapes for a LinkedIn carousel"

Monitoring

  • "What posts failed in the last week and why?"

  • "Show me the publishing results for my last Instagram Reel"

  • "Which of my accounts need to be reconnected?"

Recovery

  • "Retry the failed LinkedIn destination on post abc-123"

  • "Delete all my draft posts older than 30 days"

Each natural-language prompt maps to one or more MCP tool calls — the agent figures out the right sequence.

Supported Platforms

All eight platforms work on every plan:

  • Instagram — feed, reels, stories, carousels

  • TikTok — videos, photo carousels

  • YouTube — videos with thumbnails, descriptions, tags

  • LinkedIn — text, images, video, document carousels

  • Facebook — pages, video, reels, multi-image

  • X (Twitter) — text, threads, media (tier-aware char limits)

  • Threads — text and media posts

  • Pinterest — pins to boards

Configuration

Environment variable

Required

Description

POSTEVERYWHERE_API_KEY

Your API key from Settings → Developers. Format: pe_live_...

POSTEVERYWHERE_BASE_URL

Override base URL (default https://app.posteverywhere.ai). Useful for self-hosted deployments.

Rate Limits

Resource

Per minute

Per hour

Per day

General API calls

60

1,000

Posts

60

200

1,000

AI generation

60

Hitting a 429? The MCP server returns a clear rate_limit_exceeded code with retry_after seconds — the agent will know to wait and retry.

📖 Rate limit details →

How it compares

This MCP server

PostEverywhere SDK

Direct REST API

Use with Claude / Cursor / MCP clients

✅ Native

Use in Node.js code

❌ (use SDK)

Natural-language scheduling

TypeScript types

Manual

Auto-retry / backoff

Manual

Best for

AI-assisted social media

Programmatic integrations

Any HTTP client / language

Documentation

MCP & AI Tooling Resources

PostEverywhere Around the Web

Per-Platform Schedulers

PostEverywhere is the backend for all of these — every plan includes every platform:

  • 📷 Instagram Scheduler — feed posts, reels, stories, carousels

  • 🎵 TikTok Scheduler — videos, photo carousels, full content disclosure flags

  • 📺 YouTube Scheduler — videos with thumbnails, tags, descriptions, privacy controls

  • 💼 LinkedIn Scheduler — personal + Company Page posts, document carousels, video

  • 👍 Facebook Scheduler — Pages, Reels, video, multi-image carousels

  • 🐦 X (Twitter), Threads, Pinterest — all included on every plan

Support

License

MIT — see LICENSE.


Built by the team at PostEverywhere. The smarter way to schedule social media to Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest — now with native MCP support for AI agents.

Available Tools

33 tools
bulk_create_postsAInspect

Create up to 50 posts in one PostEverywhere API call (counts as ONE API-rate-limit hit instead of 50). Each post goes through the same validation as create_post. Returns per-item success/error so you can handle partial failures. Use this for bulk scheduling workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
postsYesArray of post objects (same shape as create_post body). Max 50.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it counts as one API rate-limit hit, that each post goes through the same validation as 'create_post', and returns per-item success/error. This is comprehensive for a creation tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each adding essential information: capability and benefit, validation equivalence, and return behavior with usage recommendation. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains return behavior. Complexity is low (one param, no nested objects). The description provides all necessary context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage with description 'Array of post objects (same shape as create_post body). Max 50.' The tool description adds context about validation and error handling, enhancing the parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'create up to 50 posts' and the resource 'posts'. It specifies the bulk nature and the rate-limit benefit, distinguishing it from the individual 'create_post' sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises 'Use this for bulk scheduling workflows'. While it doesn't explicitly state when not to use it, the context of bulk vs. individual is clear, and the description mentions partial failure handling, guiding appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_campaignBInspect

Create a new campaign on PostEverywhere for grouping related posts. Returns the campaign id, which can then be passed as campaign_id when creating posts via create_post.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCampaign name
descriptionNoOptional description
colorNoHex color like #3b82f6
statusNoactive

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavior. It states it creates a campaign and returns an ID, but does not discuss permissions, error handling, idempotency, or what happens on duplicate names. Minimal beyond the obvious write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each adding essential information: first specifies purpose and target, second explains return value and subsequent usage. No unnecessary words, well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a creation tool with 4 parameters and no output schema. It explains the return value and relationship to create_post, but lacks details like error states, required parameters beyond name, or what happens upon success (though schema covers requiredness). Could be more complete given no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, which is moderate. The description adds no value beyond the schema—it does not explain parameters like color or status usage. No additional meaning provided over the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it creates a new campaign for grouping related posts, specifying the verb 'Create' and the resource 'campaign' on PostEverywhere. Distinguishes from siblings like update_campaign or delete_campaign, and mentions the returned campaign ID is used with create_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when needing to group posts, as it mentions the campaign ID can be passed to create_post. However, no explicit guidance on when not to use or alternatives among siblings (e.g., bulk_create_posts).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_postAInspect

Create a social media post on PostEverywhere. Three modes: (1) PUBLISH NOW — give content + account_ids, omit scheduled_for; (2) SCHEDULE — add scheduled_for; (3) DRAFT for human review — set draft: true, which saves the post WITHOUT publishing it (it appears in the user's PostEverywhere app and via list_posts(status:"draft"); you then publish it with schedule_post once approved). Use draft mode whenever a human wants to check posts before they go live. Supports per-platform overrides and media. Returns the post ID, its status, and the next step to take.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe text content of the post
account_idsNoSocial account IDs to post to (from list_accounts). REQUIRED to publish or schedule; OPTIONAL for a draft (accounts can be chosen later when you call schedule_post).
scheduled_forNoISO 8601 datetime to schedule the post (e.g., 2026-03-15T14:00:00Z). Omit to publish immediately. When draft:true this is optional and just pre-fills the draft's suggested time.
timezoneNoIANA timezone for scheduling (e.g., America/New_York)UTC
media_idsNoArray of media UUIDs to attach. Get these from upload_media_from_url (recommended) or generate_image. Existing library files can be looked up with list_media.
draftNoSet true to save as a DRAFT for human review instead of publishing or scheduling. The draft is NOT published until you call schedule_post on it. Review drafts with list_posts(status:"draft") or get_post.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses key behaviors: draft mode saves without publishing, the need to call schedule_post later, and the return value (post ID, status, next step). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with numbered modes, each earning its place. It is front-loaded with the main purpose, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description still mentions the return value. All parameters are covered in schema, and the description explains the workflow and next steps, making it complete 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the interaction between parameters (e.g., account_ids required for publish/schedule, optional for draft) and the three-mode logic, going beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a social media post on PostEverywhere with three distinct modes (publish, schedule, draft), explicitly distinguishing it from sibling tools like bulk_create_posts and schedule_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use each mode: publish now by omitting scheduled_for, schedule by adding scheduled_for, and draft by setting draft:true. It also recommends draft mode for human review and references schedule_post for later publishing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_webhookAInspect

Create a webhook subscription on PostEverywhere. PostEverywhere will POST event payloads to the URL whenever a subscribed event occurs (post.published, post.failed, account.reconnect_needed, etc). Each request is signed with HMAC-SHA256 via the X-PostEverywhere-Signature header — verify it against the returned secret. The secret is shown ONLY ONCE in this response. Available events: post.scheduled, post.publishing, post.published, post.failed, post.partially_failed, post.updated, post.deleted, account.connected, account.disconnected, account.reconnect_needed, media.uploaded, media.deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL where events will be POSTed (must be public)
eventsYesArray of event names to subscribe to
nameNoHuman-readable name for the subscription
descriptionNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains key behaviors: POST to URL, HMAC-SHA256 signature, secret shown only once, and lists events. This is sufficient for an agent to understand side effects and security implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that front-loads the main purpose and then adds critical details (signature, secret, events). While dense, it is not overly verbose; the event list is necessary but slightly long. Could be more structured but efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool without output schema, the description covers behavioral aspects but misses what the response includes beyond the secret (e.g., webhook ID, status). It does not mention error handling or response format. Adequate but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, but description adds value: 'url' gains context 'must be public', 'events' is enriched with the full event list. 'name' adds no extra, and 'description' param is not mentioned. Overall, it improves parameter understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Create a webhook subscription' and the resource 'PostEverywhere'. It distinguishes from sibling tools like test_webhook, get_webhook, update_webhook by focusing on creation and subscription behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (create a new subscription) but does not explicitly guide when to use this tool versus alternatives like update_webhook or test_webhook. No when-not-to-use or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_campaignAInspect

Delete a campaign on PostEverywhere. Posts in the campaign survive — their campaign_id is set to NULL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCampaign id

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses important behavior: posts are not deleted, campaign_id set to NULL. In absence of annotations, this provides good transparency beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with the main action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple delete tool with one parameter and no output schema. Explains side effect sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with minimal description ('Campaign id'). Tool description adds no further parameter context beyond the action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Delete' and the resource 'campaign on PostEverywhere'. Includes critical side effect about posts surviving, distinguishing it from delete_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage by describing the effect on posts, but no explicit when-to-use or when-not-to-use compared to siblings like delete_post.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_mediaAInspect

Delete a media file from the PostEverywhere media library. This permanently removes the file from storage and cannot be undone. Any posts that reference this media will no longer have the attachment. Use with caution.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesThe UUID of the media file to delete

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, but the description discloses permanent removal, irreversibility, and impact on posts referencing the media. This provides sufficient behavioral context for a delete operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each adding value. Front-loaded with action, immediate consequences, and side effects. Could be slightly tighter but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter delete tool with no output schema, the description covers purpose, permanence, and post impact. Sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes 'media_id' adequately. With 100% schema description coverage, the description adds no extra parameter information beyond confirming it's a media file.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it deletes a media file and clarifies it's permanent. It distinguishes from siblings like get_media and list_media by specifying deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description warns 'Use with caution' but does not specify when to use this tool versus alternatives like update_post to remove a media reference. No explicit exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_postAInspect

Delete a scheduled or draft post from PostEverywhere. This permanently removes the post and all its platform destinations. Cannot delete posts that have already been published. Use with caution as this action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the post to delete

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the action is permanent and cannot be undone, and that it removes all platform destinations. With no annotations, it covers the key behavioral traits well, though it could mention auth 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences that each contribute essential information: action, scope, permanence, and limitation. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 parameter and no output schema, the description provides all necessary information: what it does, what it applies to, what it cannot do, and the irreversible nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter post_id is fully described in the schema. The description does not add additional meaning beyond the schema, so it meets the baseline for 100% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it deletes scheduled or draft posts from PostEverywhere, and explicitly excludes published posts, distinguishing it from sibling tools like create_post or update_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit context on when to use (scheduled/draft posts) and when not to (published posts), but does not explicitly mention alternatives or when another tool would be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_webhookBInspect

Delete a webhook subscription on PostEverywhere. Cascades to delete the delivery history.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses that deletion cascades to delivery history, but does not mention authentication, reversibility, or other 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise at 12 words, but could include a bit more context without becoming verbose. Front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter and no output schema, the description covers the main behavioral nuance (cascade). Missing details on return value, error conditions, or confirmation behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single required parameter 'id' with 0% schema description coverage. The description adds no additional meaning or context to the parameter beyond the schema's type and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'delete' and resource 'webhook subscription' with context 'PostEverywhere'. Also mentions cascading deletion of delivery history, differentiating it from other webhook-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 test_webhook or update_webhook. No prerequisites or cautionary notes provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_captionAInspect

Generate 1-5 AI caption variants for a social media post on PostEverywhere. Provide a topic and optionally tone, platform, length, hashtag/emoji preferences. Captions respect per-platform character limits (X: 280, Bluesky: 300, LinkedIn: 3000, IG: 2200, FB: 5000, etc) and follow platform conventions. Costs 1 AI credit per caption returned. Companion to generate_image — together they let you compose a complete post in two calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhat the post should be about
platformNoTarget platform — sets character limit + style conventions
toneNoTone of voice for the captionprofessional
lengthNoApproximate caption lengthmedium
include_hashtagsNoWhether to include hashtags (defaults to platform-appropriate)
include_emojisNoWhether to include emojis
countNoNumber of caption variants to return (1-5)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description covers cost (1 AI credit per caption), platform limits, and conventions, providing essential behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, no unnecessary words, efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately covers all aspects: parameters fully described, output implied (caption variants), platform behavior explained, and companion tool mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, but description adds valuable context about platform limits and credit cost, enhancing understanding beyond field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it generates 1-5 AI caption variants for a social media post on PostEverywhere, and distinguishes from the sibling generate_image tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context on when to use: mentions AI credit cost, per-platform character limits, and companion generate_image tool, but does not explicitly state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageAInspect

Generate an AI image from a text prompt on PostEverywhere. The image is saved to your media library and can be attached to posts via media_ids. Choose from 4 models: gemini-3-pro (default, balanced quality, 5 credits), nano-banana-pro (photorealism, 15 credits), ideogram-v2 (best for text-in-image, 8 credits), flux-schnell (fastest, 1 credit). Requires the "ai" scope on your API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesText description of the image to generate
aspect_ratioNoAspect ratio for the generated image1:1
modelNoAI model to use for generationgemini-3-pro

TDQS

A4.1/5.0
Behavior3/5

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 mentions saving to media library and credit costs, but lacks details on error handling, rate limits, or whether the operation is non-destructive. The behavior is partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences plus a list of models. It front-loads the main purpose and immediately provides key details about the output and model choices. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers purpose, model options, and authentication, it does not describe the return value (e.g., media_id), which is important since there is no output schema. This gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining each model's characteristics and credit costs, and that the image is saved to the media library, going beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates an AI image from a text prompt, saves it to the media library, and can be attached to posts. No sibling tool duplicates this function, 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the tool's purpose and the models available with credit costs, aiding model selection. It also mentions the required 'ai' scope. However, it does not explicitly state when not to use this tool or alternatives, though no direct alternative exists among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accountAInspect

Get detailed information about a specific connected social media account on PostEverywhere. Returns the account platform, username, health status, and whether it can currently post. Use this to check the status of a single account by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesThe numeric ID of the social account to retrieve

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It describes return fields but doesn't mention error handling, authentication requirements, or rate limits. For a read operation, this is 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundant words. The first sentence states purpose and key return info, the second sentence clarifies usage. Extremely efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool (1 required param, no output schema), the description is largely complete: explains what is returned and when to use. Missing info on error cases (invalid ID), but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter account_id with 100% description coverage. The description adds minimal value beyond what the schema provides, simply restating that account_id is needed. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get detailed information about a specific connected social media account' and lists specific return fields (platform, username, health status, can_post). It distinguishes from the sibling tool list_accounts which retrieves all accounts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to check the status of a single account by its ID', which tells when to use it. It implicitly excludes listing all accounts, but does not specifically mention 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.

get_account_healthAInspect

Check the health of a connected social account on PostEverywhere. Returns status (healthy|warning|broken), can_post boolean, token expiry, needs_reconnection flag, recent failure count, last successful publish. Use this before publishing to detect a dead token BEFORE it causes a failed post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSocial account id

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It discloses return values and the context of use, but does not state that it is read-only, mention authentication requirements, or describe any side effects. This is 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose and return fields, followed by usage guidance. Every sentence conveys essential information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers purpose, return fields, and usage context. It could mention error handling or missing account behavior, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with a description for 'id' ("Social account id"). The tool description adds no further semantic context beyond what the schema provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it checks the health of a connected social account and enumerates return fields (status, can_post, token expiry, etc.). It distinguishes from sibling tools like get_account and get_analytics_summary by focusing on health status specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends using this before publishing to detect a dead token, providing a clear use case. It lacks explicit when-not-to-use or alternative tools, but the sibling list suggests alternatives exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_analytics_summaryAInspect

Get aggregate posting metrics over a time window on PostEverywhere. Returns counts (scheduled/published/failed), per-platform breakdown, total views/likes/comments/shares/impressions/clicks across all published posts, and AI credit usage. One call answers "how many posts have I published this week?" without listing every post.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoTime window — defaults to last 30 daysmonth
fromNoISO timestamp lower bound (required if period=custom)
toNoISO timestamp upper bound (required if period=custom)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description carries full burden. It discloses return types (counts, engagement, AI credits) but does not mention read-only nature, performance, or side effects. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded, no redundant words. Every sentence adds value: purpose, return details, and usage example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, description covers purpose, key returns, and usage context. Could mention scope (all accounts?) but is sufficient for a simple analytics tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds no significant new meaning beyond schema; reinforces 'time window' and default behavior. No extra parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get aggregate posting metrics over a time window', specifies verb-resource pair, and distinguishes from sibling tools like list_posts by saying 'without listing every post'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete example of when to use ('how many posts have I published this week?'), implying usage context. Does not explicitly list alternatives but differentiates from listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_campaignAInspect

Get details of a single campaign on PostEverywhere by its id, including post_count.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCampaign id

TDQS

A4.1/5.0
Behavior3/5

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 states the tool gets details including post_count, but does not disclose potential behavioral traits like rate limits, idempotency, or access restrictions. However, the name 'get' implies a 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the essential information: what the tool does, the required identifier, and a key output field. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter and no output schema, the description adequately covers the functionality: retrieving details of a single campaign by id, including post_count. No missing information for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'id' is described in the schema as 'Campaign id'. The description adds no further semantic information about the parameter beyond what is already in the schema. With 100% schema coverage, the score is baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 'details of a single campaign on PostEverywhere by its id', and includes a specific output field 'post_count'. This distinguishes it from sibling tools like 'list_campaigns' and 'update_campaign'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates that the tool is for retrieving details of a specific campaign by id. No explicit when-not-to-use or alternatives are given, but the use case is straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_meAInspect

Get the current API key context on PostEverywhere — who you are, what scopes your key has, what plan the organization is on, and what's remaining on each quota (accounts/AI credits/storage). Use this as the FIRST CALL when initializing an MCP session to self-discover the organization_id, scopes, and quota state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes return values (identity, scopes, plan, quota remaining) and implies read-only, non-destructive behavior. Would benefit from explicit statement of no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences that efficiently convey purpose, usage recommendation, and return data. No filler, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero parameters and no output schema, description thoroughly covers what the tool does and what it returns, including specific data categories. Meets all information needs for an initialization call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema; baseline 4 applies. Description adds no param-specific info but is acceptable given zero params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb (Get) and resource (current API key context) including specific details like identity, scopes, plan, and quotas. Distinguishes from sibling tools which operate on accounts, posts, or other entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends using this as the FIRST CALL when initializing an MCP session to discover organization_id, scopes, and quota state. Provides clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mediaAInspect

Get detailed information about a specific media file on PostEverywhere, including its type, dimensions, file size, upload status, and aspect ratio. Use this to check if an uploaded media file has finished processing before attaching it to a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesThe UUID of the media file to retrieve

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It correctly implies a read-only operation and lists return fields. However, it does not disclose potential side effects, authentication requirements, or error behavior (e.g., what happens if media_id is invalid).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, both front-loaded with purpose and usage. No extraneous information—every sentence serves a clear function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description lists key return fields (type, dimensions, etc.) and provides a usage example. It adequately covers essential information, though it could mention error responses or default values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add additional semantics for the media_id parameter beyond what the schema provides (UUID). It does not explain how to obtain the media_id or format constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed information about a specific media file') and the resource ('media file on PostEverywhere'), listing specific attributes (type, dimensions, file size, upload status, aspect ratio). It distinguishes from sibling tools like list_media (which lists all media) and delete_media (which deletes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'Use this to check if an uploaded media file has finished processing before attaching it to a post.' This provides clear context and a specific use case, though it does not explicitly mention 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.

get_postAInspect

Get detailed information about a specific post on PostEverywhere, including its content, media attachments, schedule, and the publishing status on each destination platform. Use this to check if a post was published successfully or to see error details for failed destinations.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the post to retrieve

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the return data comprehensively (content, media, schedule, status). It does not contradict annotations (none present) and is transparent about the 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with what the tool provides, and ends with a usage scenario. Every sentence is informative, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is complete: it lists what data is returned and when to use it. Could mention error handling details, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (post_id described as UUID). The description adds context about the post being specific to the tool but doesn't add new semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves detailed information about a specific post, including content, media, schedule, and publishing status. This distinguishes it from sibling tools like create_post or delete_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'check if a post was published successfully or to see error details for failed destinations'. It doesn't mention exclusions or alternatives, but the guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_post_resultsAInspect

Get the per-platform publishing results for a specific post on PostEverywhere. Returns detailed status for each destination including published URLs, error messages, attempt counts, and retry schedules. Use this to check which platforms succeeded or failed after publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the post to get results for

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes return details (published URLs, error messages, attempt counts, retry schedules). Implies read-only operation. Could add more about error behavior or permissions, but sufficient for a simple getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each contributing meaning. Front-loaded with main purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool with one parameter and no output schema, description covers the main use case and return fields. Could elaborate on the list of destinations or error scenarios, but sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter post_id. Description does not add significant detail beyond 'for a specific post'. Baseline 3 is appropriate as schema already handles semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Get' and resource 'per-platform publishing results for a specific post'. Distinguishes from siblings like get_post (which gets the post itself) and retry_failed_post (which retries).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to check which platforms succeeded or failed after publishing.' Provides clear context for when to use. Does not explicitly list alternatives or when not to use, but the purpose is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_webhookAInspect

Get details of a single webhook subscription on PostEverywhere (does NOT include the signing secret).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWebhook id

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description adds value by stating what is not included (signing secret) but does not disclose other behavioral traits like error handling, permissions, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 12 words, no superfluous information. Front-loaded with key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read operation with one parameter. The warning about missing signing secret is useful. No output schema, so description doesn't need to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the single parameter (id as UUID). 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (get details), resource (webhook subscription), and a notable exclusion (no signing secret). It effectively distinguishes from sibling tools like list_webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage when details of a specific webhook are needed. No explicit guidance on when not to use or alternatives, but context is clear given sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_accountsAInspect

List all connected social media accounts on PostEverywhere. Returns account IDs, platform names, usernames, and health status (whether each account can currently post). Use this to see which platforms are available before creating a post.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description reveals key behavioral traits: it lists all accounts and returns health status. It does not discuss authentication or rate limits, but these are typical for a read-only listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundancies. The first sentence states purpose and outputs, the second provides usage context. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 fully covers what it does, what it returns, and when to use it. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100%. The description does not need to elaborate on parameters, and it correctly omits any mention. Baseline 4 for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all connected social media accounts' and specifies the returned data (IDs, platform names, usernames, health status), distinguishing it from siblings like get_account (single account) or create_post (writing action).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use this to see which platforms are available before creating a post.' It implies a common workflow but does not directly compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_campaignsAInspect

List campaigns in the current workspace on PostEverywhere. Campaigns group related posts (e.g., "Q3 Launch", "Holiday 2026") and can be referenced via campaign_id when creating or filtering posts. Returns id, name, color, status, post_count for each.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by campaign status
limitNoPage size
offsetNoPagination offset

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It does not disclose read-only nature or any side effects, but it does specify return fields (id, name, color, status, post_count). Adequate but could be improved by explicitly noting it's a 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff, front-loaded with the purpose. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with 3 well-documented parameters and no output schema, the description sufficiently covers purpose, return fields, and usage context. Complete given low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all parameters have descriptions in the schema. The description adds context about campaign_id usage but not additional parameter-level meaning beyond schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'campaigns' in the current workspace, and distinguishes from sibling tools by explaining that campaigns group related posts and can be referenced via campaign_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing campaigns but does not explicitly state when to use this tool vs alternatives or provide when-not guidance. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mediaAInspect

List media files in the PostEverywhere media library. Supports filtering by type (image, video, document) and pagination. Returns file metadata including URLs, dimensions, and upload status. Use this to find existing media to attach to posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by media type
limitNoNumber of items to return

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, description discloses filtering, pagination, and return metadata (URLs, dimensions, upload status) fully describing the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with main action, and no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 2 simple parameters and no output schema, the description covers purpose, filters, pagination, and return data completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3; description adds context that filtering by type and pagination are for finding media to attach to posts, providing slight added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verb 'List' and resource 'media files in the PostEverywhere media library', clearly distinguishing from siblings like get_media and list_posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for finding existing media to attach to posts, but doesn't contrast with alternatives like get_media when you need a single file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_postsAInspect

List scheduled, published, or draft posts on PostEverywhere. Supports filtering by status (scheduled, published, draft) and platform. Returns post content, scheduling info, and per-platform destination statuses. Use this to check what posts are queued or to review published content.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by post status
platformNoFilter by platform (e.g., instagram, linkedin, x)
limitNoNumber of posts to return

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses return data (post content, scheduling info, per-platform statuses), but lacks explicit safety/destructive hint or rate limit info. Adds value beyond schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with key action and filtering, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return fields. Sibling tools exist but not mentioned; still adequate for a list tool with good schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all parameters described. Description does not add significant detail beyond schema; mentions platform and limit but not new semantics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'List' and resource 'posts', with filtering by status and platform, clearly distinguishing from siblings like 'get_post' (single) and 'create_post' (creation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'Use this to check what posts are queued or to review published content', providing clear usage context. Does not explicitly mention alternatives or when not to use, but guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_posts_advancedAInspect

List posts on PostEverywhere with the FULL set of filters available on the API (since June 2026). Like list_posts but accepts comma-separated multi-status (e.g. "failed,partially_failed"), comma-separated platforms, date ranges (created/scheduled/published/updated), account_id and campaign_id filters, content search, and sort options. Use this for any non-trivial query — e.g. "all failed TikTok posts from last week" — that the basic list_posts can't express.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoComma-separated statuses (scheduled,publishing,published,partially_failed,failed,draft)
platformNoComma-separated platforms (e.g. "instagram,facebook")
account_idNoFilter to one social account
campaign_idNoFilter to a campaign
created_afterNoISO timestamp lower bound on posts.created_at
created_beforeNo
scheduled_afterNoISO timestamp lower bound on posts.scheduled_for
scheduled_beforeNo
published_afterNoISO timestamp lower bound on destination published_at
published_beforeNo
updated_afterNoISO timestamp lower bound — for incremental sync polling
searchNoFull-text search on post content
sortNocreated_at
orderNodesc
limitNo
offsetNo

TDQS

A4.6/5.0
Behavior4/5

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 behavior comprehensively (filtering by status, platform, date ranges, etc.) but does not explicitly state that this is a read-only operation. The behavior is implied to be safe, and no destructive or side-effect information is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the purpose clearly stated in the first sentence. Every phrase adds value, no wasted words. The structure is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 16 parameters and no output schema, the description covers the key filtering concepts well. It could mention pagination (limit/offset) or sorting behavior, but those are documented in the schema. The description is sufficiently complete for an agent to understand when to select this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 56% (9 of 16 parameters have descriptions). The description adds meaning beyond the schema by explaining the multi-status and multi-platform capabilities, and mentions date ranges and sort options. This helps an agent understand the advanced filtering semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists posts with the full set of API filters, and explicitly distinguishes itself from the sibling 'list_posts' tool by noting its advanced capabilities and providing concrete examples (e.g., comma-separated multi-status, platforms).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells agents to use this tool for non-trivial queries that basic list_posts cannot express, and gives a concrete example ('all failed TikTok posts from last week'). This provides clear when-to-use guidance and contrasts with the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_webhooksAInspect

List all webhook subscriptions on PostEverywhere for the current organization. Returns id, url, subscribed events, is_active, recent delivery stats. Note: the signing secret is NEVER included in list responses.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses important behavior: the signing secret is never included in list responses, and lists returned fields. With no annotations, this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no fluff; front-loaded with action and scope, followed by critical nuance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool, coverage is comprehensive: what it lists, what fields, and what is excluded. No output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. The description adds no redundant parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it lists all webhook subscriptions for the current organization, clearly distinguishing it from sibling tools like get_webhook (single) and create_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing all webhooks but does not explicitly state when to use it vs alternatives like get_webhook or test_webhook.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retry_failed_postAInspect

Retry all failed platform destinations for a specific post on PostEverywhere. Resets failed destinations back to queued status so they will be re-attempted by the publishing system. Use this when a post failed due to temporary issues like rate limits or token expiry (after the token has been refreshed).

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the post with failed destinations

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it resets failed destinations to queued status, re-attempting them. With no annotations, this is good but could mention edge cases like no failed destinations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: action, mechanism, usage scenario. Concise and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 complete, covering purpose, effect, and when to use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with schema coverage 100%; description reinforces but adds little beyond the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'retry' on the resource 'failed platform destinations for a specific post', which is distinct from sibling tools like create_post or delete_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using this tool when failure is due to temporary issues like rate limits or token expiry, providing clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retry_failed_postsAInspect

Retry all failed destinations on PostEverywhere that match a filter (account_id, platform, date range, or explicit post_ids). Saves you from making one retry call per failed post. Requires at least one filter — refuses to retry the entire failure history.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idsNoExplicit list of post UUIDs to retry failed destinations on
account_idNoRetry only failures on this social account
platformNo
failed_afterNoISO timestamp — only retry failures after this
failed_beforeNoISO timestamp — only retry failures before this
max_attemptsNoSkip destinations with attempt_count >= this

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations; description discloses it refuses to retry without filter (safety). Lacks details on rate limits, idempotency, or side effects beyond being a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three succinct sentences, front-loaded with purpose, no wasted words. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

High schema coverage and no output schema; description covers filter requirements and safeguards. Could mention return value but adequate for an action tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds collective meaning: 'requires at least one filter' and lists filter types. Schema coverage is high (83%), so baseline is 3; extra value from usage constraint raises it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retries all failed destinations matching a filter, with specific filter options listed. It distinguishes from the sibling 'retry_failed_post' by emphasizing batch operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly requires at least one filter and warns against retrying entire history. Provides context on when to use (batch retry vs one-by-one) but does not explicitly name the alternative sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_postAInspect

Publish or schedule a DRAFT (created with create_post(draft: true)). Pass scheduled_for to schedule it for a future time, or publish_now: true to publish it right away. Optionally pass account_ids to set/override which accounts it posts to (defaults to the accounts saved on the draft). This is the final step of the review workflow: create_post(draft:true) → review with list_posts(status:"draft")/get_post → schedule_post. Only works on drafts — to re-time an already-scheduled post, use update_post.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the draft to publish (from create_post or list_posts)
scheduled_forNoISO 8601 datetime to schedule for (e.g., 2026-06-20T14:00:00Z). Provide this OR publish_now.
publish_nowNoSet true to publish the draft immediately instead of scheduling it.
account_idsNoOptional: accounts to publish to, overriding the draft's saved targets.
timezoneNoIANA timezone for display (does not change when the post fires).

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it mutates (publishes/schedules), works only on drafts, and explains behavior of optional parameters. No annotations provided, so description carries full burden. Could mention irreversibility of publish_now, but still strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place. Front-loaded with core purpose, then workflow context, then constraints. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description covers all parameters, workflow, prerequisites, and sibling tools. Complete for agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant meaning beyond schema: explains mutual exclusivity of scheduled_for and publish_now (though not explicit, context makes it clear), account_ids overrides defaults, timezone is display-only. Schema coverage is 100%, but description enriches understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool publishes or schedules a draft, using specific verbs and resource. It distinguishes itself from create_post (which creates drafts) and update_post (for re-timing), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes the workflow: create_post(draft:true) → review → schedule_post. Tells when to use (final step) and what it works on (only drafts). Provides alternative for re-timing: update_post. No ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_webhookAInspect

Send a synthetic test ping to a webhook URL on PostEverywhere so you can verify your endpoint receives the request and validates the HMAC signature. Returns the receiver's HTTP status + duration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. It discloses that a synthetic ping is sent and returns HTTP status and duration, but does not cover potential side effects, rate limits, or prerequisites like webhook existence. Adequate but could be more detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous information. The first sentence conveys the action and purpose, the second the return value. It is appropriately sized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (single parameter, no output schema, no annotations), the description covers the main behavioral aspects. However, it lacks explanation of the parameter and any prerequisites. Minor gap prevents a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain the sole parameter 'id' (a UUID). Schema description coverage is 0%, so the description should compensate, but it only mentions the action without clarifying that 'id' is the webhook identifier. This leaves ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (send synthetic test ping), the resource (webhook URL on PostEverywhere), and the purpose (verify endpoint receives request and validates HMAC signature). It distinguishes from sibling tools like create_webhook or get_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool (to verify endpoint reception and HMAC validation). While it doesn't explicitly mention when not to use it or alternative tools, the unique nature of this test action among siblings makes the guidance clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_campaignBInspect

Update a campaign on PostEverywhere (name, description, color, or active/archived status).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCampaign id
nameNo
descriptionNo
colorNo
statusNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It mentions the fields that can be updated but lacks details on side effects, permissions, error handling, or idempotency. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant information. It front-loads the verb and resource, making it efficient for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 5 parameters and no output schema or annotations, the description is adequate but incomplete. It lacks details on required parameters, return values, prerequisites, and potential side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (20%), and the description adds value by listing the updatable fields and clarifying the status field as 'active/archived'. However, it does not elaborate on each parameter's meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Update' and resource 'campaign', lists the updatable fields (name, description, color, status), and clearly distinguishes from sibling tools like create_campaign and delete_campaign.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or provide context for choosing between similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_postAInspect

Update a scheduled or draft post on PostEverywhere. You can change the content, schedule time, timezone, target accounts, or media attachments. Only posts with status "scheduled" or "draft" can be edited — published posts cannot be modified. Returns the updated post with all its details.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe UUID of the post to update
contentNoNew text content for the post
scheduled_forNoNew ISO 8601 datetime to schedule the post
timezoneNoNew IANA timezone for scheduling
account_idsNoNew array of social account IDs to post to
media_idsNoNew array of media UUIDs to attach. Get these from upload_media_from_url or generate_image.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the burden. It discloses that only scheduled/draft posts are editable and that the updated post is returned. However, it does not specify whether the update is a full replace or partial merge, nor does it discuss permissions or side effects. Slight lack of detail prevents a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no extraneous information. The purpose and key constraint are front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters and no output schema, the description adequately covers purpose, constraints, and return value. The lack of output schema is mitigated by the description promising 'all its details'. Could mention that optional parameters are patch-style, but overall complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 6 parameters. The description adds a brief enumeration of updatable fields but no additional semantic detail beyond what the schema provides. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates scheduled or draft posts on PostEverywhere, enumerating the adjustable fields (content, schedule, timezone, accounts, media). It distinguishes from siblings like create_post and delete_post by specifying the post status constraint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (updating scheduled/draft posts) and when not to (published posts cannot be modified). Implicitly excludes creating new posts, which is handled by create_post.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_webhookBInspect

Update a webhook subscription on PostEverywhere — change url/events/name/description/is_active. Setting is_active=true on an auto-disabled webhook clears the consecutive_failures counter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
urlNo
eventsNo
nameNo
descriptionNo
is_activeNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses one behavioral trait: setting is_active=true on an auto-disabled webhook clears the consecutive_failures counter. However, with no annotations, the description should cover more behavioral aspects like idempotency, permissions, side effects, or state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence states purpose, second adds a useful behavioral note. Efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 params, no output schema, no annotations, the description is insufficient. Missing return value, error conditions, authorization, and parameter details. Only one behavioral note for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It lists field names (url, events, name, description, is_active) but adds no additional semantics, no valid values for events, no constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Update' and the resource 'webhook subscription on PostEverywhere', lists the updatable fields (url/events/name/description/is_active), and distinguishes from sibling tools like create_webhook, delete_webhook, test_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., create_webhook), no prerequisites, no exclusions, and no context for use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_media_from_urlAInspect

Import an image from a public URL into the PostEverywhere media library. The image is fetched server-side, stored, and immediately ready to attach to posts via media_ids. Supported: JPEG, PNG, GIF, WebP, HEIC, HEIF — up to 25 MB. Image-only for now; videos still require the 3-step REST flow (POST /v1/media/upload → PUT presigned URL → POST /v1/media/{id}/complete). Returns { media_id, url, content_type, size } — pass media_id directly to create_post.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTPS URL pointing to the image. Must be reachable from the public internet (no private/loopback addresses).
filenameNoOptional filename to record in the library. If omitted, derived from the URL path.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: image is fetched server-side, stored, immediately ready to use. Lists return fields (media_id, url, content_type, size). No contradictions. Provides all necessary behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clear sentences in main paragraph with front-loaded purpose. Second paragraph adds constraints and return info. Every sentence earns its place—no fluff, no repetition. Perfectly scoped for this tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema or annotations, the description covers input requirements, behavioral effects, constraints (formats, size), return value, and even clarifies relation to sibling tools (video flow). An agent has all information needed to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds significant value beyond schema: for 'url' it specifies 'Public HTTPS URL', 'must be reachable from public internet', and prohibits private/loopback addresses. For 'filename', it notes optional and derivation from URL path. These details aid correct parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Import an image from a public URL into the PostEverywhere media library.' It uses specific verb (import), resource (image from URL into media library), and distinguishes from sibling tools by explicitly noting that videos require a different REST flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (import images from public URLs) and when not to use (videos require separate 3-step flow). Also mentions supported formats and size limit, providing complete context for correct invocation.

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. Dates show when Glama detected each change.

  1. 23 tool updatesv1.3.0
    • Addedbulk_create_posts
    • Addedcreate_campaign
    • Changedcreate_post6 fields changed
      • changedInput schema / properties / account_ids / description
        Previous value: -"Array of social account IDs to post to (get these from list_accounts)"New value: +"Social account IDs to post to (from list_accounts). REQUIRED to publish or schedule; OPTIONAL for a draft (accounts can be chosen later when you call schedule_post)."
      • removedInput schema / properties / account_ids / minItems
        Removed value: -1
      • addedInput schema / properties / draft
        Added value: +{
        +  "description": "Set true to save as a DRAFT for human review instead of publishing or scheduling. The draft is NOT published until you call schedule_post on it. Review drafts with list_posts(status:\"draft\") or get_post.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / media_ids / description
        Previous value: -"Array of media UUIDs (from upload_media) to attach"New value: +"Array of media UUIDs to attach. Get these from upload_media_from_url (recommended) or generate_image. Existing library files can be looked up with list_media."
      • changedInput schema / properties / scheduled_for / description
        Previous value: -"ISO 8601 datetime to schedule the post (e.g., 2026-03-15T14:00:00Z). Omit to publish immediately."New value: +"ISO 8601 datetime to schedule the post (e.g., 2026-03-15T14:00:00Z). Omit to publish immediately. When draft:true this is optional and just pre-fills the draft's suggested time."
      • changedInput schema / required
        Previous value: -[
        -  "content",
        -  "account_ids"
        -]New value: +[
        +  "content"
        +]
    • Addedcreate_webhook
    • Addeddelete_campaign
    • Addeddelete_webhook
    • Addedgenerate_caption
    • Changedgenerate_image1 field changed
      • changedInput schema / properties / model / default
        Previous value: -"nano-banana-pro"New value: +"gemini-3-pro"
    • Addedget_account_health
    • Addedget_analytics_summary
    • Addedget_campaign
    • Addedget_me
    • Addedget_webhook
    • Addedlist_campaigns
    • Addedlist_posts_advanced
    • Addedlist_webhooks
    • Addedretry_failed_posts
    • Addedschedule_post
    • Addedtest_webhook
    • Addedupdate_campaign
    • Changedupdate_post1 field changed
      • changedInput schema / properties / media_ids / description
        Previous value: -"New array of media UUIDs to attach"New value: +"New array of media UUIDs to attach. Get these from upload_media_from_url or generate_image."
    • Addedupdate_webhook
    • Addedupload_media_from_url
  2. 13 tool updatesv1.1.1
    • First observedcreate_post
    • First observeddelete_media
    • First observeddelete_post
    • First observedgenerate_image
    • First observedget_account
    • First observedget_media
    • First observedget_post
    • First observedget_post_results
    • First observedlist_accounts
    • First observedlist_media
    • First observedlist_posts
    • First observedretry_failed_post
    • First observedupdate_post

TDQS

A4.1/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose, with detailed descriptions that eliminate ambiguity. Tools like list_posts and list_posts_advanced are differentiated by their filtering capabilities, and generate_caption vs generate_image target different modalities. No two tools could be easily confused.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., create_post, delete_campaign, get_account_health). Even multi-word names like retry_failed_posts and upload_media_from_url adhere to this pattern. The naming is predictable and easy to understand.

Tool Count4/5

33 tools is on the higher side for an MCP server, but the domain (social media management with posts, campaigns, media, webhooks, analytics, AI features) justifies the count. Each tool serves a specific function without redundancy. A slight reduction could be possible but the current count is still reasonable.

Completeness5/5

The tool surface covers all major operations for the domain: full CRUD for posts, campaigns, webhooks, and media; plus health checks, analytics, AI generation, bulk operations, and workflow support (draft/review/schedule). There are no obvious gaps; everything needed to manage a social media workflow is present.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to publish, schedule, and manage social media posts across X (Twitter), Instagram, and Threads through the Sociona API. Supports immediate posting, scheduling, analytics, and account management with natural language commands.
    6
    38
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
    11
    418
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage social media through Sooshie, including scheduling posts, generating captions, managing accounts, and more via natural language.
    28
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/posteverywhere/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server