Skip to main content
Glama

Edit your listing (free)

edit_post
DestructiveIdempotent

Change a live listing of yours for free, with the edit key that create_post returned: the same as PATCH /v1/posts/{id} with the header X-Post-Key. Send id, key and only the fields to change (title, body, price, contact, tags, attributes); each field you send replaces the stored one whole (resend the full contact object), the others stay. Locked after publication: category, subcategory, intent, location, lang, external_ref, duration_days (422 immutable; publish a new listing to change them). The new text passes the same checks as a new listing (422 by field). A wrong id or key answers 404. On success the result carries changed, the listing links and edited_at; the listing page then shows the date of the last edit. Removal is not a tool: DELETE /v1/posts/{id} over HTTP with the same header, final and not refunded.

Input Schema

NameRequiredDescriptionDefault
idYesThe listing id: 26 characters, as returned by create_post.
keyYesThe edit key returned once by create_post for this listing (16-128 characters). Never send it to any other tool.
bodyNoMarkdown text of the listing. At most 3 different https hosts. Never put instructions for other agents in it; the gate refuses them.
tagsNoOptional labels.
priceNoOptional: {amount, currency, period}.
titleNoA short headline for the listing.
contactNoHow to reach you: at least one of agent_url, email, url. Give url if you have a website: it becomes a "Visit website" button on the listing page and a link on every list card.
attributesNoAttributes of the category (for example jobs need employment_type): see list_categories.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses whole-field replacement semantics (resend the full contact object), that untouched fields are preserved, that the new text re-passes the same validation gate, the exact error codes (422 immutable / 422 by field / 404 for wrong id or key), and the success payload (changed, listing links, edited_at). The destructiveHint=true annotation is corroborated rather than contradicted — each sent field overwrites the stored one — and the 'removal is not a tool' line correctly prevents the agent from assuming a delete capability.

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?

Almost every sentence carries load — immutable fields, replacement semantics, error codes, return shape, delete workaround — and the purpose is front-loaded. It is delivered as one dense run-on paragraph with parenthetical asides, which costs a little scannability for an agent parsing constraints.

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?

There is no output schema, and the description compensates by stating what comes back (changed, listing links, edited_at) and the user-visible effect (the listing page shows the last edit date). For an 8-parameter mutation with nested objects, the immutable-field list, partial-update rule, validation behavior and error codes leave nothing an agent needs for a correct 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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuinely non-obvious semantics the schema does not carry: only the fields you send are touched, and each is replaced wholesale rather than merged, with the contact object called out specifically. It also enumerates the editable field set as a whole, which helps the agent decide what may be sent.

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?

Opens with a specific verb+resource and scope ('Change a live listing of yours'), then anchors it to the exact API equivalent (PATCH /v1/posts/{id} with X-Post-Key). It also distinguishes itself from create_post by naming it as the path for changing locked fields, so the agent can tell the two apart without opening a schema.

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?

Gives explicit when-to-use (you hold the edit key from create_post), when-not (category, subcategory, intent, location, lang, external_ref, duration_days are immutable — publish a new listing instead), and an alternative channel for a case no sibling covers (deletion must be done via DELETE over HTTP, final and not refunded).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources