---
title: "Settings"
description: "Update account-level metadata (analyzer cost, display name) without leaving chat."
icon: material/tune
---

Update user-account metadata: analyzer cost ($/GB used for cost-driver math), display name. PATCH-like semantics: existing fields not in the payload are preserved.

## :material-code-braces: Example

!!! tenx-ask "You"

    set my Datadog cost to $2.50/GB

!!! tenx-answer "Log10x"

    Updated. `analyzer_cost` is now `2.5`. Every cost-driver call without an explicit `analyzerCost=` arg uses this from now on.

## :material-chat-question-outline: More to ask

- *"set my analyzer cost to $3/GB"*
- *"rename my account to `acme-platform`"*

## :material-check-decagram-outline: Prerequisites

Signed in, see [Sign in](signin.md).

## :material-code-json: Schema and samples

??? tenx-input-example "Input example"

    Real call against the demo env (captured by [`scripts/capture-tool-envelopes.mjs`](https://github.com/log-10x/log10x-mcp/blob/main/scripts/capture-tool-envelopes.mjs)).

    ```json
    {
      "metadata": {
        "analyzer_cost": 3
      }
    }
    ```

??? tenx-input-schema "Input schema"

    Agent-facing JSON Schema (the canonical shape the MCP server publishes via `tools/list`):

    ```json
    {
      "type": "object",
      "properties": {
        "metadata": {
          "type": "object",
          "additionalProperties": {},
          "description": "Object of metadata key/value pairs to update on the user account. Common fields: `analyzer_cost` (number, $/GB stack cost used for cost-driver math); `company` (string display name). The backend persists arbitrary keys, so additional documented fields can be passed through. Existing fields not in the payload are preserved (PATCH-like semantics on the backend)."
        }
      },
      "required": [
        "metadata"
      ],
      "additionalProperties": false
    }
    ```

    Source: [`src/tools/update-settings.ts`](https://github.com/log-10x/log10x-mcp/blob/main/src/tools/update-settings.ts).

??? tenx-output-example "Output example"

    Real envelope from the demo env. `view: "summary"` returns the full `StructuredOutput` with typed `data`. Long arrays + base64 PNG bodies trimmed for readability; the real call returns them in full.

    Headline (the 1-line agent-facing answer):

    > _Updated 1 setting for alice@acme.example._

    ```json
    {
      "schema_version": "1.0",
      "schema_epoch": "2026-05-25",
      "tool": "log10x_update_settings",
      "view": "summary",
      "summary": {
        "headline": "Updated 1 setting for alice@acme.example."
      },
      "data": {
        "ok": true,
        "username": "alice@acme.example",
        "fields_updated": 1,
        "redacted_keys": []
      },
      "generated_at": "2026-05-26T00:00:00.000Z"
    }
    ```

??? tenx-output-schema "Output schema"

    The `data` block inside the [StructuredOutput envelope](../index.md#json-by-default-output):

    ```typescript
    interface ToolData {
      ok: boolean;
      username: string;
      fields_updated: number;
      redacted_keys: unknown[];
    }
    ```

    Envelope-level fields the agent should also read: `summary.headline` (1-line answer), `actions[]` (next-call chain hints as `{tool, args, reason}`), `truncated: boolean`, `images[]` (PNG attachments where applicable), `schema_epoch` (engine-ID stability boundary).
