Skip to main content
Glama
MAASAI-Labs

X Marketplace Seller MCP

by MAASAI-Labs

Post listing to X (requires confirm + your token)

post_listing

Publish listing text to X using the seller's OAuth 2.0 token; omit confirm to preview the exact post. Attach photos separately in X.

Instructions

Post the listing's text to X using the END USER's own OAuth 2.0 user token (X_USER_ACCESS_TOKEN, scope tweet.write). Without confirm:true returns the exact post preview. Photos are not uploaded by this tool; attach them in the X app or post manually.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNo
confirmNo
listingIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) by disclosing that it uses the END USER's own OAuth token with scope tweet.write, that confirm:true is required to actually publish, and that photos are not uploaded. These are real operational constraints an agent could not infer from the structured fields.

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 tight sentences, front-loaded with the action and the credential requirement, with the preview behavior and photo limitation following in priority order. No filler.

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 no-output-schema mutation tool, the description covers auth, the confirm gate, and a known limitation. It omits failure modes (X API rate limits, the 280-character platform limit versus the 1000-character schema cap) and whether a published post can be undone, which matters given openWorldHint=true.

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 0%, so the description must carry parameter meaning. It explains confirm well (preview vs. live post), but leaves 'text' (maxLength 1000) and 'listingId' unexplained — notably whether 'text' overrides the listing's stored text or whether it is required at all.

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 a specific verb and resource ('Post the listing's text to X') plus the credential context, which cleanly separates it from siblings like send_dm, create_listing, and draft_buyer_reply. The title and first sentence together make the operation unambiguous.

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?

Describes the two-phase flow explicitly: calling without confirm:true returns an exact preview, and confirm:true performs the post. That tells the agent when to use the tool in each mode, though it never names an alternative tool or states when not to use this one.

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