Skip to main content
Glama

Add keywords to calendar

add_keywords_to_calendar

Adds keywords from search_keywords to a site’s content calendar as topics, the same as adding keywords in the Calendar: one topic for each keyword, in the order sent, one a day on the site’s automation days (enabledDays in the settings section of get_project) from startDay. Up to 5 keywords. Send each keyword with its searchVolume, difficulty and searchTrend from search_keywords, unchanged, so the topic shows its search demand chart. AI writes each topic’s intent, outline, secondary keywords and article type (blogType), and AI checks the keywords against the site’s current topics and pages, unless allowCannibalization is true. If a keyword collides, nothing is added and the result lists the collisions (status collision): show them to the user, and if the user still wants the keywords, call again with allowCannibalization true. The call uses no keyword search and no articles: the daily automation writes each article on its day, and then it counts. But the site must have enough articles left this month, or Article Credits, for the new topics. A repeated call adds the topics again. The site needs a content calendar run, saved Image Studio settings and at least one automation day first. Returns the added topics; when the workspace can open only some topics for now, returns only those, with lockedTopicCount for the others.

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": {
      "projectId": "<projectId>",
      "startDay": "<startDay>",
      "keywords": "<keywords>"
    },
    "name": "add_keywords_to_calendar"
  }
}

Input Schema

NameRequiredDescriptionDefault
keywordsYesKeywords to add, 1 to 5, in calendar order: keyword, searchVolume, difficulty and searchTrend as search_keywords returned them, unchanged. Only keywords with search volume can be added.
startDayYesDay of the first topic, YYYY-MM-DD, as the Calendar shows it (UTC). The topics take the site’s automation days (enabledDays in the settings section of get_project) from this day on, one a day; this day counts only when it is one of them. Pick tomorrow (UTC) or a later day: the daily automation writes each day’s article at 00:00 UTC and never goes back to a past day.
projectIdYesSite to act on, from list_sites.
allowCannibalizationNotrue adds the keywords even when they collide with current topics or pages. Send it only after the user saw the collisions and agreed.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations: scheduling semantics (one topic per day on enabledDays from startDay, never past days), 5-keyword cap, non-idempotent behavior ("A repeated call adds the topics again"), credit consumption, collision blocking with nothing added, and partial returns with lockedTopicCount. This is exactly the behavioral context annotations cannot carry.

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?

Front-loaded with the core action and no filler sentences; nearly every clause carries a distinct behavior. The downside is a single dense paragraph with long chained clauses, which makes scanning for the collision and credit rules harder than a short bulleted structure would.

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?

Covers return values, partial visibility of added topics, prerequisites, and the downstream asynchronous article-writing step, which is a lot for a mutation tool with no output schema. Minor gap: the failure surface beyond collisions (e.g. insufficient credits) is described as a precondition but not as an error outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, yet the description still adds meaning: searchVolume/difficulty/searchTrend must be passed back unchanged so the demand chart renders; allowCannibalization is a user-consent gate, not a preference; startDay is interpreted through the site's automation days in UTC. That is real value beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus the data source: "Adds keywords from search_keywords to a site's content calendar as topics." The bulk, ordered, one-per-day nature of the operation is clear. It does not explicitly differentiate itself from the sibling create_calendar_topic (single manual topic), so the boundary there is left to inference.

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?

Gives concrete preconditions (content calendar run, saved Image Studio settings, at least one automation day, enough article credits) and an explicit escalation path: on collision, show statuses to the user and re-call with allowCannibalization true only after agreement. It never names an alternative tool for the single-topic case, so the comparison to create_calendar_topic is implied rather than stated.

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