Skip to main content
Glama
WhiteWolf-Cyber

obsidian-vault-mcp

obsidian-vault-mcp

A filesystem-based MCP server for Obsidian vaults. Works when Obsidian is closed.

The problem

Every existing Obsidian MCP connector requires Obsidian to be running and the Local REST API plugin active. When Obsidian goes to the background or is closed, the connector drops — silently, mid-session.

Related MCP server: pablo-obsidian-mcp

The solution

This server reads and writes your vault directly from disk via Node's fs module. No Obsidian process required. No plugin dependencies. No background disconnects.

Tools

  • list_vault_files — list vault files, optionally filtered by directory

  • get_vault_file — read a file's content

  • append_to_vault_file — append content (creates file and dirs if needed)

  • create_vault_file — create or overwrite a file

  • patch_vault_file — insert/replace content relative to a heading

  • search_vault_simple — plain-text substring search across all notes

patch_vault_file supports three operations relative to any heading:

  • append — add content after the heading's section

  • prepend — add content immediately after the heading line

  • replace — replace the entire heading section with new content

Install

Download obsidian-vault-mcp.mcpb from the latest release and double-click it. Claude Desktop handles the rest.

Option B — Build from source

Requires Node.js 18+.

git clone https://github.com/WhiteWolf-Cyber/obsidian-vault-mcp cd obsidian-vault-mcp npm install npm run build

Claude Desktop config

Add to mcpServers in ~/Library/Application Support/Claude/claude_desktop_config.json:

macOS / Linux

{ "Obsidian Vault": { "command": "node", "args": ["/absolute/path/to/obsidian-vault-mcp/dist/index.js"], "env": { "OBSIDIAN_VAULT_PATH": "/Users/yourname/ObsidianVault" } } }

Windows

{ "Obsidian Vault": { "command": "node", "args": ["C:\Users\yourname\dev\obsidian-vault-mcp\dist\index.js"], "env": { "OBSIDIAN_VAULT_PATH": "C:\Users\yourname\Documents\ObsidianVault" } } }

Restart Claude Desktop after saving.

Vault path

The vault path resolves in this order:

  1. OBSIDIAN_VAULT_PATH environment variable

  2. ~/ObsidianVault (fallback)

Security

Paths are validated at runtime — requests that resolve outside VAULT_PATH are rejected. The server never traverses above the vault root.

Mobile setup (remote access via Cloudflare Tunnel)

The same 21 vault tools are also served over HTTP/SSE so Claude on iOS/iPad can reach your vault as a custom connector. This is purely additive — the stdio transport above continues to work unchanged for Claude Desktop.

  1. Install cloudflared: brew install cloudflare/cloudflare/cloudflared

  2. Authenticate with Cloudflare: cloudflared tunnel login

  3. Create the tunnel: cloudflared tunnel create obsidian-vault-mcp

  4. Copy the tunnel UUID printed by the previous command into cloudflare-tunnel.yml (replace <tunnel-id> in the credentials-file path).

  5. Set VAULT_MCP_SECRET in your environment (or skip this and let the server generate one — it will print it to stderr on first run, copy it from there).

  6. Start the HTTP server: npm run start:http

  7. Run the tunnel: cloudflared tunnel run obsidian-vault-mcp (or install cloudflared as a launchd service for persistent background operation on macOS — see Cloudflare's launchd service docs for the plist template.)

  8. In the Claude iOS/iPad app, add a custom connector:

    • URL: https://vault.envoyagent.app/sse

    • Authorization: Bearer <your VAULT_MCP_SECRET>

Restarting the connector

If the connector seems stuck, the 10-second I/O timeout guard (see withTimeout in src/tools.ts) will surface a clear error instead of hanging silently. To restart the HTTP transport itself:

pkill -f http-server.js
npm run start:http

No Claude Desktop restart is needed — this only affects the HTTP/SSE transport, not the stdio connection Claude Desktop uses.

Env vars

VAULT_MCP_SECRET=<generate with: openssl rand -hex 32 — do not commit>
PORT=3456
OBSIDIAN_VAULT_PATH=/Users/darrellmahrle/dev/vault

Built by

EnvoyAgent — AI-powered outbound voice appointment setting.

Available Tools

21 tools
append_to_vault_fileA

Append content to a vault file, creating the file and any missing parent directories if needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description carries the full burden. It discloses that the tool can create files and directories, which is good. However, it lacks details on whether appending is to the end of the file, if content is treated as a line, or any constraints like encoding or file size limits. Adequate but not thorough.

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?

The description is a single sentence of 18 words, front-loaded with the core action and essential details (creating file/dirs). Every word earns its place, with no redundancy.

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?

Given the tool's simplicity and lack of output schema, the description covers the main behavior: appending, creating file, creating parent directories. It is mostly complete, though it could clarify whether appending always adds to the end of the file.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only implicitly references 'path' and 'content' through the action, but does not explain their formats, constraints, or allowed values. This adds little meaning beyond 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 clearly states the action ('Append content') and the resource ('vault file'), and it distinguishes itself from siblings like 'create_vault_file' by implying the file may already exist. The additional detail about creating missing directories adds precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. There is no mention of when not to use it, nor any reference to sibling tools like 'create_vault_file' or 'patch_vault_file' for different scenarios.

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

create_vault_directoryB

Create a directory (and any missing parents) inside the vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only discloses basic mutation (create) and recursive behavior (missing parents). It does not mention outcomes when the directory already exists, permission requirements, or return values, which are important for a write operation.

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?

Extremely concise: one 10-word sentence that front-loads the verb and resource. Every word earns its place with no redundancy.

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

Completeness3/5

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

Given the tool's low complexity (one parameter, no output schema), the description covers the essential purpose. However, it lacks details on behavior for existing directories, error conditions, and vault-specific constraints, leaving some gaps for an AI agent.

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 0%, so the description must compensate. It explains that 'path' is used for the directory path and can include missing parents, adding meaning beyond the schema type. However, it omits details like path format (absolute/relative) and trailing slash conventions.

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 clearly states the action (create) and resource (directory inside the vault) and specifies the capability to create missing parent directories, distinguishing it from sibling tools like create_vault_file or delete_vault_directory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description lacks context about idempotency, error handling, or scenarios where this tool should be avoided.

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

create_vault_fileA

Create (or overwrite) a vault file with the given content, creating any missing parent directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

TDQS

A3.9/5.0
Behavior4/5

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

Without annotations, the description conveys important behavioral traits: it can overwrite existing files and it creates missing parent directories. However, it does not disclose other relevant aspects like permissions, size limits, or return behavior.

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?

The description is a single concise sentence that conveys the core functionality and key behavioral note about parent directories. It is well-structured and front-loaded.

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?

Given the tool's simplicity (2 required parameters, no output schema, no annotations), the description covers creation, overwrite, and directory creation. It could be improved by mentioning return value or error handling.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds minimal parameter context beyond the schema. It mentions 'with the given content' but does not explain the format or constraints of path or content parameters.

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 clearly states the action (create or overwrite), resource (vault file), and key behavior (creating missing parent directories). It distinguishes from sibling tools like append_to_vault_file which appends rather than overwrites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating or overwriting files but does not explicitly provide when-to-use or when-not-to-use guidance. It lacks comparison to alternatives such as append_to_vault_file or patch_vault_file.

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

delete_vault_directoryA

Delete a directory inside the vault. Non-recursive fails if the directory is not empty.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
recursiveNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the non-recursive failure condition but does not mention irreversibility, permission requirements, or what happens to contents on recursive deletion.

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?

Two sentences, 15 words. Front-loaded with the core action, followed by the key condition. No redundancy or fluff.

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?

Given low complexity (2 params, no output schema, no annotations), the description covers the essential behavior. Missing details like error handling or return value, but acceptable for this scope.

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 coverage is 0%, so description compensates. It explains the recursive parameter's purpose via the condition. The path parameter is minimally described, but the tool context clarifies it is the vault directory path.

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 clearly states the action (Delete) and resource (a directory inside the vault). It also specifies the non-recursive behavior, distinguishing it from file-level sibling tools like delete_vault_file.

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 when to use this tool (to delete directories) and hints at when not to use non-recursive (if directory not empty). However, it does not explicitly compare to alternatives or provide exclusion criteria.

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

delete_vault_fileC

Delete a single vault file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state that deletion is permanent, whether confirmation is needed, or what errors may occur. The single sentence only repeats the action.

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 extremely concise (5 words) and front-loaded with the verb and resource. However, it sacrifices necessary information for brevity, making it slightly under-specified.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description should at least note the irreversible nature of deletion and potential error conditions. It fails to provide a complete picture, leaving the agent underinformed.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for missing parameter details. It does not explain the 'path' parameter beyond implying it is a file path. No format, constraints, or example is given.

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 clearly states the verb 'Delete' and the resource 'a single vault file', distinguishing it from sibling tools like delete_vault_directory. It is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention that it should be used only for files and not directories, nor does it give any context on prerequisites or outcomes.

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

get_files_by_tagA

List vault files that contain a given #tag, with per-file occurrence counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
limitNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that results include per-file occurrence counts, adding value beyond the purpose. However, it does not mention read-only nature, permissions, or other behavioral traits like rate limits or data freshness.

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?

The description is a single concise sentence that is front-loaded with the core action and result. Every word contributes meaning, with no unnecessary detail.

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

Completeness2/5

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

Given no output schema, no annotations, and 0% schema description coverage, the description is insufficient. It fails to explain the 'limit' parameter or provide context about the result set, pagination, or limitations.

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

Parameters2/5

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

Schema description coverage is 0%. The description implicitly covers the 'tag' parameter but provides no explanation for the 'limit' parameter. It adds only marginal meaning beyond the schema's property names.

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 clearly states the tool lists vault files containing a given #tag with per-file occurrence counts. It uses a specific verb ('List') and resource ('vault files'), distinguishing it from siblings like 'list_tags' or 'search_vault_simple'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for tag-based file listing but does not explicitly state when to use this tool versus alternatives. No exclusions or guidance on when not to use it is provided.

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

get_note_outlineC

Get the heading outline of a vault file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states the basic action, without disclosing whether it is read-only, required permissions, rate limits, or what happens if the file has no headings. The description is insufficient for transparency.

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 a single, efficient sentence with no unnecessary words. However, it lacks structural elements like separate sections for usage or parameters, which would improve readability without increasing length.

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

Completeness1/5

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

Given no output schema, no annotations, and only one parameter with no description, the tool description is severely incomplete. It does not explain the format of the returned outline, error handling, or edge cases. The agent lacks critical information to correctly invoke and interpret results.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the parameter 'path' lacks any schema documentation. The description does not add meaning beyond the parameter name, failing to explain what format the path should be (relative/absolute) or whether it refers to a file or directory. The description adds minimal value over the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Get the heading outline of a vault file'), clearly indicating the tool's function. However, it does not differentiate it from sibling tools like get_vault_file or get_outgoing_links, which could also involve file content. The purpose is clear but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, suitable contexts, or when not to use it. The agent receives no help in selecting this tool over siblings.

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

get_note_propertyB

Get a YAML frontmatter property's value from a vault file.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
pathYes

TDQS

B3.1/5.0
Behavior2/5

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

The description discloses only the basic operation. No annotations are provided, so the description should cover side effects, required permissions, or error handling, but it omits all such details.

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?

The description is a single sentence with no wasted words. It is front-loaded and efficiently conveys the core purpose.

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

Completeness2/5

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

Given no output schema, the description should explain what the tool returns (e.g., value type, null for missing property), but it does not. It also lacks details on error cases or behavior for non-existent properties.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description adds no information beyond the parameter names. It does not clarify that 'path' is a file path or 'key' is a YAML key, nor does it specify expected formats or constraints.

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 clearly states the verb ('Get') and the resource ('YAML frontmatter property's value from a vault file'). It is specific and distinct from sibling tools like 'set_note_property' and other retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or any context-specific conditions.

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

get_recent_filesB

List vault markdown files sorted by most recently modified first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the sorting order (most recently modified first), which is a key behavior. However, does not explicitly state read-only nature or other constraints.

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?

Single sentence, no extraneous words. However, slight over-brevity as it omits parameter explanation. Efficient but not maximally informative.

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

Completeness3/5

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

Given simple tool with one optional parameter and no output schema, description adequately conveys core functionality and sorting order. Lacks details on parameter use and possible return format, leaving minor gaps.

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

Parameters1/5

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

Parameter 'limit' has 0% schema coverage and is not mentioned in the description. The description adds no meaning beyond the schema's type field. Agent has no guidance on what 'limit' does or its expected values.

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 clearly states action (list), resource (vault markdown files), and distinguishing feature (sorted by most recently modified first). Differentiates from siblings like list_vault_files and get_files_by_tag.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for retrieving recently modified files, but lacks explicit guidance on when to use this tool versus alternatives such as list_vault_files. No exclusions or direct comparisons.

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

get_vault_fileB

Get the contents of a vault file by its vault-relative path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states that the tool retrieves 'contents', but does not specify whether the output is plain text, markdown, binary, or structured data. It also omits any mention of auth requirements, rate limits, file size limits, or error handling, which are critical for safe invocation.

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 a single, front-loaded sentence with no wasted words. It efficiently conveys the core functionality. While slightly more detail might be beneficial, it remains appropriately concise without sacrificing clarity.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description is minimally adequate. It explains what the tool does and the input needed. However, it lacks details about the return format (e.g., 'contents' is ambiguous), error conditions, or any limitations, leaving the agent with partial information.

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?

The schema has 0% description coverage for the single 'path' parameter, so the description must compensate. The phrase 'vault-relative path' explains that the path is relative to the vault, not an absolute filesystem path, which adds crucial context beyond the schema's bare string type. However, it does not specify format details (e.g., leading slash, allowed characters), which could lead to errors.

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 clearly states the action ('Get') and the resource ('contents of a vault file') with the specific qualifier 'by its vault-relative path', which distinguishes it from sibling tools like 'get_vault_file_partial' that retrieve partial content. It uses a specific verb and resource, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'get_vault_file_partial' or 'list_vault_files'. There are no conditions, prerequisites, or exclusions mentioned, leaving the agent to infer appropriate usage without explicit instructions.

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

get_vault_file_partialA

Get the content of a single heading's section from a vault file (heading line through the next same-or-higher-level heading, exclusive).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
targetYes
targetTypeYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Describes what is returned (heading section exclusive of next same-or-higher). Does not address error behavior (e.g., heading not found, file missing) or edge cases like duplicate headings. Adequate for a simple read operation.

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?

Single sentence with parenthetical clarification. No wasted words, front-loaded with verb and object. Efficiently communicates the core behavior and boundary condition.

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

Completeness3/5

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

Given 0% schema coverage and no output schema, the description should provide more context. It captures the essential functional behavior but lacks details on parameter values, error scenarios, and usage nuances. Adequate for a simple tool but incomplete for fully informed invocation.

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

Parameters2/5

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

Schema coverage is 0%, so description must add meaning. Only clarifies that targetType is 'heading', but does not explain what 'target' represents (e.g., heading text) or what 'path' is. Leaves two parameters partially or fully undocumented in terms of semantics beyond schema names.

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 clearly states the verb 'Get' with specific resource 'content of a single heading's section from a vault file'. It precisely defines boundaries: includes heading line through next same-or-higher-level heading exclusive. This distinguishes it from siblings like get_vault_file (full file) and get_note_outline (structure only).

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?

Implies usage when a specific section under a heading is needed. Does not explicitly exclude alternatives or mention when not to use, but the focused description makes it clear this is for partial content. Lacks explicit when-not and alternative references.

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

list_tagsA

List all #tags used across the vault with their occurrence counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Description mentions occurrence counts but lacks details on sorting, pagination, or output format. Annotations are absent, so description carries full burden; more info on return structure would improve transparency.

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?

Single concise sentence that front-loads the action and resource, no wasted words.

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

Completeness3/5

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

Adequate for a simple listing tool, but without output schema, the agent might not fully understand the response format (e.g., array of objects).

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?

No parameters, so description adds no value beyond schema. Baseline 4 for 0 parameters.

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 clearly states the tool lists tags with occurrence counts, using a specific verb ('List') and resource ('#tags'), and distinguishes from siblings like get_files_by_tag which filters files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like get_files_by_tag, but the purpose is clear enough for straightforward listing.

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

list_vault_filesC

List markdown (.md) files in the vault, optionally under a subdirectory.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
directoryNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description must fully disclose behavior. It states it lists markdown files but omits details such as whether directories are recursed, whether hidden files are included, pagination behavior, or the format of the returned file identifiers. This lack of context reduces transparency.

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

Conciseness3/5

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

The description is a single, concise sentence that is front-loaded with the core action. However, it sacrifices necessary detail for brevity, making it less useful than a slightly longer but more informative description.

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

Completeness2/5

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

Given the lack of annotations, output schema, and parameter descriptions, the description is insufficient. It does not explain return values, pagination, recursion behavior, or how it compares to the many sibling tools (e.g., get_files_by_tag, search_vault_simple). The tool is moderately complex, requiring more context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must clarify parameters. It only mentions 'optionally under a subdirectory' for the directory parameter, with no details on format or default. The limit parameter is not addressed at all, leaving its purpose and constraints ambiguous.

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 clearly states the verb 'List' and the resource 'markdown (.md) files in the vault', with an optional subdirectory qualifier. This distinguishes it from sibling tools like get_vault_file (retrieves a single file) and get_recent_files (lists recently modified files).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the description mentions optional subdirectory filtering, it does not compare to related tools like search_vault_simple or get_files_by_tag, nor does it specify when listing files is appropriate.

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

patch_vault_fileB

Patch a vault file relative to a markdown heading: append/prepend content within the heading's section, or replace the section's content entirely.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
targetYes
contentYes
operationYes
targetTypeYes

TDQS

B3.3/5.0
Behavior2/5

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

Without annotations, the description carries the full burden. It does not disclose behavioral traits such as whether the operation is destructive, permission requirements, side effects (e.g., what happens if the heading does not exist), or idempotency. The agent has no insight into risks or guarantees.

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?

The description is a single, well-structured sentence. It fronts the purpose and lists operations concisely without extraneous information. Every word adds value.

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

Completeness2/5

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

Given 5 required parameters, no output schema, and no annotations, the description is insufficient. It does not mention return values, error handling, behavior when headings are missing or duplicated, or the effect on file structure. The tool's complexity exceeds the description's coverage.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only mentions parameters superficially (path, target heading, operation, content). It does not explain format constraints (e.g., case sensitivity of target, expected content format), default behaviors, or edge cases. The agent has to infer semantics from parameter names alone.

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 clearly states the verb 'patch', the resource 'vault file', and the specific context 'relative to a markdown heading'. It also lists the three operations (append, prepend, replace), which distinguishes it from sibling tools like append_to_vault_file that likely operate on the entire file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when modifying content under a specific heading but provides no explicit guidance on when to use this tool versus alternatives, nor does it state prerequisites or conditions. It lacks exclusion criteria or caveats.

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

rename_headingC

Rename a heading's text in a vault file, preserving its level.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
newHeadingYes
oldHeadingYes

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description alone must disclose behavioral traits. It states the action (rename heading text) and preservation of level, but fails to mention key behaviors: whether it renames only the first occurrence or all, error handling for missing headings, or if the modification is destructive (permanent change).

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

Conciseness2/5

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

The description is overly concise—one sentence that omits necessary detail. While brevity is valued, it fails to earn its place by not covering parameter usage or behavioral context, making it underspecified.

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

Completeness1/5

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

Given the lack of output schema, three undocumented parameters, and no behavioral context, the description is woefully incomplete. The agent cannot safely invoke this tool without guessing behavior for edge cases like missing headings or multiple matches.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not elaborate on any of the three parameters (path, oldHeading, newHeading). The description adds no meaning beyond what the schema's property names imply, leaving the agent to guess format or constraints.

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 uses a specific verb ('rename') and resource ('heading's text in a vault file'), and adds the crucial constraint 'preserving its level.' This clearly distinguishes it from sibling tools like 'rename_vault_file' (renames the whole file) or 'search_and_replace' (generic text replacement).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'search_and_replace' or 'append_to_vault_file'. Given the diverse sibling list, explicit context on usage scenarios is missing.

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

rename_vault_fileA

Rename/move a vault file and update [[wikilinks]] referencing its old filename across the vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
newPathYes

TDQS

A3.6/5.0
Behavior3/5

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

The description discloses the important side effect of updating wiki links, which is good. However, it does not mention behavior when newPath exists, permission requirements, or other edge cases, and annotations are absent.

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?

The description is a single sentence that front-loads the action (rename/move) and key side effect, with no wasted words.

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

Completeness3/5

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

Given no output schema and minimal parameter info, the description covers the primary function but lacks details on overwrite behavior and path format, which are relevant for correct tool invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain what 'path' and 'newPath' represent (e.g., absolute vs relative paths). While context makes it somewhat inferable, the lack of explicit parameter semantics is a gap.

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 clearly states the tool renames or moves a vault file and updates wiki links, which is specific and distinguishes it from sibling tools like rename_heading or delete_vault_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for renaming files with link updates but provides no explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives like rename_heading.

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

search_and_replaceC

Find and replace text across the vault (or a single file). Supports literal or regex patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
isRegexNo
patternYes
replacementYes

TDQS

C2.7/5.0
Behavior2/5

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

Without annotations, the description only reveals that literal and regex patterns are supported. It fails to disclose that the tool modifies files, potential side effects (e.g., irreversible changes), performance implications, or required permissions.

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 very short (two sentences) and front-loads the core purpose. However, it is too concise, missing important details without becoming verbose.

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

Completeness2/5

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

For a mutation tool that can affect the entire vault, the description lacks crucial context: no mention of destructive nature, no output schema, no prerequisites. It is not complete enough for safe usage.

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

Parameters2/5

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

The description adds minimal value beyond the schema: it mentions literal/regex support (tying to pattern and isRegex), but does not explain the path parameter (how to scope to a file) or the replacement behavior. With 0% schema coverage, more detail is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs find and replace on text, with scope across the vault or a single file. It stands out from sibling tools which focus on file creation, deletion, or simple edits, making its purpose distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like manual editing or other search tools. There is no mention of prerequisites, limitations, or exclusion criteria.

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

search_vault_simpleB

Case-insensitive substring search across all vault markdown files.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses core behavior (case-insensitive substring search across all markdown files), but does not explain return format (e.g., file paths, snippets) or pagination. Adequate but incomplete.

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?

The description is a single sentence that immediately conveys the tool's purpose. No wasted words; front-loaded with the key functionality.

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

Completeness2/5

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

Given the two parameters, no output schema, and no annotations, the description is insufficient for correct agent usage. It omits return value specification and details about the 'limit' parameter, making the tool's complete behavior unclear.

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

Parameters2/5

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

Schema description coverage is 0%. The description explains 'query' as a substring search term, but does not mention 'limit' at all. This leaves the agent to guess its purpose or constraints.

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 clearly states 'Case-insensitive substring search across all vault markdown files', which specifies the verb (search), resource (vault markdown files), and scope (all). This distinguishes it from sibling tools like list_vault_files or search_and_replace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives (e.g., search_and_replace, get_vault_file). No when-to-use, when-not-to-use, or prerequisites are mentioned.

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

set_note_propertyA

Set (or add) a YAML frontmatter property on a vault file, creating a frontmatter block if none exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
pathYes
valueYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that the tool creates a frontmatter block if none exists, which is a key behavioral trait. However, it does not mention overwrite behavior or file existence handling.

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?

The description is a single sentence with no wasted words. It concisely conveys the essential action and boundary condition.

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

Completeness3/5

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

For a tool with 3 required parameters and no output schema, the description covers the core action but lacks parameter documentation and usage context. It is minimally adequate but has clear gaps.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description provides no explanation of the parameters (key, path, value) beyond their names. It fails to add meaning about types, constraints, or roles, making it insufficient for selecting and invoking the tool correctly.

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 specifies the action ('set or add') and the resource ('YAML frontmatter property on a vault file'), and distinguishes from sibling tools like get_note_property. It also clarifies the behavior of creating a frontmatter block if none exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when setting a frontmatter property) but does not explicitly state when not to use it or mention alternatives. It lacks guidance on distinguishing from similar tools like patch_vault_file.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updatesv1.0.0
    • First observedappend_to_vault_file
    • First observedcreate_vault_directory
    • First observedcreate_vault_file
    • First observeddelete_vault_directory
    • First observeddelete_vault_file
    • First observedget_backlinks
    • First observedget_files_by_tag
    • First observedget_note_outline
    • First observedget_note_property
    • First observedget_outgoing_links
    • First observedget_recent_files
    • First observedget_vault_file
    • First observedget_vault_file_partial
    • First observedlist_tags
    • First observedlist_vault_files
    • First observedpatch_vault_file
    • First observedrename_heading
    • First observedrename_vault_file
    • First observedsearch_and_replace
    • First observedsearch_vault_simple
    • First observedset_note_property

TDQS

A3.6/5.0

Scored across 21 tools

Disambiguation5/5

Each tool has a clearly distinct purpose, from file/directory CRUD to specialized operations like heading manipulation, tag listing, and link tracking. Overlaps are minimal and well-differentiated.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case, e.g., create_vault_file, get_backlinks, search_and_replace. This pattern is predictable and aids agent understanding.

Tool Count5/5

With 21 tools, the set is well-scoped for managing an Obsidian vault. It covers essential operations without being overwhelming.

Completeness5/5

The tool surface covers file/directory CRUD, search, tag management, link tracking, frontmatter properties, and heading operations. No obvious gaps for typical vault management tasks.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides read and write access to an Obsidian vault by interacting directly with markdown files on disk. Supports searching, listing, reading, creating, editing, and appending notes without requiring any Obsidian plugins.
    2,547 npm
    ISC
  • F
    license
    A
    quality
    A
    maintenance
    A filesystem-based MCP server for Obsidian vaults that enables LLMs to browse, search, read, write, and edit Markdown notes directly on disk without requiring Obsidian to be running.
    6
    797 npm
    1
    -
  • A
    license
    A
    quality
    A
    maintenance
    A headless MCP server for interacting with Obsidian vaults, enabling AI assistants to search, read, edit, and manage notes and their structure without a GUI.
    25
    MIT