Skip to main content
Glama

Update settings

update_settings
DestructiveIdempotent

Change the writer's preferences: preferredTimezone, capitalizeGeneratedNotes, writingLanguage (the default language AI writes in), uiLanguage (the language the Narrareach app is shown in), articleLinkPlacement (where article links go in Notes: COMMENT or BODY), articleFollowUpDelivery (whether follow-up posts made from a published article are scheduled on the writer's cadence, SCHEDULE, or saved as Note drafts to review first, DRAFTS), and tagArticleLinksWithUtm (add UTM tags to article links). Only the fields passed change; call get_settings first and change only what the writer asked for. Default accounts, connections, notifications, billing and security cannot be changed here: the writer changes them in Narrareach Settings. To move one scheduled Note to another connected account, use update_scheduled_note_account. Personal account only.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
uiLanguageNoLanguage the Narrareach app itself is shown in (not the language AI writes in), for example fr. null is Automatic. The change applies the next time the writer opens Narrareach.
writingLanguageNoDefault language AI writes drafts, Notes and replies in, for example pt-BR for Portuguese. null is Automatic: follow the writer's own posts and sources.
preferredTimezoneNoIANA timezone used for scheduling and stats, for example America/Toronto.
articleLinkPlacementNoWhere the article link goes when a Note promotes an article: COMMENT (first comment) or BODY (in the Note).
tagArticleLinksWithUtmNoWhether links to the writer's own articles get UTM tags so traffic can be attributed.
articleFollowUpDeliveryNoWhat happens to follow-up posts made from a published article: SCHEDULE adds them to the writer's saved cadence; DRAFTS saves them as Note drafts so the writer reviews them before anything posts.
capitalizeGeneratedNotesNoWhether generated Notes use standard capitalization (false leaves the generated casing unchanged).

Output Schema

NameRequiredDescriptionDefault
updatedYes
preferencesYes
connectedAccountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / articleFollowUpDelivery
      Added value: +{
      +  "description": "What happens to follow-up posts made from a published article: SCHEDULE adds them to the writer's saved cadence; DRAFTS saves them as Note drafts so the writer reviews them before anything posts.",
      +  "enum": [
      +    "SCHEDULE",
      +    "DRAFTS"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / preferences / properties / articleFollowUpDelivery
      Added value: +{
      +  "enum": [
      +    "SCHEDULE",
      +    "DRAFTS"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / preferences / required
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "writingLanguage",
      -  "uiLanguage",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "uiLanguage",
      +  "articleLinkPlacement",
      +  "articleFollowUpDelivery",
      +  "tagArticleLinksWithUtm"
      +]
    • changedOutput schema / properties / updated / items / enum
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "writingLanguage",
      -  "uiLanguage",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "uiLanguage",
      +  "articleLinkPlacement",
      +  "articleFollowUpDelivery",
      +  "tagArticleLinksWithUtm"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / uiLanguage
      Added value: +{
      +  "description": "Language the Narrareach app itself is shown in (not the language AI writes in), for example fr. null is Automatic. The change applies the next time the writer opens Narrareach.",
      +  "enum": [
      +    "en",
      +    "es",
      +    "pt-BR",
      +    "fr",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / preferences / properties / uiLanguage
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / preferences / required
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "writingLanguage",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "uiLanguage",
      +  "articleLinkPlacement",
      +  "tagArticleLinksWithUtm"
      +]
    • changedOutput schema / properties / updated / items / enum
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "writingLanguage",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "uiLanguage",
      +  "articleLinkPlacement",
      +  "tagArticleLinksWithUtm"
      +]
  3. Changed4 schema fields changed
    • addedInput schema / properties / writingLanguage
      Added value: +{
      +  "description": "Default language AI writes drafts, Notes and replies in, for example pt-BR for Portuguese. null is Automatic: follow the writer's own posts and sources.",
      +  "enum": [
      +    "en",
      +    "pt-BR",
      +    "es",
      +    "fr",
      +    "de",
      +    "it",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / preferences / properties / writingLanguage
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / preferences / required
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "articleLinkPlacement",
      +  "tagArticleLinksWithUtm"
      +]
    • changedOutput schema / properties / updated / items / enum
      Previous value: -[
      -  "preferredTimezone",
      -  "capitalizeGeneratedNotes",
      -  "articleLinkPlacement",
      -  "tagArticleLinksWithUtm"
      -]New value: +[
      +  "preferredTimezone",
      +  "capitalizeGeneratedNotes",
      +  "writingLanguage",
      +  "articleLinkPlacement",
      +  "tagArticleLinksWithUtm"
      +]
  4. Added

TDQS

A4.3/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; the description adds the crucial partial-update semantics ('Only the fields passed change'), the 'Personal account only' restriction, and the deferred effect of uiLanguage. It does not explain why the operation is flagged destructive or what happens on invalid input, so it stops short of a 5.

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 field list, then prerequisites, then exclusions and the sibling alternative. It is a dense single paragraph but nearly every clause carries information; the field enumeration is somewhat redundant with the schema.

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?

With a full schema, an output schema and annotations present, the description covers scope, prerequisites and exclusions well. It leaves the destructive flag and error behavior unexplained, which is a minor gap for a settings mutation.

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 coverage is 100% and the schema descriptions already define each field, enums and null-means-Automatic behavior. The description largely restates those fields, adding only light framing (e.g. uiLanguage vs writingLanguage), so the baseline 3 applies.

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 ('Change') and resource ('the writer's preferences') and enumerates every mutable field with its meaning, so an agent can tell exactly what this tool touches versus get_settings or update_scheduled_note_account.

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 says to call get_settings first and change only what the writer asked for, lists what cannot be changed here (default accounts, connections, notifications, billing, security) and where to do it instead, and routes the scheduled-Note-account case to update_scheduled_note_account.

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