Skip to main content
Glama

thincms_update_post

Update an existing blog post with partial field changes. Supports HTML content, SEO metadata, status changes, and automatic 301 redirect on slug change.

Instructions

Update an existing blog post. Only provided fields are changed (partial update). Content should be raw HTML. For large content (>10KB), use contentFile instead of content. Changing slug auto-creates a 301 redirect from the old URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesPost ID (required)
slugNoURL slug (changing slug auto-creates a 301 redirect)
tagsNoArray of tag names (full replacement)
titleNoPost title
jsonLdNoCustom JSON-LD (Schema.org) injected verbatim into the post <head>. Pass valid JSON as a string. Set to empty string to clear.
seriesNoSeries name
siteIdNoOverride the active site for this single call. Pass to target a specific tenant without mutating shared active-site state — the right pattern when running concurrent agent sessions managing different tenants. Must match a siteId from your THINCMS_SITES config (use thincms_list_sites to inspect). When omitted, the call uses the active site set by thincms_switch_site.
statusNoPost status
contentNoHTML content
excerptNoShort summary/excerpt
noIndexNoExclude from search engine indexing
authorIdNoAuthor ID
featuredNoMark as featured
metaTitleNoSEO meta title
ogImageUrlNoOpen Graph image URL
categoryIdsNoArray of category IDs (full replacement)
contentFileNoLocal file path containing HTML content — use this instead of content for large posts (>10KB).
gatePreviewNoCustom HTML teaser shown before the gate.
pinnedUntilNoISO date: pin until this date
publishedAtNoDEPRECATED — use scheduledFor. ISO date for publication date.
scheduledAtNoDEPRECATED — use scheduledFor. Legacy field.
seriesOrderNoOrder within series
canonicalUrlNoCanonical URL
scheduledForNoOverride visibility timing. "immediate" or an ISO 8601 timestamp at least 60 minutes in the future.
gatedFormSlugNoForm slug to gate this post behind. Set to empty string to remove gating.
membersContentNoHTML content visible only to authenticated members/subscribers.
metaDescriptionNoSEO meta description
confirmProductionWriteNoAcknowledge that this call may write to a configured production site (THINCMS_PRODUCTION_SITE_IDS env var). Required for any POST/PUT/PATCH/DELETE against a production-listed site; ignored otherwise. The error message lists which site triggered the requirement and recommends thincms_snapshot before any production write.
Behavior4/5

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

With no annotations, the description carries full burden and covers key behaviors: partial update (PATCH semantics), content format requirement, file alternative for large content, and automatic 301 redirect. Could mention authentication or idempotency but these are not critical.

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?

Only three sentences, each adding distinct value: statement of operation, content guidance, and behavior note. No fluff, front-loaded with the core purpose.

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 tool with 28 parameters and no output schema, the description covers the essential behavioral context. It explains partial update, content handling, and slug redirect, which are enough for an agent to use the tool correctly. Minor omission of error handling or idempotency.

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 is 3. The description adds value by explaining partial update semantics, content format constraint, and slug side-effect, which enriches parameter meaning beyond the schema descriptions.

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 clearly states the action ('Update an existing blog post') and the resource ('blog post'). It specifies partial update semantics and distinguishes from creation/deletion siblings. The mention of raw HTML and slug redirects adds specificity.

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?

Provides clear guidance on when to use contentFile instead of content for large posts (>10KB) and the auto-redirect on slug change. Lacks explicit when-not-to-use or alternative tools, but the partial update nature is implicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmccarroll-fuel/thincms-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server