Skip to main content
Glama

Write blog post

write_post
DestructiveIdempotent

Writes a blog post on a Pagehaus site, in Markdown: creates the post with this slug, or replaces the details you pass for an existing one (details left out keep their current value). Starts a blog at /blog/ if the site has none. Posts are saved as private drafts unless publish is true, which makes the post public immediately and publishes the blog. Use the pagehaus_guide tool with topic "blog" for how the blog works.

Input Schema

NameRequiredDescriptionDefault
bodyNoThe post in Markdown. HTML is allowed too.
dateNoThe publication date, e.g. "2026-10-23". Left out for a new post: the day it's first published.
siteYesThe site name.
slugYesThe post's address: lowercase letters, numbers and hyphens, e.g. "spring-menu" for /blog/spring-menu/.
tagsNoTags, e.g. ["news", "recipes"]. An empty list removes them.
imageNoA cover image on the site, e.g. "/blog/images/oven.jpg" (upload it with write_file first).
titleNoThe title. Needed for a new post.
publishNoTrue to make the post public now and publish the blog. False (the default) saves it without changing whether it's public.
descriptionNoOne or two sentences for the list of posts, search results and link previews.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: disclose that omitted details retain their current value on replace, that a blog is auto-created at /blog/ when absent, and that posts are private drafts unless publish is true, which additionally publishes the blog. This partial-update and side-effect disclosure is exactly the context annotations cannot carry, and it is consistent with destructiveHint=true and idempotentHint=true.

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?

Four compact sentences, front-loaded with the core create/replace behavior, then the draft/publish branch, then the pointer to pagehaus_guide. No filler or restated field docs.

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 9-parameter mutation tool with full schema coverage and annotations declaring the safety profile, the description covers the key behaviors: draft default, publish side effect, auto-blog creation, and partial update. Return values are unspecified, but no output schema exists and the shape of a saved post is reasonably inferable from siblings.

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 baseline would be 3, but the description adds real meaning beyond field docs: the upsert-by-slug model and the rule that unspecified fields keep their prior value, which reframes every optional parameter. It does not elaborate publish/date interplay further than the schema already does.

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 (writes a blog post on a Pagehaus site in Markdown) and immediately distinguishes itself from siblings by covering both create and update semantics on a slug. An agent can separate it from list_posts, read_post, delete_post, and write_file without opening the 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?

Explains the create-vs-replace condition and the private-draft-versus-publish=true branch, which are the main decision points. It also routes the agent to pagehaus_guide with topic "blog" for background. No explicit exclusions, such as when to use write_file instead for non-post content, but the context is clear.

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