AutoPoster AI
Server Details
Multi-platform social media post creation, scheduling, and publishing.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 14 tools
The three media-ingestion tools (autoposter_upload_media, autoposter_get_media_upload_url, autoposter_create_upload_link) heavily overlap and rely on subtle client-capability distinctions to tell apart. autoposter_get_post and autoposter_get_post_status also overlap, since both return post state and live platform links/receipts.
The toolset mostly follows a clean autoposter_verb_noun pattern (draft_post, schedule_post, list_media, get_rules), which is predictable and readable. The lone get_profile tool breaks the namespace and prefix convention, a minor deviation.
14 tools is well within the reasonable range for a social-publishing server and each broadly maps to a workflow step. Slightly heavy given the redundant media-upload trio, but not excessive.
The surface covers the full post lifecycle (draft, schedule, publish, delete, get, list), plus accounts, media, and rules. There is no explicit update/edit-post tool for revising existing drafts, a minor gap agents can work around by recreating posts.
Available Tools
14 toolsautoposter_create_upload_linkCreate Image Upload LinkAInspect
Creates a short-lived link where the user can upload images from their device into the Auto Poster media library. Use this when the user wants to attach an image that exists only in the chat or on their device (no public URL) and your client cannot send file contents. Give the link to the user, wait until they say the upload is done, then call autoposter_list_media (newest first) and attach the image with mediaIds in autoposter_draft_post or autoposter_schedule_post.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| uploadUrl | Yes | Link to give to the user. |
| instructions | Yes | What to tell the user and what to do next. |
| maxFileSizeMb | No | Maximum size per image in MB. |
| expiresInMinutes | Yes | Minutes until the link expires. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/destructive/openWorld, so the bar is lower. The description adds meaningful behavioral context beyond that: the link is 'short-lived,' it must be handed to the user, the agent should wait for confirmation, and then it should verify via autoposter_list_media before attaching. This is genuinely useful operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action before usage guidance and the follow-up workflow. Every sentence earns its place. The final sentence is dense but functional rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not required. With no parameters and annotations covering the safety profile, the definition supplies what's needed to invoke and sequence the call. The main remaining gap is explicit differentiation from the similarly named get_media_upload_url sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object, 100% coverage), so the baseline is 4. There are no parameter semantics for the description to clarify, and it adds nothing that could mislead about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Creates a short-lived link where the user can upload images ... into the Auto Poster media library.' This is clear and non-tautological. However, it does not distinguish itself from the close siblings autoposter_get_media_upload_url and autoposter_upload_media, so an agent must still infer which is the right one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a precise trigger condition: use it 'when the user wants to attach an image that exists only in the chat or on their device (no public URL) and your client cannot send file contents.' It even prescribes the follow-up workflow. It stops short of explicitly naming the alternative tools (autoposter_upload_media / autoposter_get_media_upload_url) to contrast against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_delete_postDelete PostADestructiveInspect
Deletes or cancels a draft, scheduled, or pending post by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The post ID to delete or cancel. |
Output Schema
| Name | Required | Description |
|---|---|---|
| postId | Yes | Deleted post ID. |
| message | No | Confirmation message. |
| success | Yes | Whether the post was deleted successfully. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates state. The description adds genuinely useful scope (draft/scheduled/pending only, and that it can 'cancel' rather than only hard-delete), but says nothing about irreversibility, permissions, or what happens to a post mid-publish.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb, with the eligible-state qualifier and key attached compactly. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. The description covers the resource and eligible states; only minor gaps remain, such as whether cancelling a scheduled post is recoverable and what occurs if the post is already published.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single postId parameter, and the description adds nothing beyond 'by ID' — no format, prefix, or accepted-ID-source detail. Baseline 3 applies when the schema already carries the full parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair ('deletes or cancels') and the resource ('draft, scheduled, or pending post') plus the lookup key ('by ID'). It scopes which post states are eligible, but never names a sibling tool, so an agent must infer the boundary against autoposter_publish_draft or autoposter_get_post on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the state list: draft/scheduled/pending posts are deletable, which weakly signals that published posts are not. There is no explicit when-to-use versus when-not, no alternative tool named for other cases, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_draft_postCreate Post DraftAInspect
Creates a draft post for human review. If API key lacks direct publish, post is saved as pending_approval and notifications are sent to workspace approvers. Accepts mediaUrls (public URLs) or files (AI-generated images or uploaded files from chat up to 100MB). For large video files over 100MB, tell the user to provide a direct public file URL or use autoposter_get_media_upload_url.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Optional files generated in chat or uploaded by user to attach to the post. | |
| content | Yes | Base text content of the post. | |
| mediaIds | No | Optional list of existing media IDs from workspace media library (from autoposter_list_media). | |
| postType | No | Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants. | |
| mediaUrls | No | Optional public image or video URLs to attach (e.g. from autoposter_upload_media). | |
| accountIds | Yes | List of account IDs from autoposter_list_accounts. | |
| platformContent | No | Optional platform-specific content overrides (e.g. twitter, linkedin). |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Status message indicating draft creation. |
| draftPosts | Yes | List of created draft posts per account. |
| instructions | No | Instructions for approving or viewing the draft. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond annotations: the approval workflow (pending_approval + notifications to approvers), media size limit (100MB), and the fallback to a public URL. Annotations cover safety (readOnlyHint=false, destructiveHint=false, openWorldHint=true), so the description's role is to add workflow detail, which it does well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, well front-loaded: core behavior first, then approval fallback, then media rules, then escalation path. Only minor redundancy in restating the URL alternative, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers creation behavior, approval flow, media constraints, and escalation for large files. An output schema exists, so return values need not be described. For a 7-param tool with nested objects, it leaves minor gaps (e.g., platformContent override details) but is otherwise sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3; the description adds practical semantics by clarifying mediaUrls' 100MB limit and the files alternative ('AI-generated images or uploaded files from chat'), which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Creates a draft post') and distinguishes from siblings like autoposter_publish_draft by emphasizing human review. The pending_approval fallback and media-acceptance rules make the intent unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes large-media cases to autoposter_get_media_upload_url, and explains the alternative path (public URL) when the 100MB limit is exceeded. It also clarifies when the post becomes pending_approval, giving 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.
autoposter_get_media_upload_urlGet Direct S3 Upload URLAInspect
Only for clients that can perform an HTTP PUT or multipart POST (not chat-only clients such as Gemini): if you cannot make that request yourself, use autoposter_create_upload_link instead. Generates a presigned S3 upload URL for direct, high-speed upload of videos or images up to 5GB without size limits or timeouts. Returns direct PUT url, POST upload fields, and public CDN URL.
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | Name of the file including extension (e.g. 'promo_video.mp4', 'photo.jpg'). | |
| contentType | Yes | MIME type of the media (e.g. 'video/mp4', 'image/jpeg', 'image/png'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | S3 object key for the media file. |
| cdnUrl | Yes | Public CDN URL after upload. |
| success | Yes | Whether the upload URL was successfully created. |
| uploadPost | No | Presigned POST fields if using multipart upload. |
| directPutUrl | Yes | Presigned S3 PUT URL for direct upload. |
| instructions | No | Instructions for completing the direct upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine operational context the annotations cannot: a 5GB ceiling, no server-side size limits or timeouts, and the shape of what comes back (PUT url, POST upload fields, public CDN URL). It does not mention auth/credential requirements for the presigned URL, which would be the next useful detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, but it is correctly front-loaded: the disqualifying precondition and the alternative come before the output details, which is exactly the order an agent needs for routing. The trailing enumeration of return values is slightly list-like but each item earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain returns, and it still summarises them. Combined with the routing precondition and size/timeout characteristics, an agent has enough to select and invoke correctly. Only the credential/auth expectation for the presigned URL is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only fileName and contentType, both fully documented in the schema with examples. The description adds no parameter-level detail beyond the tool's general purpose, so the baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Generates a presigned S3 upload URL for direct, high-speed upload of videos or images'. It also names the sibling it is not (autoposter_create_upload_link), so the agent can distinguish the two upload paths without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The first clause is an explicit precondition: only for clients that can perform an HTTP PUT or multipart POST, not chat-only clients such as Gemini. It names the alternative tool and the exact condition that selects it, which is about as clear as routing guidance gets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_get_postGet Post DetailsBRead-onlyInspect
Retrieves a single post by ID including its state (drafts, pending_approval, queued, posted) and live link receipts.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The post ID to fetch. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Post ID. |
| state | Yes | Current post state. |
| postLink | No | Live platform URL link if posted. |
| postedAt | No | ISO timestamp when post was published. |
| errorMessage | No | Failure error message if any. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so safety is covered. The description adds the post state vocabulary and the presence of live link receipts, which is modest added context. It says nothing about behavior for missing/invalid IDs or non-owned posts, so it is adequate rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core operation comes first and the returned facets follow compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and read-only annotations carry the safety profile; the single required param is fully documented. The only real gap is sibling disambiguation against autoposter_get_post_status, which leaves the definition slightly short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already documents postId fully. The phrase 'by ID' restates the schema without adding format, source, or validation semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieves a single post by ID') plus the returned facets (state values, live link receipts), so the agent knows exactly what it gets. However, it never differentiates itself from the sibling autoposter_get_post_status, and the enumerated state values overlap with what that sibling likely does, which could cause ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no condition selecting this over autoposter_get_post_status or autoposter_list_posts, and no stated prerequisites. The agent must infer the use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_get_post_statusGet Post StatusARead-onlyInspect
Checks delivery status of a post and returns live platform links/receipts once published.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The post ID to query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Post ID. |
| state | Yes | Current status: drafts, pending_approval, queued, posted, or failed. |
| postLink | No | Live URL link to the published post on the platform. |
| postedAt | No | ISO timestamp when the post was published. |
| errorMessage | No | Error message if post failed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the safety profile is covered. The description adds useful timing context ('once published') for when links/receipts become available, but says nothing about caching, freshness, or polling behavior for posts still in flight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. The operation and the result are both stated up front, and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, annotations covering safety, and a fully documented single required parameter, the definition supplies enough for an agent to call it correctly. The only mild gap is that it does not clarify behavior for pending/failed posts, which would have been helpful for a status-check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage ('The post ID to query.'), so the schema fully documents it. The description adds no extra meaning about the postId format or origin, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('checks delivery status of a post') and adds the return payload ('live platform links/receipts once published'). It implicitly distinguishes itself from autoposter_get_post by focusing on delivery/publication state, but never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for post-delivery checks, but there is no explicit when-to-use, when-not-to-use, or alternative routing versus autoposter_get_post or autoposter_list_posts. No prerequisites or context conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_get_rulesGet Platform Rules and LimitsARead-onlyInspect
Returns platform publishing constraints including character limits, media format requirements, and guidelines.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| guidelines | Yes | Publishing guidelines and tips. |
| postFormats | No | Supported post format variants per platform (post, reel, story, shorts). |
| captionLimits | Yes | Character limits per platform. |
| mediaRequirements | Yes | Platform media requirements and constraints. |
| automatedSafeguards | No | Automated media and caption processing safeguards. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that the payload is constraint metadata, but says nothing about freshness (whether platform rules are live or cached) or scope across platforms. With annotations carrying the safety profile, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the resource front-loaded and no filler. 'Guidelines' is mildly vague but the earlier enumeration carries the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be spelled out, and there are no parameters to document. For a simple read-only getter this is nearly complete; only the absence of when-to-call guidance leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; baseline 4 applies. The description correctly implies a parameterless, fetch-everything call rather than suggesting a platform filter that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Returns') and a well-scoped resource ('platform publishing constraints') and enumerates the content types (character limits, media format requirements, guidelines). It is clearly distinct from the write/upload/media siblings, though it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this should be consulted before posting or uploading to check limits, but the description never states when to call it or what it replaces. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_list_accountsList Connected AccountsARead-onlyInspect
Lists all connected social media accounts (X, LinkedIn, Instagram, TikTok, YouTube, Threads, Bluesky, Pinterest, Facebook) in the current Autoposter workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| accounts | Yes | List of active connected accounts in the workspace. |
| timezone | No | Default timezone for the workspace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine value by scoping results to the 'current Autoposter workspace', which the annotations do not convey. It stops short of describing result shape, but an output schema exists to carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that identifies the resource, its platform coverage, and its workspace scope with no filler. Nothing in it is redundant with the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with an output schema and full annotation coverage, the description supplies everything an agent needs to select and call it. Return values are legitimately delegated to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline of 4 applies. The description correctly avoids inventing filters that the schema does not support.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lists') and resource ('connected social media accounts') with an explicit scope ('current Autoposter workspace') and enumerates the supported platforms. This clearly separates it from sibling list tools such as autoposter_list_posts and autoposter_list_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the discovery step for obtaining account handles/IDs before drafting or scheduling posts. There is no explicit when-to-use guidance, no mention of prerequisites, and no named alternative, but for a zero-parameter read tool the space of alternatives is narrow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_list_mediaList Media LibraryBRead-onlyInspect
Lists media files (images and videos) stored in the workspace media library with public CDN URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional filter by media type ('image' or 'video'). | |
| limit | No | Maximum number of media items to return (default 20, max 50). |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of media items returned. |
| media | Yes | List of media items in workspace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results carry public CDN URLs, a useful behavioral detail, but says nothing about pagination behavior or the workspace scoping beyond 'workspace media library'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and the distinguishing return detail (public CDN URLs) come first and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with an output schema and full parameter documentation, the description covers what is needed. It omits any note on result ordering or pagination beyond the limit param, but the output schema carries return-shape detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the type enum, limit default (20), and max (50) are all documented in the schema itself. The description adds no parameter semantics beyond what the schema provides, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (lists) and resource (media files in the workspace media library), plus the fields returned (images/videos with public CDN URLs). It is clearly distinct from upload-oriented siblings, but it never explicitly differentiates itself from autoposter_upload_media or autoposter_get_media_upload_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as autoposter_get_media_upload_url for obtaining an upload target. The agent must infer usage purely from the one-line purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_list_postsList PostsARead-onlyInspect
Lists posts in the workspace. Supports filtering by state ('drafts', 'scheduled', 'queued', 'posted', 'failed', 'pending_approval'), caption text search, and limit.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of posts to return (default 20, max 50). | |
| state | No | Optional filter by post state. | |
| search | No | Optional keyword to search in post captions. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of posts returned. |
| posts | Yes | List of matching posts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds only that filtering dimensions exist, without disclosing pagination behavior, result ordering, or how empty results are signaled. That is acceptable but thin against an already-safe read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core scope front-loaded and no filler. The state enumeration partially duplicates the schema enum, which is mild redundancy but not bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not explain return values, and its coverage of the three optional filters aligns with the schema. For a simple zero-required-parameter list tool this is essentially sufficient; only the sibling routing guidance is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents limit (default 20, max 50), state, and search. The description restates the filterable fields and the state values, adding no format, default, or matching semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists posts in the workspace') and enumerates the dimensions it can filter on, so the agent knows exactly what operation it performs. It does not, however, differentiate itself from siblings like autoposter_get_post or autoposter_get_post_status, which an agent must infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the filtering capabilities (browse/filter posts in bulk), but there is no explicit statement of when to choose this over autoposter_get_post for a single post or get_post_status. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_publish_draftPublish Draft PostAInspect
Approves and immediately publishes an existing draft or pending post. Requires an API key with direct publish permission.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The post ID returned by autoposter_draft_post. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | Target status ('queued' or 'scheduled'). |
| message | No | Status message or confirmation. |
| success | Yes | Whether the draft was approved and queued/published. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description adds meaningful context annotations lack: the required auth scope (direct publish permission) and that publication is immediate and follows an approval step. It stops short of stating reversibility or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste; the publish action is front-loaded and the auth requirement follows. Nothing extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation tool with an output schema and non-destructive annotations, the description covers purpose and the key auth prerequisite. A note on what happens to the draft afterward or error conditions would round it out, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter (postId) is already fully documented as 'the post ID returned by autoposter_draft_post.' The description adds nothing beyond that, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('approves and immediately publishes') and resource ('existing draft or pending post'). The word 'immediately' implicitly distinguishes it from schedule_post, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a precondition (API key with direct publish permission) but no explicit when-to-use-vs-alternatives guidance. The 'immediately' phrasing hints at the schedule_post distinction, but the agent must infer that scheduling a future post uses a different tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_schedule_postSchedule PostAInspect
Schedules a post for a future date/time. Automatically converts local time using workspace/user timezone into UTC. Accepts mediaUrls (public URLs) or files (AI-generated images or uploaded files from chat up to 100MB). For large video files over 100MB, tell the user to provide a direct public file URL or use autoposter_get_media_upload_url.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Optional files generated in chat or uploaded by user to attach to the post. | |
| content | Yes | Base text content of the post. | |
| mediaIds | No | Optional list of existing media IDs from workspace media library (from autoposter_list_media). | |
| postType | No | Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants. | |
| timezone | No | Optional IANA timezone (e.g. 'America/New_York'). If omitted, defaults to workspace or user timezone. | |
| mediaUrls | No | Optional public image or video URLs to attach (e.g. from autoposter_upload_media). | |
| accountIds | Yes | List of account IDs from autoposter_list_accounts. | |
| scheduledAt | Yes | Scheduled ISO timestamp or local datetime string, e.g. '2026-10-05T14:00:00'. | |
| platformContent | No | Optional platform-specific content overrides (e.g. twitter, linkedin). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | Status of the scheduled post ('scheduled' or 'pending_approval'). |
| message | No | Status message. |
| success | Yes | Whether the post was successfully scheduled. |
| timezone | No | Timezone applied. |
| scheduledAt | Yes | Scheduled time in UTC. |
| scheduledPosts | Yes | List of scheduled posts per target account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish the write/mutation profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true). The description adds genuinely useful non-obvious behavior: automatic local-to-UTC conversion via workspace/user timezone, the 100MB attachment ceiling, and a fallback path for oversized files. Return values are covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core scheduling action, then timezone behavior, then media handling. Dense and mostly waste-free, though the media sentence packs several distinct concepts together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 params, full schema coverage, and an output schema, the description supplies the operationally important extras: timezone conversion, media size limits, and the oversized-file escape hatch. It stops short of documenting platform applicability or permission requirements, but the enum hint and annotations cover most of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, so the structured fields document themselves. The description nonetheless adds cross-parameter meaning by clarifying the three media paths (mediaUrls public URLs, files for chat-generated/uploaded media, mediaIds from the library) and the size constraint, which the schema does not state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Schedules a post for a future date/time'), which is clear and actionable. It implicitly differs from siblings like draft_post and publish_draft, but never explicitly contrasts them, leaving the agent to infer which lifecycle stage this represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit conditional alternative for the >100MB video case ('use autoposter_get_media_upload_url'), which is strong. However, it gives no guidance on when to schedule versus draft or publish, so the primary routing decision among sibling tools is left unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autoposter_upload_mediaUpload Media FileAInspect
Uploads an image or video to Auto Poster media library. Accepts files generated in ChatGPT (e.g. DALL-E images in /mnt/data/), uploaded files, or public image URLs. Direct chat download limit is 100MB. For larger videos or files (>100MB), tell the user to provide a direct public file URL or use autoposter_get_media_upload_url for direct S3 upload up to 5GB. If the image exists only in the chat or on the user's device and cannot be sent here, use autoposter_create_upload_link instead.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional public image or video URL or data URI to upload into media library. | |
| file | No | File object provided by ChatGPT for AI-generated images or uploaded files. | |
| name | No | Optional display name or title for the media file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | Public URL of the media file. |
| name | No | Display name or file name. |
| type | No | Media type ('image' or 'video'). |
| usage | No | Guidance on using the media item in posts. |
| mediaId | Yes | ID of the newly uploaded media item. |
| message | No | Upload status message. |
| mediaUrl | No | Public URL of the media file to pass in posts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare write (readOnlyHint=false), open-world, and non-destructive, so the safety profile is already covered. The description adds genuinely useful behavioral context beyond that: the 100MB direct-download ceiling, the 5GB S3 path, and the source-type constraints that determine whether the call will succeed. It does not mention auth requirements or failure modes, which keeps it short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main capability and the size ceiling are front-loaded, then the two escape hatches follow in descending order of relevance. Every sentence carries a routing decision; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Between the accepted sources, the size limits, and the two named alternatives, an agent has everything needed to decide whether to call this tool and how to escalate when it cannot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both 'url' and 'file' are already documented in the schema, including the data-URI and ChatGPT file-object semantics. The description's source list (DALL-E output, uploads, public URLs) largely restates that, adding only the size context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Uploads an image or video to Auto Poster media library') and immediately scopes the accepted input sources. It explicitly distinguishes itself from the two most confusable siblings, autoposter_get_media_upload_url and autoposter_create_upload_link, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use conditions: use this tool for ChatGPT-generated files, uploaded files, or public URLs up to 100MB; use autoposter_get_media_upload_url for >100MB / S3 uploads up to 5GB; use autoposter_create_upload_link when the asset exists only in chat or on the user's device. Alternatives are named with the exact condition that selects each.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyInspect
Return the profile represented by this request's authenticated credentials. The opaque id is unique within this app and remains unchanged across token refresh, reconnection, and display-metadata changes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Opaque profile identifier, unique within this app and unchanged across token refresh, reconnection, and display-metadata changes. Never reassigned to another profile. |
| name | No | Display name for the authenticated profile. |
| nickname | No | A useful label that helps users distinguish connected profiles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value beyond that: the identifier is opaque and stable across token refresh, reconnection, and display-metadata changes, which tells the agent it can safely cache the id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action is front-loaded in the first sentence, and the second earns its place by documenting id stability properties an agent would otherwise not know.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be described, and the zero-param signature needs no explanation. The description covers purpose and a key behavioral property of the returned id; only minor auth-context detail is absent, which is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate, and it correctly does not invent parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Return the profile represented by this request's authenticated credentials.' The scope (the caller's own profile) is unambiguous, and the sibling set consists entirely of unrelated autoposter_* tools, so no in-family differentiation is required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the description ('this request's authenticated credentials'), making it self-evident this is the way to fetch the current identity. However, there is no explicit when-to-use statement, no mention of alternatives, and no stated prerequisites, leaving usage to inference.
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.
3 tool updates
- Changed
autoposter_draft_post2 fields changed- added
Input schema / properties / postTypeAdded value: +{ + "description": "Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants.", + "enum": [ + "post", + "reel", + "story", + "shorts" + ], + "type": "string" +} - added
Output schema / properties / draftPosts / items / properties / postTypeAdded value: +{ + "description": "Target format ('post', 'reel', 'story', or 'shorts').", + "type": "string" +}
- Changed
autoposter_get_rules1 field changed- added
Output schema / properties / postFormatsAdded value: +{ + "description": "Supported post format variants per platform (post, reel, story, shorts).", + "type": "object" +}
- Changed
autoposter_schedule_post2 fields changed- added
Input schema / properties / postTypeAdded value: +{ + "description": "Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants.", + "enum": [ + "post", + "reel", + "story", + "shorts" + ], + "type": "string" +} - added
Output schema / properties / scheduledPosts / items / properties / postTypeAdded value: +{ + "description": "Target format ('post', 'reel', 'story', or 'shorts').", + "type": "string" +}
1 tool update
- Changed
get_profile1 field changed- removed
Output schema / properties / emailRemoved value: -{ - "description": "Email address for display; not used as the profile identity.", - "type": "string" -}
1 tool update
- Added
autoposter_create_upload_link
12 tool updates
- Changed
autoposter_delete_post1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "description": "Confirmation message.", + "type": "string" + }, + "postId": { + "description": "Deleted post ID.", + "type": "string" + }, + "success": { + "description": "Whether the post was deleted successfully.", + "type": "boolean" + } + }, + "required": [ + "success", + "postId" + ], + "type": "object" +}
- Changed
autoposter_draft_post1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "draftPosts": { + "description": "List of created draft posts per account.", + "items": { + "properties": { + "accountName": { + "description": "Target account name.", + "type": "string" + }, + "id": { + "description": "Draft post ID.", + "type": "string" + }, + "platform": { + "description": "Target social media platform.", + "type": "string" + }, + "scheduledAt": { + "description": "Scheduled timestamp if any.", + "type": "string" + }, + "status": { + "description": "Current post status (drafts or pending_approval).", + "type": "string" + } + }, + "required": [ + "id", + "platform", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "instructions": { + "description": "Instructions for approving or viewing the draft.", + "type": "string" + }, + "message": { + "description": "Status message indicating draft creation.", + "type": "string" + } + }, + "required": [ + "message", + "draftPosts" + ], + "type": "object" +}
- Changed
autoposter_get_media_upload_url1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "cdnUrl": { + "description": "Public CDN URL after upload.", + "type": "string" + }, + "directPutUrl": { + "description": "Presigned S3 PUT URL for direct upload.", + "type": "string" + }, + "instructions": { + "description": "Instructions for completing the direct upload.", + "type": "string" + }, + "key": { + "description": "S3 object key for the media file.", + "type": "string" + }, + "success": { + "description": "Whether the upload URL was successfully created.", + "type": "boolean" + }, + "uploadPost": { + "description": "Presigned POST fields if using multipart upload.", + "type": "object" + } + }, + "required": [ + "success", + "key", + "cdnUrl", + "directPutUrl" + ], + "type": "object" +}
- Changed
autoposter_get_post1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "errorMessage": { + "description": "Failure error message if any.", + "type": "string" + }, + "id": { + "description": "Post ID.", + "type": "string" + }, + "postLink": { + "description": "Live platform URL link if posted.", + "type": "string" + }, + "postedAt": { + "description": "ISO timestamp when post was published.", + "type": "string" + }, + "state": { + "description": "Current post state.", + "type": "string" + } + }, + "required": [ + "id", + "state" + ], + "type": "object" +}
- Changed
autoposter_get_post_status1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "errorMessage": { + "description": "Error message if post failed.", + "type": "string" + }, + "id": { + "description": "Post ID.", + "type": "string" + }, + "postLink": { + "description": "Live URL link to the published post on the platform.", + "type": "string" + }, + "postedAt": { + "description": "ISO timestamp when the post was published.", + "type": "string" + }, + "state": { + "description": "Current status: drafts, pending_approval, queued, posted, or failed.", + "type": "string" + } + }, + "required": [ + "id", + "state" + ], + "type": "object" +}
- Changed
autoposter_get_rules1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "automatedSafeguards": { + "description": "Automated media and caption processing safeguards.", + "type": "object" + }, + "captionLimits": { + "description": "Character limits per platform.", + "type": "object" + }, + "guidelines": { + "description": "Publishing guidelines and tips.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mediaRequirements": { + "description": "Platform media requirements and constraints.", + "type": "object" + } + }, + "required": [ + "captionLimits", + "mediaRequirements", + "guidelines" + ], + "type": "object" +}
- Changed
autoposter_list_accounts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "accounts": { + "description": "List of active connected accounts in the workspace.", + "items": { + "properties": { + "id": { + "description": "Account ID.", + "type": "string" + }, + "name": { + "description": "Account display name.", + "type": "string" + }, + "platform": { + "description": "Platform name (e.g. twitter, linkedin, instagram).", + "type": "string" + }, + "username": { + "description": "Account username or handle.", + "type": "string" + } + }, + "required": [ + "id", + "platform", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "timezone": { + "description": "Default timezone for the workspace.", + "type": "string" + } + }, + "required": [ + "accounts" + ], + "type": "object" +}
- Changed
autoposter_list_media1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "count": { + "description": "Number of media items returned.", + "type": "number" + }, + "media": { + "description": "List of media items in workspace.", + "items": { + "properties": { + "id": { + "description": "Media ID.", + "type": "string" + }, + "name": { + "description": "File name or title.", + "type": "string" + }, + "thumbnailUrl": { + "description": "Thumbnail image URL if available.", + "type": "string" + }, + "type": { + "description": "Media type ('image' or 'video').", + "type": "string" + }, + "url": { + "description": "Public URL of media file.", + "type": "string" + } + }, + "required": [ + "id", + "name", + "type", + "url" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "count", + "media" + ], + "type": "object" +}
- Changed
autoposter_list_posts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "count": { + "description": "Number of posts returned.", + "type": "number" + }, + "posts": { + "description": "List of matching posts.", + "items": { + "properties": { + "accountId": { + "description": "Target account ID.", + "type": "string" + }, + "createdAt": { + "description": "Creation ISO timestamp.", + "type": "string" + }, + "errorMessage": { + "description": "Failure reason if failed.", + "type": "string" + }, + "id": { + "description": "Post ID.", + "type": "string" + }, + "postLink": { + "description": "Live link receipt if posted.", + "type": "string" + }, + "postedAt": { + "description": "Publish time if posted.", + "type": "string" + }, + "scheduledAt": { + "description": "Scheduled time if scheduled.", + "type": "string" + }, + "state": { + "description": "Current post state.", + "type": "string" + }, + "text": { + "description": "Post caption or content.", + "type": "string" + } + }, + "required": [ + "id", + "state" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "count", + "posts" + ], + "type": "object" +}
- Changed
autoposter_publish_draft1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "description": "Status message or confirmation.", + "type": "string" + }, + "status": { + "description": "Target status ('queued' or 'scheduled').", + "type": "string" + }, + "success": { + "description": "Whether the draft was approved and queued/published.", + "type": "boolean" + } + }, + "required": [ + "success", + "status" + ], + "type": "object" +}
- Changed
autoposter_schedule_post1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "description": "Status message.", + "type": "string" + }, + "scheduledAt": { + "description": "Scheduled time in UTC.", + "type": "string" + }, + "scheduledPosts": { + "description": "List of scheduled posts per target account.", + "items": { + "properties": { + "accountName": { + "description": "Target account name.", + "type": "string" + }, + "id": { + "description": "Post ID.", + "type": "string" + }, + "platform": { + "description": "Target platform.", + "type": "string" + }, + "scheduledAt": { + "description": "Scheduled timestamp.", + "type": "string" + }, + "status": { + "description": "Post status.", + "type": "string" + } + }, + "required": [ + "id", + "platform", + "status", + "scheduledAt" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "Status of the scheduled post ('scheduled' or 'pending_approval').", + "type": "string" + }, + "success": { + "description": "Whether the post was successfully scheduled.", + "type": "boolean" + }, + "timezone": { + "description": "Timezone applied.", + "type": "string" + } + }, + "required": [ + "success", + "status", + "scheduledAt", + "scheduledPosts" + ], + "type": "object" +}
- Changed
autoposter_upload_media1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "mediaId": { + "description": "ID of the newly uploaded media item.", + "type": "string" + }, + "mediaUrl": { + "description": "Public URL of the media file to pass in posts.", + "type": "string" + }, + "message": { + "description": "Upload status message.", + "type": "string" + }, + "name": { + "description": "Display name or file name.", + "type": "string" + }, + "type": { + "description": "Media type ('image' or 'video').", + "type": "string" + }, + "url": { + "description": "Public URL of the media file.", + "type": "string" + }, + "usage": { + "description": "Guidance on using the media item in posts.", + "type": "string" + } + }, + "required": [ + "mediaId", + "url" + ], + "type": "object" +}
13 tool updates
- First observed
autoposter_delete_post - First observed
autoposter_draft_post - First observed
autoposter_get_media_upload_url - First observed
autoposter_get_post - First observed
autoposter_get_post_status - First observed
autoposter_get_rules - First observed
autoposter_list_accounts - First observed
autoposter_list_media - First observed
autoposter_list_posts - First observed
autoposter_publish_draft - First observed
autoposter_schedule_post - First observed
autoposter_upload_media - First observed
get_profile
Publisher details
- Operator
- Auto Poster AI
- Operator website
- https://autoposter.ai
- Vendor relationship
- First-party
- Documentation
- https://agent.autoposter.ai/docs
- Trust center
- Unknown
- Restrictions
- Unknown
Related MCP Connectors
Schedule, publish and manage social media posts across platforms.
- FeedlioOAuthio.feedlio
Schedule and publish social media posts to Facebook, Instagram, LinkedIn, TikTok and YouTube.
Schedule and publish social posts across platforms, with drafts, media uploads and analytics.
Social media management, multi-platform publishing, AI generation, and cross-channel analytics.
Related MCP Servers
AlicenseAqualityBmaintenanceSchedule, publish, and measure social posts on Facebook, Instagram, TikTok, LinkedIn, Threads, Pinterest, and X for one brand or many.34MIT- AlicenseNot gradedqualityBmaintenanceEnables posting to multiple social media platforms (X, LinkedIn, Facebook, Instagram, etc.) via a unified API, handling OAuth, media, and scheduling for each network.AGPL 3.0
- AlicenseBqualityCmaintenanceConnects to multiple social media platforms (Twitter/X, Mastodon, LinkedIn), allowing users to create and publish content across platforms through natural language instructions.314 npm23MIT
- -
Glama MCP Gateway
Add one secure layer between your agents and this server.