Skip to main content
Glama
stonematt

mcp-obsidian-cli

by stonematt

obsidian_outline

Get a note's heading outline by file name or exact path. Choose tree, markdown, or JSON output, or request only the heading count.

Instructions

List the heading outline of a note, selecting it by file name or exact path.

Wraps the CLI's outline Verb. Provide one of file or path. Optional format controls the output shape; optional total returns just the heading count.

Parameters: file (optional) — note name using wikilink resolution (e.g. 'My Note') path (optional) — exact vault-relative path (e.g. 'folder/My Note.md') format (optional) — output format: 'tree' (default), 'md', or 'json' total (optional) — true to return the heading count instead of the outline One of file or path is required.

Examples: obsidian_outline({ file: "Meeting Notes" }) obsidian_outline({ path: "Projects/plan.md", format: "json" }) obsidian_outline({ file: "Long Doc", total: true })

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNoFile name (wikilink resolution)
pathNoExact file path
totalNoReturn heading count instead of the outline
formatNoOutput format (default: tree)
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It explains that wraps 'the CLI's outline Verb,' describes the selection methods, and notes that 'total' returns a count. However, it does not cover edge cases like missing notes, conflict resolution when both file and path are provided, or error behavior. For a read operation, the transparency is adequate but not rich.

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 well-structured: it opens with a clear purpose, then a brief note about the CLI wrapper, followed by a parameter summary, and ends with three illustrative examples. The parameter list is somewhat redundant with the schema, but it includes a key requirement (one of file/path) and the examples are concise and helpful. No unnecessary 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 the moderate complexity and absence of an output schema, the description does a good job of conveying expected outputs: it mentions the outline format choices (tree, md, json) and the total count variant. It also addresses the selection ambiguity with a required either/or note. It lacks details on error behavior, but for a read-only outline tool, the essential context is present.

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 already has 100% description coverage for all four parameters, so the baseline is 3. The description adds value beyond the schema by explicitly stating that one of file or path is required, clarifying the format options ('tree', 'md', 'json') with a default, and providing concrete examples. This additional guidance justifies a score above baseline.

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's function: 'List the heading outline of a note, selecting it by file name or exact path.' It uses a specific verb and resource, and the selection criteria (file name or path) distinguishes it from sibling tools like obsidian_read (full content) and obsidian_tags (tags).

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 provides clear context for when to use this tool: to get a heading outline of a single note. It also specifies the usage requirement that 'One of file or path is required' and explains the optional parameters (format, total). It does not explicitly contrast with alternatives, but the unique purpose and selection methods imply appropriate usage.

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

Install Server

Other Tools

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/stonematt/mcp-obsidian-cli'

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