Skip to main content
Glama

Update base

update_base
Destructive

Replace a base's definition (as JSON or .base YAML) and/or rename it. The definition is replaced whole — call get_base first, change the piece the user asked about (add a view, a filter, a formula, a summary), and send the full document back. Pass only new_name to rename.

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

Input Schema

NameRequiredDescriptionDefault
nameYesCurrent base name (case-insensitive)
yamlNoThe base as Obsidian .base YAML text instead of `definition` — the format documented at docs.dexi.net/properties-and-bases. Unsupported pieces are dropped and reported in `warnings`
intentNoOne short sentence on what you're trying to accomplish for the user — helps improve these tools; optional, keep personal details out
new_nameNoRename the base (omit to keep)
definitionNoThe base as JSON — Obsidian's .base document shape: {filters, formulas, properties, views: [{type: table|cards|list|map, name, filters, order, sort, groupBy, summaries, limit, …}]}. Pass this or `yaml`, not both

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / definition / additionalProperties
      Added value: +true
    • removedInput schema / properties / definition / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / definition / default
      Removed value: -null
    • addedInput schema / properties / definition / type
      Added value: +"object"
    • removedInput schema / properties / intent / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 300,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / intent / default
      Removed value: -null
    • addedInput schema / properties / intent / maxLength
      Added value: +300
    • addedInput schema / properties / intent / type
      Added value: +"string"
    • removedInput schema / properties / new_name / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 100,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / new_name / default
      Removed value: -null
    • addedInput schema / properties / new_name / maxLength
      Added value: +100
    • addedInput schema / properties / new_name / minLength
      Added value: +1
    • addedInput schema / properties / new_name / type
      Added value: +"string"
    • removedInput schema / properties / yaml / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 65536,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / yaml / default
      Removed value: -null
    • addedInput schema / properties / yaml / maxLength
      Added value: +65536
    • addedInput schema / properties / yaml / type
      Added value: +"string"
  2. First observed

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 readOnlyHint=false, so the safety profile is covered. The description adds the crucial behavioral fact that the definition is replaced whole rather than merged, which is exactly the detail an agent needs to avoid data loss. It stops short of saying what happens on a missing base name or whether prior versions are recoverable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core replace semantics before the read-modify-write instruction and the rename shortcut. No filler or repeated annotation content.

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?

Output schema exists and the schema documents every parameter including the warnings reporting, so return values need no explanation. The description covers the destructive whole-replacement model and the rename path; only error/not-found behavior for the name lookup is unaddressed.

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%, so baseline is 3. The description adds one genuinely useful interaction rule — that new_name alone performs a rename — but otherwise restates schema-level information such as the JSON/YAML format choice.

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 pair (replace / rename) and the exact resource (a base's definition), and clarifies the two accepted formats (JSON or .base YAML). An agent can immediately distinguish this from create_base, delete_base, and update_note without opening a schema.

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?

Gives an explicit workflow: call get_base first, modify only the requested piece, send the full document back, and pass only new_name to rename. That names the prerequisite sibling tool and the alternative invocation path, leaving little to inference.

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