Skip to main content
Glama
markdown-vault-mcp

markdown-vault-mcp

by pvliesdonk

OKF: Convert Wikilinks

okf_convert_links
DestructiveIdempotent

Convert wikilinks to bundle-root-absolute Markdown links, the Open Knowledge Format style. Unresolved targets stay unchanged and repeated runs skip converted links, returning counts.

Instructions

Rewrite wikilinks as bundle-root-absolute Markdown links, the Open Knowledge Format's recommended style; returns counts of links converted and skipped.

A wikilink whose target is not in the vault stays as it is. Running it again changes nothing already converted.

Input Schema

NameRequiredDescriptionDefault
folderNoOnly notes in this folder and below, such as `"guides"`; omit for the whole vault.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv6.1.0
    • changedInput schema / properties / folder / description
      Previous value: -"Restrict to this folder subtree (e.g. \"guides\"). Omit to\nconvert the whole vault."New value: +"Only notes in this folder and below, such as `\"guides\"`; omit for the\nwhole vault."
  2. Addedv4.0.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known. The description adds real value by disclosing that unresolvable wikilinks are left untouched and that re-running is a no-op, but it never states that files are rewritten in place, whether there is any undo path, or what 'destructive' concretely risks.

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?

Two short sentences with the core action front-loaded and no filler; the second paragraph carries only non-obvious caveats. The first sentence is slightly overloaded by the appositive about OKF style, but nothing is wasted.

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?

An output schema covers the returned counts, and the sole parameter is fully described in the schema, so the description need not repeat them. What remains thin is mutation semantics — in-place rewrite scope and irreversibility — which matters for a tool flagged destructive.

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% and the single 'folder' parameter is fully documented in the schema, including the omit-for-whole-vault default. The description adds nothing about the folder scoping or whether the folder path is vault-relative, so the baseline 3 applies.

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 ('rewrite') and a precisely named transformation ('wikilinks as bundle-root-absolute Markdown links'), plus the OKF framing. No sibling in the list does link-format conversion, so an agent can identify it unambiguously without opening the schema.

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 purpose implies when to use it (normalizing a vault to OKF-recommended link style), but there is no explicit when-to-use statement, no prerequisites, and no alternatives named (e.g., okf_validate as a read-only check before running). Guidance is inferred rather than stated.

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