Skip to main content
Glama
pvliesdonk

markdown-vault-mcp

by pvliesdonk

Connection Path

get_connection_path
Read-onlyIdempotent

Find the shortest link path between two notes in a Markdown vault, revealing how seemingly unrelated notes connect through their link structure.

Instructions

Find the shortest connection path between two notes in the link graph.

Treats links as undirected — a link from A to B or B to A both count as a connection. Uses BFS; max_depth is clamped to [1, 10].

Useful for discovering how two seemingly unrelated notes are connected through the vault's link structure (the "six degrees of separation" for your notes).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesVault-relative path of the starting note (e.g. 'Ideas/spark.md').
targetYesVault-relative path of the destination note.
max_depthNoMaximum number of hops to search. Default 10, max 10.
wait_for_pending_writesNoWhen True, wait until your recent document mutations have been applied to the index before answering, so the results reflect those changes. Use it right after modifying notes when this read must see them (e.g. right after a document mutation whose effect this read should reflect). Default False answers immediately from the current index — almost always already up to date; inspect the response's ``_meta.index_stale`` field to tell whether a write was still in flight. Bounded by a server timeout (default 60s); on timeout it answers from the current index rather than waiting longer.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv4.0.0
    • changedInput schema / properties / wait_for_pending_writes / description
      Previous value: -"When True, wait until your recent\nwrite/edit/delete/rename operations have been applied to the\nindex before answering, so the results reflect those changes.\nUse it right after modifying notes when this read must see\nthem (e.g. right after a write/edit/delete/rename whose\neffect this read should reflect). Default\nFalse answers immediately from the current index — almost\nalways already up to date; inspect the response's\n``_meta.index_stale`` field to tell whether a write was still\nin flight. Bounded by a server timeout (default 60s); on\ntimeout it answers from the current index rather than waiting\nlonger."New value: +"When True, wait until your recent\ndocument mutations have been applied to the\nindex before answering, so the results reflect those changes.\nUse it right after modifying notes when this read must see\nthem (e.g. right after a document mutation whose\neffect this read should reflect). Default\nFalse answers immediately from the current index — almost\nalways already up to date; inspect the response's\n``_meta.index_stale`` field to tell whether a write was still\nin flight. Bounded by a server timeout (default 60s); on\ntimeout it answers from the current index rather than waiting\nlonger."
  2. First observedv3.1.0

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the mutation safety profile. The description adds meaningful behavioral detail beyond that: links are treated as undirected, the search uses BFS, and max_depth is clamped to [1, 10]. This gives the agent a solid model of how the search behaves.

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 compact and front-loaded: the first sentence states the core purpose, the second adds algorithmic behavior, and the third provides a helpful use-case metaphor. Every sentence earns its place without redundancy or padding.

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 annotations, fully documented parameters, and the presence of an output schema, the description covers the essential aspects: purpose, algorithm, edge-case clamping, and illustrative use case. It could be slightly stronger with explicit guidance on when to prefer it over direct-link tools, but nothing critical is missing for an agent to invoke it 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 the baseline is 3. The description adds extra semantic value by explaining the BFS algorithm and that max_depth is clamped to [1, 10], which is more specific than the schema's 'max 10' note. Source and target are already well documented 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 opens with a specific verb and resource: 'Find the shortest connection path between two notes in the link graph.' This clearly distinguishes the tool from graph-related siblings like get_similar, get_backlinks, and get_outlinks by emphasizing shortest path between two notes rather than listing links or similar notes.

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 gives clear context: 'Useful for discovering how two seemingly unrelated notes are connected through the vault's link structure.' This tells the agent when to reach for this tool, though it does not explicitly mention alternatives or state when not to use it.

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

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/pvliesdonk/markdown-vault-mcp'

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