Skip to main content
Glama

patch_frontmatter

Modify frontmatter keys in Obsidian notes without reordering existing keys or changing quote style. Pass null to delete a key, with optional hash-based conflict checking.

Instructions

Set, update, or delete frontmatter keys without reordering existing keys or changing quote style. Pass null as a value to delete a key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesVault-relative path to the note.
patchYesKey-value pairs to set. Null value removes the key.
prevHashNoOptional compare-and-swap guard: the contentHash from a prior read. Fails with hash_conflict if the note changed since.
Behavior4/5

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

Description discloses key behavioral traits: it does not reorder existing keys (preserves order), does not change quote style, and passing null deletes a key. The prevHash compare-and-swap guard behavior is in the schema but the description implies a focused, non-destructive-to-format patch operation. Without annotations, the description does a solid job carrying behavioral disclosure, though it doesn't mention failure modes or read requirements.

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?

One compact sentence conveys all essential info: action scope, constraints, and null-deletion semantics. Zero filler words, front-loaded with the core action. Ideal density.

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 focused metadata-patch tool with 100% schema coverage, the description is quite complete. It covers the key behavior (preserving format), the null-deletion mechanism, and the mutation nature. Could add what failures look like or return behavior, but given schema richness and the simple operation, the gap is minor.

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 description coverage is 100%, so the schema already documents all three parameters. The description adds value by clarifying that null values delete keys (reinforcing the patch parameter's null semantics) and by stating the patch preserves ordering/quote style. This is consistent with the baseline 3 since the schema carries the parameter documentation burden adequately.

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?

Description uses a specific, action-oriented verb ('Set, update, or delete') with a clear resource (frontmatter keys), and adds important scoping constraints: preserves key ordering and quote style. This clearly distinguishes it from siblings like patch_note and replace_in_note, which target note content rather than frontmatter metadata.

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?

The description implies usage context by scoping to frontmatter keys, distinguishing from content-patching siblings. However, it does not explicitly state when to use this vs patch_note or when not to use it. The mention of preserving ordering/quote style signals use cases where those properties matter, but no exclusions or explicit alternative tool names are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shaqmughal/seekstone'

If you have feedback or need assistance with the MCP directory API, please join our Discord server