Skip to main content
Glama
thoreinstein

obsidian-mcp

by thoreinstein

obsidian_get_broken_links

Scan an Obsidian vault or subfolder to find wikilinks pointing to missing notes, returned grouped by source file.

Instructions

Find all wikilinks in the vault (or a subfolder) that point to non-existent notes. Returns broken links grouped by source file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
subfolderNoLimit scan to this subfolder (optional; default: entire vault)
vault_pathNoOptional vault path override

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the return shape ('broken links grouped by source file') and the read-only nature is evident from 'Find', but it says nothing about scan depth/recursion, cost on large vaults, or behavior when no broken links exist.

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, zero filler, with the core action and scope front-loaded and the return format following. Every clause earns its place.

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?

With no output schema, the description usefully states what is returned and how it is grouped, which covers the main gap. Minor omissions remain, such as whether the scan recurses into nested folders, but nothing essential to invoking it correctly is missing.

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 100% for both parameters, so the schema already documents subfolder and vault_path. The description echoes the subfolder scoping concept but adds no syntax, format, or path-resolution detail 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?

Specific verb ('Find') plus resource ('wikilinks') plus a filter condition ('point to non-existent notes') and scope ('vault or a subfolder'). This is clearly distinct from siblings like obsidian_get_links and obsidian_get_backlinks without needing to open any 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 scope phrase '(or a subfolder)' implies when to narrow the scan, but the description never states when to prefer this over obsidian_get_links, obsidian_get_backlinks, or other link tools, and offers no when-not guidance. Usage is inferable but not spelled out.

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