Skip to main content
Glama
pvliesdonk

markdown-vault-mcp

by pvliesdonk

OKF: Convert Wikilinks

okf_convert_links
DestructiveIdempotent

Rewrites wikilinks in a Markdown vault to OKF bundle-root-absolute markdown links, preserving the link graph by resolving indexed targets and skipping unresolved ones.

Instructions

Rewrite wikilinks as OKF bundle-root-absolute markdown links.

A migration transform (Open Knowledge Format): converts every resolvable [[wikilink]] in the vault (or one folder) into [text](/path/note.md), OKF's recommended link style. Only links whose target is indexed are converted, so the link graph is preserved exactly — a converted link points at the same note the wikilink resolved to. Unresolvable wikilinks are left untouched and counted as skipped; attachment embeds are not links. Each changed note is written through the write path (git commit if configured). Re-running is safe: converted links are plain markdown and are not touched again. Waits up to 60s for prior index writes; refresh errors abort before conversion.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folderNoRestrict to this folder subtree (e.g. "guides"). Omit to convert the whole vault.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.0.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already signal idempotent and destructive, and the description deepens this by disclosing that changed notes go through the write path with possible git commits, that it waits up to 60s for index writes, that refresh errors abort before conversion, and that re-running is safe because converted links are plain markdown. No contradiction with readOnlyHint=false, idempotentHint=true, or destructiveHint=true.

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 dense but purposeful, front-loading the core transform in the first sentence and then listing behavioral constraints. It is longer than strictly necessary because the first sentence restates the title's 'Convert Wikilinks' concept, but every remaining clause adds meaningful operational detail.

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 one-optional-parameter destructive transform with an output schema, the description covers the conversion rule, scope, skip conditions, write-path behavior, idempotency, timeout, and error handling. An agent has enough context to decide and invoke the tool without needing the return structure, which is covered by the output schema.

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%, so the optional folder parameter is already fully documented in the schema. The description reinforces that the folder restricts subtree conversion, but it does not add semantic detail beyond the schema, so the baseline 3 is appropriate.

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 first sentence names a specific verb and resource: 'Rewrite wikilinks as OKF bundle-root-absolute markdown links,' and the paragraph clarifies it converts resolvable [[wikilinks]] in the vault or a folder. This distinguishes it from sibling tools like okf_validate or okf_generate_index, which serve different migration/indexing purposes.

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 frames the tool as a migration transform and states explicit input constraints: only indexed/resolvable wikilinks are converted, unresolvable ones are skipped, and attachment embeds are not links. It does not name alternative tools, but the unique migration purpose and constraints give an agent clear guidance on when this tool applies.

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