Skip to main content
Glama

create_post

Create a new CMS post (blog_post, page, or any custom post type). The post type must already exist — use list_post_types to discover, create_post_type to add a new one. excerpt = plain-text summary only (auto-derived from blocks if omitted). Structured custom fields go in meta, keyed by the field schema defined with create_post_type_field.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNoStructured custom field values, keyed by field key (see list_post_type_fields). Validated against the post type field schema. Use this for all machine-readable data — never put JSON in excerpt.
slugNoURL slug. Auto-generated from title if omitted; collisions get -2, -3 suffix.
typeYesPost type slug (e.g. blog_post, page, treatment). Must exist in post_types for this company.
titleYesPost title
blocksNoOrdered array of content blocks. Each block has { id, version, type, data } where type is one of: paragraph, heading, image, list, quote, code, divider, spacer, embed, html, youtube, file, faq, callout, gallery, cta, accordion, product, columns. Unknown types are rejected.
statusNoStatus (default draft)
tagIdsNoTag IDs to attach to the post
excerptNoPlain-text summary only — never JSON. Auto-derived from the first paragraph/heading block if omitted and the post type supports excerpts.
parentIdNoParent post ID for nested types (e.g. pages).
seoTitleNoSEO title override
sortOrderNoSort order (lower = earlier)
visibilityNoVisibility (default public)
categoryIdsNoCategory IDs (post types with supportsCategories only)
publishedAtNoISO timestamp; required when status=scheduled.
featuredImageNoCover image URL
seoDescriptionNoSEO meta description

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesTool result payload — shape varies per tool, see the tool description
summaryYesOne-line human-readable summary of the action
renderTypeYesUI rendering hint for the result

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark this as a write operation (readOnlyHint=false). The description adds valuable behavioral context: excerpt is plain-text-only and auto-derived if omitted, and structured fields must go in meta rather than excerpt — details not present in annotations. It doesn't cover return behavior, but an output schema exists to handle that.

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?

Three sentences that lead with the core purpose, then add two crucial caveats. No wasted words, no repetition of schema field descriptions. The structure is front-loaded and focused.

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?

For a tool with 16 parameters and a complex nested block schema, the description correctly highlights the key preconditions and pitfalls without drowning in detail. It references sibling tools needed for setup, and the output schema handles return values, so the description is complete for invocation.

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 100%, so the schema fully documents all 16 parameters. The description reinforces a couple of key constraints (excerpt plain-text, meta for structured fields) that are already in the schema, but adds no new semantic meaning beyond what the schema provides. Baseline 3 is appropriate.

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 'Create a new CMS post (blog_post, page, or any custom post type),' clearly stating the action and resource. It differentiates from sibling tools like update_post, delete_post, and list_posts by focusing on creation, and references related setup tools to avoid confusion.

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?

Explicitly states the prerequisite that the post type must already exist, and names list_post_types and create_post_type as the tools to discover or add post types. It also directs custom field schema definition to create_post_type_field, giving clear when-to-use and alternative guidance.

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.

TDQS

B3.3/5.0
Disambiguation2/5

Many tools have overlapping boundaries, such as generate_post_cover/attach_post_cover_from_job/upload_post_cover_from_url, update_deal/update_deal_stage/mark_deal_won/mark_deal_lost, and booking status transitions (confirm/cancel/complete/mark_no_show). The catch-all execute_tool adds further ambiguity.

Naming Consistency4/5

Nearly all tools follow a consistent verb_noun snake_case convention (create_*, list_*, get_*, update_*, delete_*, restore_*). Minor exceptions like 'clone' and 'execute_tool' are still readable and do not significantly break the pattern.

Tool Count1/5

With 223 tools, the server is extremely over-scoped. Even for a full CRM platform, this many tools overwhelms context windows and makes tool selection impractical. It far exceeds the reasonable range for an MCP server.

Completeness3/5

The surface is broad but has notable gaps: no update_booking/delete_booking, no delete_product, no send_message/send_campaign (referenced but absent), and no delete_staff/resource. Some workflows dead-end or require manual approval steps.