Skip to main content
Glama
hermoso-ai

Hermoso

Official

Configure the posting refill

set_post_refill
Idempotent

Configure automatic post refill: enable/disable, set daily caps, spending limits, and preview changes before queueing. Pause without canceling scheduled posts; start in dry-run for safe planning.

Instructions

Turn the automatic posting refill on or off and set how it behaves. PASS ONLY WHAT CHANGES. enabled:false is the PAUSE — it removes the recurring job outright, and posts already queued are left alone (cancel those with cancel_scheduled if you want them gone). It starts in dryRun, which plans and previews without queueing; set dryRun:false only once a human has read a preview from run_post_refill. THE CADENCE IS THE BRAND’S POSTING TIMES, not a number here: three posting times means three posts a day. Raising maxImagesPerDay / maxVideosPerDay / maxCreditsPerDay above 0 lets it SPEND on new creative — at 0 (the default) it only reuses renders already in the Library and costs nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chatIdNoTELEGRAM — which chat, group or channel posts go to (@username or numeric id). Without one, telegram is skipped: there is no default chat and posting to the wrong one is a public mistake.
dryRunNotrue (the default) = plan and preview only, queue nothing. Set false ONLY after a human has read a preview.
pageIdNoFACEBOOK / INSTAGRAM / THREADS — which connected Page to publish from (list_meta_pages). Omit for the brand’s only Page.
boardIdNoPINTEREST — which board Pins go on (list_pinterest_boards). Without one, Pinterest is skipped: a Pin on the wrong board is a public mistake, so it is never guessed.
enabledNoon/off. false PAUSES it: the recurring job is deleted and nothing new is queued. Already-queued posts are untouched.
channelsNorestrict it to these channels. Omit (or send an empty list) to use every connected channel that can carry each post.
daysAheadNohow far ahead to keep the queue full, 1–30 (default 7)
postsPerDayNocap the posts per day BELOW the number of posting times. 0 (default) = use every posting time, which is where "3 a day" comes from. To post MORE per day, add posting times instead.
maxImagesPerDayNohow many NEW images a day it may render when the Library runs dry. 0 (default) = none, spend nothing.
maxVideosPerDayNohow many NEW videos a day it may render. 0 (default) = none. Video is the expensive one — hundreds of credits each.
maxCreditsPerDayNoa hard credit ceiling per day, checked BEFORE any render starts. It binds independently of the counts above.
assetCooldownDaysNohow long before a Library render may be posted again (default 30). It never repeats one inside this window — it queues fewer posts and says so.
linkedinOrganizationIdNoLINKEDIN — which company Page to post as (list_linkedin_pages). A single shared Page is used automatically; a Page that is not shared with this brand is ignored rather than failing the whole post.
Behavior5/5

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

The description discloses key behaviors beyond annotations: enabled:false removes the recurring job outright, dryRun defaults to planning-only, and spending behavior is gated by max counts/credits. It also explains that at 0 it only reuses Library renders and costs nothing, which is non-obvious. Annotations only state readOnly=false, destructive=false, idempotent=true, so the description adds substantial behavioral context without contradiction.

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?

The description is front-loaded with the core action and uses ALL CAPS for emphasis on critical rules. It is a bit long but every sentence carries information (pause behavior, dryRun, cadence, spending). Slight verbosity from the capitalization style, but not wasteful.

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 complex tool with 13 parameters and no output schema, the description covers the most critical operational nuances: Pause vs. disable, dryRun preview flow, and cost control. It references the relevant sibling tools for preview and cancellation, and the schema handles per-parameter details. Nothing essential is missing for an agent to call this correctly.

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 each parameter is already described. The description adds global semantics not in the schema: 'PASS ONLY WHAT CHANGES,' the relationship between posting times and postsPerDay, and the spending logic tied to maxImagesPerDay etc. This goes beyond a baseline 3.

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 clear verb and resource: 'Turn the automatic posting refill on or off and set how it behaves.' It distinguishes itself from siblings like run_post_refill (preview) and cancel_scheduled (cancel queued posts) by explicitly referencing them, making it unambiguous what this tool does versus its alternatives.

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?

It provides explicit when-to-use and alternative guidance: use cancel_scheduled to remove already-queued posts, read a preview from run_post_refill before disabling dryRun, and notes the cadence comes from brand posting times rather than a numeric parameter. It also instructs 'PASS ONLY WHAT CHANGES,' which clarifies partial-update usage.

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/hermoso-ai/hermoso'

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