Skip to main content
Glama

Frontman for WordPress

wp_read_post

Read-onlyIdempotent

Reads a single post by ID, returning stored post_content (including any block markup), content_sha256 for wp_update_post edit mode, basic post fields, and categories/tags with IDs, names and slugs. Does not return custom post metadata or plugin snippet source. Empty content does not mean a plugin-managed snippet has no code.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>",
      "id": "<id>"
    },
    "name": "wp_read_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe post ID to read.
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description goes further with real behavioral context: content is the stored value including block markup, a hash is provided specifically for the edit round-trip, and the caveat that empty content does not imply a plugin-managed snippet has no code warns the agent against a plausible misreading.

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?

Three sentences, front-loaded with the return payload and with no filler. The closing caveat is slightly oblique in phrasing but earns its place by preventing a specific misinterpretation; overall it is dense and purposeful.

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?

With no output schema, the description carries the burden of describing returns and does so adequately by naming the main fields and the categories/tags structure. The residual gap is 'basic post fields', which stays vague, but for a simple single-record read with fully documented parameters this is close to sufficient.

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 100%, so both parameters are already documented, including the warning to call list_sites first and not to pass a URL or WordPress post ID. The description adds no additional parameter-level semantics, so this sits at the baseline for a fully covered two-parameter schema.

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?

The description opens with a specific verb and resource ('Reads a single post by ID') and enumerates exactly what comes back: stored post_content with block markup, content_sha256, basic post fields, and categories/tags with IDs, names and slugs. That level of specificity distinguishes it from siblings like wp_read_block or wp_read_template without the agent needing to open any schema.

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?

It gives a concrete downstream use case by naming wp_update_post edit mode as the consumer of content_sha256, which tells the agent when this tool is the right prerequisite. It also states two exclusions (no custom post metadata, no plugin snippet source), but it stops short of explicitly saying when to prefer wp_read_block or other read siblings over this one.

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.