Skip to main content
Glama
thenavidm

Buffer MCP Server

by thenavidm

Edit post for channel

edit_post
Destructive

Edit a social media post for a channel by updating text, assets, or scheduling settings. Requires explicit confirmation before applying changes.

Instructions

Edit post for channel. Current Buffer GraphQL editPost. Requires explicit confirmation. Use upstream fields to bound data; provider errors are failures even with HTTP 200.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoID of the post to edit
modeNoHow the post is being scheduled. Omit the field or pass null to make no scheduling change — null does not clear or reset the schedule: a scheduled post keeps its current share mode, queue slot, and any custom time, and the edit applies only the other provided fields. Pass a non-null ShareMode to apply that mode.
textNoText content of the Post. Omit the field to keep the current text; pass an empty string or null to clear it. Note: for threaded posts, this needs to match the first item in the `thread` array.
dueAtNoDate when the post is scheduled to be published
assetsNoOrdered list of assets on this post. Omit to preserve the existing list, pass an empty array to clear it
fieldsNoUpstream field paths relative to the result, as in official CLI --fields. Default fields are bounded. Use items.id for connection nodes; pageInfo.endCursor for cursors.
ideaIdNoIs set when the Post is generated from an Idea
sourceNosource where the composer was initiated from, used for tracking.
tagIdsNotags
accountNoPrivate account profile name. Selects credentials only; an organization default does not restrict provider token permissions.
confirmNoMust be true for this exact user-requested Buffer mutation.
draftIdNoIs set when the Post is generated from a Draft
payloadNoComplete native input object instead of individual input fields.
metadataNo
aiAssistedNoIf this post was edited with the help of AI
saveToDraftNoIf true, saves the post as a draft instead of keeping it scheduled. When saving as draft: - Post status will be 'draft' instead of 'buffer' - The post will not be published until explicitly scheduled
payload_fileNoRegular local JSON input file, no symlink, at most 1 MiB; cannot mix with payload or individual input fields.
approvalChangeNoChange the post's approval state alongside this edit. Leave unset to keep the post's current approval state. Only valid when your posting policy on the post's channel requires approval, and only on your own drafts. Asking for the state the post is already in does nothing.
schedulingTypeNoScheduling type to indicate notification publishing or automatic publishing. Omit it, or send null, to leave the post publishing the way it already does.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare this a non-idempotent, destructive, open-world write, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it demands explicit confirmation and warns that 'provider errors are failures even with HTTP 200,' which tells the agent not to treat a 200 as success. It still omits reversibility and partial-failure recovery detail.

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 short sentences, front-loaded with purpose and scoping, with the confirmation and error-handling caveats in the middle. No filler sentences, though the phrasing is telegraphic rather than polished.

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?

This is a large, deeply nested destructive mutation with 19 parameters, no output schema, and no required fields, so a bit more guidance would help. The description covers confirmation, error semantics, and field bounding, but says nothing about what edits are permissible, how omitted fields behave at a high level (only the schema does), or what a successful response contains.

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 95%, so the schema itself exhaustively documents the 19 parameters, including nested enums, asset structures, and omit-to-preserve semantics. The description adds no parameter-level detail (e.g., it never explains id, confirm, or fields), so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb+resource ('Edit post for channel') and identifies the underlying operation ('Current Buffer GraphQL editPost'), so an agent knows this modifies an existing post. It does not distinguish itself from nearby siblings like update_content_item, update_post_template, or update_content_item_draft, which is the only gap.

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?

There is no explicit when-to-use guidance or named alternative; the agent is not told how edit_post differs from create_post or the update_content_item family. The line 'Use upstream fields to bound data' is more of a parameter hint than a usage rule, and 'Requires explicit confirmation' describes a precondition but not selection criteria.

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