Skip to main content
Glama

Update project settings

update_project_settings
DestructiveIdempotent

Saves edits to a site’s settings, the same as the Settings page. articleSettings edits the Article Settings: length preset and target word count (a named preset sets its word count; send targetWordCount with lengthPreset custom for an exact count), tone preset, voice instructions, the internal link setting (internalLinks: auto, or off for no internal links), the inline image count, YouTube embeds and the author override. Only the Article Settings the edit names change, YouTube fields included. An author override must be one of the site’s authors while authors are on; otherwise Keytomic clears it and the result says so. indexing.urlPrefix saves the URL prefix of the site’s posts, such as https://acme.com/blog, which Keytomic uses to find the site’s posts for indexing checks; null clears it. The settings section of get_project returns the current values. An edit must name at least one setting. Spends no credits.

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>"
    },
    "name": "update_project_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
indexingNoIndexing settings.
projectIdYesSite to act on, from list_sites.
articleSettingsNoArticle Settings fields to change.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the bar is lower. The description still adds substantive behavior: partial-update semantics ('Only the Article Settings the edit names change'), null-clears-urlPrefix, automatic clearing of an invalid author override with the result reporting it, and 'Spends no credits'. It does not explain why destructiveHint is set, such as how present values are overwritten, or any permission requirements.

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?

Purpose is front-loaded in the first clause and nearly every sentence carries a distinct rule, but the tool's body of behavior is a single dense paragraph with several parenthetical clauses that are harder to scan than a short bulleted structure would be.

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 nested-object mutation with no output schema, the description covers partial-update semantics, clearing, validation failure, and the credit cost, so an agent can call it correctly. It only gestures at the response ('the result says so') and does not cover atomicity or error cases.

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?

Coverage is already 100%, which makes 3 the baseline, but the description earns more: it explains the lengthPreset=custom and targetWordCount coupling, what internalLinks auto vs off means (auto = each relevant page with no count limit), that an author override must be one of the site's authors, and gives an example urlPrefix with indexing-check purpose. These are cross-field rules the schema cannot state.

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 ('Saves edits to a site's settings') and scopes it to two named sections, articleSettings and indexing.urlPrefix. This lets an agent separate it from siblings such as update_reddit_settings, update_visibility_settings, and update_brand_profile without opening any 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?

Gives real usage rules: an edit must name at least one setting, only named settings change, and get_project's settings section returns current values so it can be read before writing. It does not explicitly say which sibling to use for reddit, visibility, or brand settings, so exclusions are left implicit.

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