Skip to main content
Glama
CoolJohn-lab

Cursidian

by CoolJohn-lab

note

Manage Obsidian notes: read, create, update, delete, rename, and edit frontmatter with conflict detection and undo support.

Instructions

Read, create, update, delete, rename a note, or edit its frontmatter. action=read returns content+frontmatter+contentHash+revisionHash+outgoingLinks. Path accepts vault-relative paths, titles, and frontmatter aliases (except create, which writes the literal path). update: prefer patch (old_string/new_string) or replace_section (heading); replace is size-guarded; optional frontmatter merge on the same update (one journaled op for body + metadata). Pass expectedRevision from read to detect concurrent edits (expectedHash remains a deprecated body-hash alias). Mutations return operationId/undoAvailable when journaling is enabled; use vault undo to reverse.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keysNoUsed by frontmatter action delete operation only
modeNoUsed by update action only; patch inferred when old_string and new_string are set
pathYesNote path, title, or frontmatter alias (rename source when action=rename; create uses literal path)
forceNoUsed by update action replace mode only
actionYesOperation: read, create, update, delete, rename, or frontmatter
confirmNoUsed by delete action only; must be true
contentNoUsed by create and update actions
headingNoUsed by update action replace_section mode only
newPathNoUsed by rename action only
overwriteNoUsed by create action only
new_stringNoUsed by update action patch mode only
old_stringNoUsed by update action patch mode only
replaceAllNoUsed by frontmatter action set operation only
fmOperationNoUsed by frontmatter action only
frontmatterNoUsed by create, frontmatter set/merge, and update (merge into existing frontmatter in the same journaled op)
updateIndexNoUsed by rename action only
expectedHashNoDeprecated alias of contentHash from read; used by update, frontmatter, delete, rename, and create with overwrite:true
updateBacklinksNoUsed by rename action only
expectedRevisionNorevisionHash from read; used by update, frontmatter, delete, rename, and create with overwrite:true
Behavior5/5

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

With no annotations, the description fully bears the transparency burden. It comprehensively details behavioral traits: what read returns (content, frontmatter, hashes, outgoingLinks), path resolution caveats (except create), update mode specifics (size guard for replace), concurrency detection via expectedRevision, and mutation return values (operationId/undoAvailable). The deprecated expectedHash alias is also noted.

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?

The description is front-loaded with the core purpose and then provides necessary details in a logical flow. It is not overly verbose given the complexity (19 parameters, many conditional). However, it could be slightly more structured (e.g., bullet points) for easier scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 19 parameters, no output schema, and nested objects, the description is remarkably complete. It covers all actions, path resolution, update strategies, concurrency, return values, and even deprecated fields. No gaps are evident for an AI agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds significant context beyond the schema, such as the meaning of 'action' values, path resolution rules, preferred update modes, and concurrency usage. This elevates it above baseline but not to a 5 as some parameter-specific details (like max constraints) are already in the schema.

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?

The description lists specific actions (read, create, update, delete, rename, frontmatter) on the 'note' resource, clearly distinguishing it from sibling tools like graph, search, and vault. The verb+resource combination is explicit and unambiguous.

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 provides detailed usage guidance, such as preferring 'patch' or 'replace_section' for updates, explaining path resolution behavior, and advising to pass 'expectedRevision' for concurrency control. However, it does not explicitly compare to sibling tools or state when not to use this tool, which would elevate it to a 5.

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/CoolJohn-lab/Cursidian'

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