Skip to main content
Glama
thenavidm

Buffer MCP Server

by thenavidm

Fetch an organization's content items in the requested order, newest first by default. Uses standard cursor pagination: pass the previous page's `pageInfo.endCursor` as `after` to fetch the next page. Requesting more than 100 items in a single page is rejected. This API is an early preview and can change without a deprecation period.

get_content_items
Read-onlyIdempotent

Fetch an organization's content items newest first by default, using cursor pagination and filters for tags, target dates, and content status.

Instructions

Fetch an organization's content items in the requested order, newest first by default. Uses standard cursor pagination: pass the previous page's pageInfo.endCursor as after to fetch the next page. Requesting more than 100 items in a single page is rejected.

This API is an early preview and can change without a deprecation period.. Current Buffer GraphQL contentItems. One request, no automatic pagination. Use upstream fields to bound data; provider errors are failures even with HTTP 200.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoSorting to apply, each entry breaking ties in the one before it. Defaults to newest first. A pagination cursor is only valid for the sort that produced it, so reset `after` to null whenever the sort changes.
afterNoOpaque cursor from pageInfo.endCursor. One page per ordinary call.
firstNoLocal page-size cap 100, default 25; provider may impose additional query limits.
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.
filterNo
accountNoPrivate account profile name. Selects credentials only; an organization default does not restrict provider token permissions.
payloadNoComplete native input object instead of individual input fields.
payload_fileNoRegular local JSON input file, no symlink, at most 1 MiB; cannot mix with payload or individual input fields.
organizationIdNoOrganization to list content items for. The caller must be a member of this organization.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the bar is lower; the description still adds real value by disclosing the early-preview instability, the 100-item rejection, no automatic pagination, and that provider errors surface as failures even on HTTP 200.

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

Conciseness3/5

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

Front-loaded and reasonably short, but it is largely a copy of the title text, contains a stray double period ('period.. Current Buffer...'), and repeats the pagination statement that also lives in the title. Some redundancy costs it.

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 read-only list tool with a rich 89%-documented schema and no output schema, the description covers pagination, page-size limits, preview instability, and error semantics. What remains missing is explicit guidance on field selection versus the default bounded fields, which is minor.

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 89%, so the schema already documents sort, after, first, fields, filter, account and payload_file in detail. The description adds only the cursor-passing pattern and the 'use upstream fields to bound data' hint, which is marginal beyond the schema's own text.

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 and resource ('Fetch an organization's content items') with ordering defaults and pagination semantics, which cleanly separates it from the singular get_content_item sibling. It never explicitly names the alternative, but the plural/list framing is unambiguous.

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?

Gives operational usage for pagination (pass pageInfo.endCursor as `after`, 100-item cap, one request no automatic pagination) but never says when to choose this tool over get_content_item, get_posts, or graphql_query. Usage is implied by the resource name rather than explicitly routed.

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