Skip to main content
Glama

obx

CI Go Report Card License Docs

A fast, lightweight MCP server for Obsidian vaults. Built in Go for speed and simplicity.

Documentation | Quick Start | MCP Tool Reference

Why This Project?

Feature

obx

Other MCP Servers

No plugins required

Works directly with vault files

Often require Obsidian REST API plugin

Single binary

One file, zero dependencies

Node.js/Python runtime needed

Cross-platform

macOS, Linux, Windows

Often have platform issues

72 actions

16 multiplexed tools, comprehensive vault operations

Typically 10-20 tools

Fast startup

~10ms

Seconds for interpreted languages

Related MCP server: obsidian-local-mcp

Quick Start

1. Install with one command:

curl -sSL https://raw.githubusercontent.com/zach-snell/obx/main/install.sh | bash

This auto-detects your OS/architecture and installs to /usr/local/bin.

No sudo? Install to ~/.local/bin instead:

curl -sSL https://raw.githubusercontent.com/zach-snell/obx/main/install.sh | bash -s -- --user
# macOS (Apple Silicon)
curl -sSL https://github.com/zach-snell/obx/releases/latest/download/obx-darwin-arm64 -o obx && chmod +x obx

# macOS (Intel)
curl -sSL https://github.com/zach-snell/obx/releases/latest/download/obx-darwin-amd64 -o obx && chmod +x obx

# Linux
curl -sSL https://github.com/zach-snell/obx/releases/latest/download/obx-linux-amd64 -o obx && chmod +x obx

2. Configure your MCP client:

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian": {
      "command": "/path/to/obx",
      "args": ["mcp", "/path/to/your/vault"]
    }
  }
}

The server will be auto-discovered, or add to your config:

{
  "mcpServers": {
    "obsidian": {
      "command": "/path/to/obx",
      "args": ["mcp", "/path/to/your/vault"]
    }
  }
}

Run as an HTTP server for remote access or multi-client setups:

# Start HTTP server on port 8080
obx mcp /path/to/vault --http :8080
# or via env var
OBSIDIAN_ADDR=:8080 obx mcp /path/to/vault

Then configure your MCP client to connect to http://localhost:8080/mcp.

# Run directly (communicates via stdio, default)
obx mcp /path/to/vault

3. Start using it! Ask your AI assistant to search your vault, create notes, manage tasks, etc.

⚠️ Paths are relative to the vault root. All path parameters use paths like projects/todo.md, not the full filesystem path. Using absolute paths will create nested directories inside your vault.

Installation Options

Download from Releases:

Platform

Binary

macOS (Apple Silicon)

obx-darwin-arm64

macOS (Intel)

obx-darwin-amd64

Linux (x64)

obx-linux-amd64

Linux (ARM)

obx-linux-arm64

Windows

obx-windows-amd64.exe

Go Install

go install github.com/zach-snell/obx/cmd/obx@latest
mv $(go env GOPATH)/bin/server $(go env GOPATH)/bin/obx

Build from Source

git clone https://github.com/zach-snell/obx.git
cd obx
go build -o obx ./cmd/obx

Upgrade

Just run the install script again - it always fetches the latest version:

curl -sSL https://raw.githubusercontent.com/zach-snell/obx/main/install.sh | bash

Advanced Server Configuration

obx mcp supports flags for strict access control and dynamic operations:

Selective Tool Disablement

If you don't want the AI assistant to access specific tools (e.g. bulk operations or deletion), you can blacklist entire tool groups using the --disabled-tools flag:

obx mcp /my/vault --disabled-tools manage-folders,bulk-operations,manage-frontmatter

Dynamic Vault Switching

By default, an obx mcp instance is locked to a single vault path. If you want to allow an LLM to switch the active vault dynamically via the MCP protocol without restarting the server, enable it like this:

obx mcp /my/vault --allow-vault-switching

To restrict which vaults the agent is allowed to switch to, first define aliases using setup commands like obx vault add my-notes /path/to/notes, then pass the allowed aliases to the server:

obx mcp /my/vault --allow-vault-switching --allowed-vaults my-notes,work,personal

MCP Tool Reference (16 Multiplexed)

obx multiplexes its 72 actions into 16 MCP tool groups to prevent context-window exhaustion and stay well under LLM tool limit restraints (e.g. Cursor allows 40, Copilot allows 128). You pass an "action" argument to each tool to route to the specific functionality.

MCP Tool Group

Description

manage-notes

List, read, write, rename, append, delete, or duplicate notes.

edit-note

Perform surgical find-and-replace or precise markdown header editing.

read-batch

Read entire blocks of multiple files or extract headers simultaneously.

search-vault

Leverage fuzzy text search, regex, tags, headings, frontmatter queries, or date queries.

bulk-operations

Move directories, change root tags, or mass-update frontmatter fields across many files.

manage-folders

List, create, or recursively delete directories.

manage-frontmatter

Set, get, or remove YAML frontmatter keys; read and write Dataview inline fields.

manage-links

Resolve backlinks, forward-links, or ask the AI to suggest new graph connections.

manage-tasks

Parse lists of - [ ] markdown checkboxes, toggle states, or filter by completion.

analyze-vault

Hunt for broken links, orphan notes, stubs, and get massive mathematical token/word stats.

manage-periodic-notes

Fetch or instantiate Daily, Weekly, Monthly, or Yearly notes automatically.

manage-templates

Find and dynamically inject markdown blocks from your templates directory.

manage-mocs

Auto-generate alphabetical directory indices or group unlinked notes into Maps of Content.

manage-canvas

Create logic nodes and draw line edges across Obsidian JSON .canvas files.

refactor-notes

Split notes by heading, merge multiple notes, or extract sections to new notes.

manage-vaults

(Opt-in only) Dynamically remount the active server workspace without restarting.

NOTE

For the exhaustive list ofaction arguments accepted by each tool group, please read the Official Documentation Site.


Token-Efficient + Safe Writes

High-frequency tools now support compact responses and destructive tools support preview-first workflows.

Response Modes

  • mode=compact (default): small JSON envelope with summary + bounded data

  • mode=detailed: legacy markdown-rich output for human reading

Example compact envelope:

{
  "status": "ok",
  "mode": "compact",
  "summary": "Found 42 notes",
  "truncated": false,
  "data": {
    "total_count": 42,
    "returned_count": 42
  }
}

Dry Run For Destructive/Bulk Tools

Use dry_run=true to preview operations without writing:

  • delete-note, delete-folder

  • bulk-tag, bulk-move, bulk-set-frontmatter

  • merge-notes, extract-note, extract-section

  • batch-edit-note

Optimistic Concurrency

Write/edit tools accept optional expected_mtime (RFC3339Nano).
If file modification time differs, the operation fails instead of overwriting newer changes.


Usage Examples

Daily Workflow

"Create today's daily note and show me my open tasks"
"What did I work on last week?"
"Find notes I haven't touched in 3 months"

Research & Writing

"Search my vault for anything about 'machine learning'"
"Find all notes tagged #project and #active"
"What notes mention 'API design' but aren't linked?"

Vault Maintenance

"Find orphan notes with no connections"
"Show me stub notes under 100 words"
"Generate a MOC for my projects folder"

Bulk Operations

"Add #archive tag to all notes in the old-projects folder"
"Move all notes tagged #2023 to the archive folder"
"Set status: complete on these 5 project notes"

Template Variables

Create templates in your templates/ folder:

---
title: {{title}}
date: {{date}}
status: {{status:draft}}
---

# {{title}}

Created: {{datetime}}

Built-in Variables

Variable

Example

{{date}}

2024-01-15

{{time}}

14:30

{{datetime}}

2024-01-15 14:30

{{year}}

2024

{{month}}

01

{{day}}

15

{{title}}

Note title

{{filename}}

Note.md

{{timestamp}}

Unix timestamp

Use {{var:default}} for default values.


Task Format

Compatible with Obsidian Tasks plugin:

- [ ] Open task
- [x] Completed task
- [ ] Has due date 📅 2024-01-15
- [ ] High priority ⏫
- [ ] Medium priority 🔼
- [ ] Low priority 🔽
- [ ] Tagged #project #urgent

Security

  • Path traversal protection: All file operations are sandboxed to your vault

  • Read-only by default: Write operations require explicit tool calls

  • No network access: The server only accesses local files


Development

# Setup (requires Go 1.21+)
git clone https://github.com/zach-snell/obx.git
cd obx

# With mise (recommended)
mise install && mise run check

# Without mise
go build -o obx ./cmd/obx
go test -race -cover ./...
go test -bench 'Benchmark(ListNotes|SearchVault)' ./internal/vault

Available Commands

Command

Description

mise run build

Build binary

mise run test

Run tests

mise run lint

Run linters

mise run check

All checks

mise run fuzz

Fuzz tests


FAQ

Q: Do I need Obsidian running?
A: No. This server works directly with vault files on disk.

Q: Will this conflict with Obsidian?
A: No. Both can access the same files safely.

Q: What about sync (iCloud, Dropbox, etc)?
A: Works fine. The server reads/writes standard markdown files.

Q: Can I use multiple vaults?
A: Yes! You have two main options:

  1. Run multiple server instances, each pointing to a different vault on a different port.

  2. Register vaults globally via obx vault add <alias> <path> and run the server with obx mcp --allow-vault-switching --allowed-vaults <aliases...>. This exposes a manage-vaults MCP tool allowing the AI assistant to switch between them dynamically.


License

Apache 2.0 - see LICENSE

Available Tools

15 tools
analyze-vaultB

Unified analytical tool to get vault stats, detect broken links, orphans, stubs, and outdated notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'stats', 'broken-links', 'orphan-notes', 'unlinked-mentions', 'find-stubs', 'find-outdated'
directoryNoDirectory to analyze
include_no_outgoingNoInclude notes with no outgoing links (dead ends)
pathNoPath to the note to find unlinked mentions of
max_wordsNoMaximum word count to qualify as stub (default 100)
limitNoMaximum results (default 50)
daysNoDays since modification to qualify as outdated (default 90)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden for behavioral disclosure. It implies read-only analysis but does not explicitly state safety, permissions, or any side effects, leaving significant gaps.

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 a single concise sentence that front-loads the purpose. It is efficient with no waste, though it could be slightly more detailed without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity with 7 parameters and multiple actions, the description is too brief. It does not explain how parameters interact, return values, or provide context for the various actions, making it incomplete.

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%, so baseline is 3. The description does not add additional meaning beyond the schema's per-parameter descriptions, which are clear but not supplemented.

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 as a unified analytical tool for vault stats, broken links, orphans, stubs, and outdated notes, using specific verbs and distinguishing it from sibling tools like search-vault or manage-notes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like search-vault or manage-links. It only implies usage for analytics without setting context or exclusions.

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

bulk-operationsB

Unified bulk operational tool for tagging, moving, and updating frontmatter across multiple notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'tag', 'move', 'set-frontmatter'
pathsNoComma-separated list or JSON array of paths
tagNoTag to add or remove
tag_actionNoAction: 'add' (default), 'remove'
dry_runNoPreview changes without modifying files
destinationNoDestination folder
update_linksNoWhether to update links (default true)
keyNoFrontmatter key
valueNoValue to set

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions three write actions but does not disclose behavioral traits such as whether it modifies files, requires permissions, or error handling behavior.

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 a single, efficient sentence that conveys the tool's purpose and scope without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, multiple actions, no output schema), the description is too brief. It lacks context about common use cases, expected outcomes, or the optional dry_run parameter, which is critical for a potentially destructive tool.

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?

With 100% schema description coverage, the schema already documents all parameters. The description adds no additional meaning beyond the schema, so baseline score of 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 description clearly states it is a 'unified bulk operational tool' for three specific actions (tagging, moving, updating frontmatter), distinguishing it from sibling tools that handle these actions individually.

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 description implicitly indicates use for bulk operations but provides no explicit guidance on when to use this tool versus its more specific siblings (e.g., manage-tags, manage-folders) or 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.

edit-noteB

Unified tool for targeted text edits, section replacements, and batch edits

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'edit', 'replace-section', 'batch-edit'
pathNoPath to the note
old_textNoText to find and replace
new_textNoReplacement text
replace_allNoWhether to replace all occurrences (default false)
context_linesNoNumber of context lines to return (default 0)
expected_mtimeNoExpected file modification time (RFC3339Nano) for optimistic concurrency
headingNoHeading of the section to replace
contentNoNew content for the section
editsNoList of edits to apply
dry_runNoPreview edits without modifying files

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only mentions the actions performed. It discloses no behavioral traits such as whether edits are destructive, concurrency handling (though expected_mtime parameter exists), permission requirements, or side effects.

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 a single, well-structured sentence that front-loads the key idea ('Unified tool'). Every word is necessary, with no extraneous details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 11 parameters and three action modes, the description is too brief. It omits explanation of how the three actions differ, how parameters relate to each action, and what the return value is (no output schema). Critical context 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%, so the baseline is 3. The description adds little beyond listing action types, which are already enumerated in the action parameter. It does not elaborate on other parameters like expected_mtime, dry_run, or context_lines.

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 identifies the tool as a unified tool for three specific edit actions: targeted text edits, section replacements, and batch edits. It provides a specific verb-resource combination and distinguishes from sibling tools like manage-notes (CRUD) and refactor-notes (larger restructuring).

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 description implies the tool is for editing note content, but it does not explicitly state when to use this tool versus alternatives like manage-notes or refactor-notes. No guidance on prerequisites or when not to use it is provided.

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

manage-canvasC

Unified tool for reading, creating, and interacting with Canvas notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'list', 'read', 'create', 'add-node', 'add-edge'
directoryNoRoot directory to list from
include_emptyNoWhether to include empty directories (default true)
pathNoPath to the note relative to vault root
contentNoInitial content (JSON)
canvasNoPath to canvas file
typeNoNode type: 'text' (default), 'file', 'link', 'group'
xNoX position
yNoY position
widthNoNode width
heightNoNode height
labelNoNode label (optional)
fromNoSource node ID
toNoTarget node ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It fails to mention side effects, permissions, or what happens during creation/interaction. The description is too vague to inform safe invocation.

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 a single concise sentence. It is front-loaded with the core purpose. However, it could be more structured to separate actions or highlight key parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, multiple actions) and lack of output schema, the description needs to explain return values and behavior per action. It provides none of this, leaving the agent underinformed.

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%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions; it merely aggregates them under a generic phrase.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool handles 'reading, creating, and interacting with Canvas notes', which is a clear verb+resource pairing. However, it does not differentiate from sibling tools like manage-notes or manage-folders, leaving ambiguity about what 'Canvas notes' specifically means.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description lacks any context about prerequisites, exclusions, or comparison with other tools, forcing the agent to infer based on the action parameter.

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

manage-foldersB

Unified tool for listing, creating, and deleting folders

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'list', 'create', 'delete'
directoryNoRoot directory to list from
include_emptyNoWhether to include empty directories (default true)
pathNoPath of the directory to create
forceNoForce delete even if not empty (default false)
dry_runNoPreview deletion without modifying files

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic actions. For a tool that can delete folders, there is no mention of destructive behavior, safety considerations, or side effects.

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 a single concise sentence that is front-loaded with key information. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, multiple actions, no output schema), the description is too brief. It does not explain action-dependent parameter usage or the return format, leaving the agent underinformed.

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?

The input schema has 100% coverage with parameter descriptions. The description adds no additional meaning beyond saying it is a 'unified tool', which does not compensate for the low schema coverage? Actually schema coverage is high, so 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 description clearly states it is a unified tool for listing, creating, and deleting folders. This clearly distinguishes it from sibling tools like manage-notes or manage-tasks which handle different resources.

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 description implies usage for folder operations but provides no explicit guidance on when to use this tool versus alternatives (e.g., when to use manage-folders vs sibling tools). It lacks exclusion criteria or context.

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

manage-frontmatterB

Unified tool for manipulating note frontmatter properties, tags, aliases, and inline fields

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'get', 'set', 'remove', 'add-alias', 'add-tag', 'get-inline-fields', 'set-inline-field'
pathNoPath to the note
keyNoFrontmatter key
valueNoValue to set
expected_mtimeNoExpected file modification time (RFC3339Nano) for optimistic concurrency
aliasNoAlias to add
tagNoTag to add

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says 'manipulating', implying mutation, but does not specify whether changes are reversible, required permissions, concurrency behavior (though expected_mtime hints at it), or side effects. The description lacks important behavioral context.

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 a single sentence that is front-loaded with the core purpose. Every word earns its place; no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters and 7 actions (from schema), the description is too minimal. It does not explain how to use the action parameter, the role of expected_mtime for optimistic concurrency, or what return values are expected (no output schema). A list of actions or usage examples would significantly improve completeness.

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%, providing baseline 3. The description adds 'frontmatter properties, tags, aliases, and inline fields' which map to actions, but does not add meaning beyond the schema's parameter descriptions. It meets the baseline but does not compensate for any gaps.

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 states 'Unified tool for manipulating note frontmatter properties, tags, aliases, and inline fields', clearly specifying the verb 'manipulating' and the resources (frontmatter, tags, aliases, inline fields). This distinguishes it from sibling tools like edit-note which handles note body content, and manage-tasks which handles tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like edit-note for frontmatter changes or other manipulation tools. There is no mention of when not to use it or explicit context for selecting over siblings.

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

manage-mocsC

Unified tool to discover and generate Maps of Content (MOCs) and folder indices

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'discover', 'generate', 'update', 'generate-index'
directoryNoDirectory to limit search to
titleNoMOC title
outputNoOutput file path
group_byNoGroup by: 'none' (default), 'tag', 'alpha'
recursiveNoInclude subdirectories
pathNoPath to the MOC file
include_orphansNoInclude notes without links/tags (default true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose side effects (e.g., file creation), required permissions, or behavior for each action. Important behavioral traits are missing.

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?

One sentence with no superfluous words, but it could be more informative. Still concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema or annotations, the description is too brief. It does not explain the different actions or return values, leaving gaps for effective use.

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 schema already documents all parameters. The description adds no extra meaning beyond the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool discovers and generates MOCs and folder indices, which is specific. However, it does not mention all actions like 'update' or 'generate-index', slightly reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like manage-folders or search-vault. The description lacks when-not or alternatives.

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

manage-notesC

Unified tool for listing, reading, writing, moving, deleting, renaming, and appending to notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'read', 'write', 'delete', 'append', 'rename', 'duplicate', 'move', 'list'
pathNoPath to the note relative to vault root
contentNoContent of the note
expected_mtimeNoExpected file modification time (RFC3339Nano) for optimistic concurrency
dry_runNoPreview deletion without modifying files
positionNoPosition to insert: 'end' (default), 'start', 'before', 'after'
afterNoHeading or text to insert after (if position is 'after')
beforeNoHeading or text to insert before (if position is 'before')
context_linesNoNumber of context lines to return (default 0)
old_pathNoOld note path
new_pathNoNew note path
outputNoOutput note path
sourceNoSource path
destinationNoDestination path
update_linksNoWhether to update links to this file (default true)
directoryNoDirectory path relative to vault root (for list action)
limitNoMaximum number of notes to return (for list action, 0 = no limit)
offsetNoNumber of notes to skip for pagination (for list action, default 0)
modeNoResponse mode: compact (default) or detailed

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral burden. It does not disclose side effects (e.g., overwriting on write, irreversibility of delete), concurrency handling, or required permissions. The agent learns nothing about the tool's impact beyond the action names.

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 a single sentence that front-loads the key purpose (unified tool) and lists actions concisely. No wasted words, though it could be broken into bullet points for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (19 parameters, multiple actions), the description is minimal. It lacks information about return values, error cases, parameter-action mappings, and output format. No output schema exists, so more description is needed.

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%, so each parameter is already documented in the input schema. The description adds no extra meaning beyond listing the actions. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it is a unified tool for listing, reading, writing, moving, deleting, renaming, and appending to notes, giving a specific verb+resource combination. However, it does not differentiate from sibling tools like 'edit-note' or 'manage-folders', which may overlap in functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., 'edit-note' for more specific editing). It only lists actions without context or exclusions, leaving the agent to infer usage.

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

manage-periodic-notesB

Unified tool for getting, creating, and listing daily, weekly, monthly, and yearly periodic notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'daily', 'weekly', 'monthly', 'quarterly', 'yearly', 'list-daily', 'list-periodic'
dateNoDate string (default: today)
folderNoFolder for daily notes (default: 'daily')
formatNoDate format (default: '2006-01-02')
createNoCreate if missing (default: true)
typeNoType of note: 'daily', 'weekly', 'monthly', 'quarterly', 'yearly'
limitNoMaximum number of notes to return

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, placing the full burden on the description. The description omits critical behavioral details such as side effects of creation (e.g., creating missing notes by default), error conditions, or whether operations are idempotent. For a tool that can create notes, this is a significant gap.

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 a single, well-structured sentence that front-loads the tool's core purpose. It contains no redundant words or unnecessary details, making it efficient for an AI agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, multiple actions, no output schema), the description is too brief. It does not explain return values, action-specific behavior (e.g., difference between 'daily' and 'list-daily'), or constraints like date formatting. The agent lacks sufficient information to use the tool correctly without relying heavily on external documentation.

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%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions, which already explain each field. No extra context like example values or formatting rules is provided.

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 performs 'getting, creating, and listing' operations on 'daily, weekly, monthly, and yearly periodic notes', providing a specific verb+resource combination. It distinguishes itself from sibling tools like manage-notes (general notes) and manage-templates by focusing exclusively on periodic notes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like manage-notes or manage-templates. The description does not explain which action to choose for different scenarios or provide any exclusions or prerequisites, leaving the agent to infer usage from parameter names alone.

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

manage-tasksB

Unified tool for finding, toggling, and completing checkbox tasks across the vault

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'list', 'toggle', 'complete'
statusNoFilter by status: 'all' (default), 'open', 'completed'
directoryNoDirectory to limit search to
limitNoMaximum tasks to return (default: all in detailed mode, 100 in compact mode)
modeNoResponse mode: compact (default) or detailed
pathNoPath to the note
lineNoLine number of the task (optional if text is provided)
textNoText to match the task (partial match, alternative to line number)
expected_mtimeNoExpected file modification time (RFC3339Nano) for optimistic concurrency
textsNoComma-separated list or JSON array of task text snippets to mark complete

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only names actions (finding, toggling, completing) but does not disclose side effects, permissions, or whether operations are destructive. This is insufficient for a mutation tool.

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 a single, front-loaded sentence of 13 words that conveys the core function without filler. Every word earns its place, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 10 parameters and no output schema or annotations, the description remains at a high-level overview. It lacks guidance on parameter interactions, response format, or common use cases, leaving significant gaps for an agent.

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%, so the baseline is 3. The tool description adds no extra meaning beyond the schema's parameter descriptions, so it meets but does not exceed the 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 purpose: 'finding, toggling, and completing checkbox tasks across the vault'. It uses specific verbs and resource, and distinguishes it from sibling tools like manage-notes which focus on general note editing.

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 description implies usage for checkbox tasks but provides no explicit guidance on when to use it versus alternatives, nor any exclusions. It is left to the agent to infer from the word 'unified' and sibling tool names.

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

manage-templatesA

Unified tool for listing, retrieving, and applying markdown templates

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'list', 'get', 'apply'
folderNoTemplates folder (default: 'templates')
nameNoTemplate name
templateNoTemplate name
pathNoTarget note path
template_folderNoTemplates folder (default: 'templates')
variablesNoJSON string or key=value pairs of variables

TDQS

A3.5/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 burden. It mentions 'listing, retrieving, and applying' – applying implies a write operation, but no side effects or permissions are disclosed. The transparency is adequate but minimal.

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 a single sentence that concisely states the purpose. It is appropriately front-loaded, though it could provide slightly more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema and annotations, the description is incomplete. It doesn't explain return values for different actions or provide usage examples. This is a gap for a tool with multiple operations.

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% with descriptions for all 7 parameters. The tool description does not add any additional semantics beyond what is already in the schema, such as explaining how to use 'variables'. Baseline of 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?

The description clearly states the tool's purpose: 'Unified tool for listing, retrieving, and applying markdown templates'. It uses specific verbs and the resource 'markdown templates', which distinguishes it from sibling tools like 'manage-folders' or 'manage-tasks'.

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 description implies usage for template operations but provides no explicit guidance on when to use this tool vs alternatives. Since it's the only template tool, it is implicitly the correct choice for templates, but no conditions or exclusions are stated.

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

read-batchB

Unified tool for reading batches of notes, specific headings, sections, or generated summaries

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'read', 'get-section', 'get-headings', 'get-summary'
pathsNoComma-separated list or JSON array of paths
include_frontmatterNoInclude frontmatter in output (default true)
pathNoPath to the note
headingNoHeading to extract
linesNoNumber of preview lines (default 5)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description should disclose side effects or limitations. It lists actions but does not mention if operations are read-only, permissions needed, or rate limits. Adequate but could be more transparent.

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?

Single sentence that is concise and front-loaded with the purpose. However, it could be structured with a bullet list of actions for better readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters and no output schema, the description is too vague. It does not clarify which parameters are needed for each action or the output format, leaving the agent to infer.

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 parameters are well-described in the schema. The description adds context about batch reading but does not explain how actions relate to parameters.

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?

Description clearly states it's a unified tool for reading batches of notes, specific headings, sections, or summaries, distinguishing it from sibling tools like 'search-vault' or 'manage-notes'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. It calls itself 'unified' but does not explain scenarios where other tools might be better.

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

refactor-notesA

Unified tool for structural note refactoring: split notes by heading, merge multiple notes, and extract sections to new notes

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'split', 'merge', 'extract-section'
pathNoSource note path
levelNoHeading level to split at (default: 2, for split action)
keep_originalNoKeep extracted content in original note (for split action)
output_dirNoDirectory for new notes (for split action)
dry_runNoPreview changes without modifying files
pathsNoComma-separated list of notes to merge (for merge action)
outputNoOutput note path
separatorNoSeparator between notes (for merge action)
delete_originalsNoDelete original notes after merge (for merge action)
add_headingsNoAdd note names as headings (for merge action)
headingNoHeading to extract (for extract-section action)
remove_from_originalNoRemove from source note (default true, for extract-section action)
add_linkNoAdd link to new note in source (default true, for extract-section action)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It omits details about file modifications, destructiveness, or side effects. The dry_run parameter hints at changes but is not described in prose. For a mutation tool, this is insufficient.

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 a single sentence that efficiently captures the tool's purpose. No redundant or extraneous content. Front-loaded with key actions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (14) and lack of output schema, the description is minimally complete. It explains the three actions but lacks workflow context, examples, or tie-in to other tools. Adequate but not enriched.

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% (all 14 parameters have descriptions). The tool description adds no extra meaning beyond the schema; it merely lists actions. Baseline 3 is appropriate as the schema already does heavy lifting.

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 performs three specific structural refactoring actions: split, merge, and extract-section. It effectively distinguishes from sibling tools like 'edit-note' or 'manage-notes' by specifying the unified refactoring purpose.

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 description implies usage for structural refactoring but does not explicitly state when to use this tool versus alternatives like 'edit-note' or 'bulk-operations'. No guidance on when not to use or prerequisites.

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

search-vaultB

Unified search tool spanning text query, advanced block search, regex, dates, tags, inline-fields, and frontmatter queries

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'search', 'advanced', 'date', 'regex', 'tags', 'headings', 'inline-fields', 'frontmatter'
queryNoSearch query
directoryNoDirectory to limit search to
modeNoResponse mode: compact (default) or detailed
inNoWhere to search: 'content' (default), 'file', 'heading', 'block'
operatorNoLogical operator: 'and' (default), 'or'
limitNoMaximum results to return (default 50)
fromNoStart date (YYYY-MM-DD)
toNoEnd date (YYYY-MM-DD)
typeNoDate type to check: 'modified' (default), 'created'
patternNoRegex pattern
case_insensitiveNoWhether to ignore case (default true)
tagsNoComma-separated list of tags
levelNoHeading level to filter (0 for all)
keyNoField key
valueNoField value to match (optional)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description fails to disclose whether the tool is read-only, any side effects, authentication needs, or rate limits. 'Search' implicitly suggests no modifications, but this is not explicit.

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?

Single sentence that is relatively concise and front-loaded with 'Unified search tool', conveying core purpose immediately. However, it could be broken into multiple sentences for better readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 16 parameters, no output schema, and no annotations, the one-sentence description is insufficient. It lacks details on return values, pagination, search behavior, or how to combine parameters, leaving the agent underinformed.

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 provides 100% coverage of parameter descriptions. The description adds an overarching context that the action parameter covers various search types, but does not explain relationships or usage patterns 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?

Clearly states 'Unified search tool' spanning multiple query types, specifying the resource (vault) and distinguishing it from siblings like analyze-vault which are not search tools.

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?

No explicit when-to-use or when-not-to-use guidance. Implies it covers all search needs via different actions, but does not contrast with sibling tools or specify contexts like performance considerations.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct domain (e.g., analytics, bulk ops, editing, canvas, folders, frontmatter, links, MOCs, notes, periodic notes, tasks, templates, batch reading, refactoring, search). No two tools appear to have overlapping purposes; descriptions clarify unique responsibilities.

Naming Consistency3/5

Most tools use a verb-noun pattern with hyphens, but the verbs are inconsistent: 'manage-', 'analyze-', 'bulk-', 'edit-', 'read-', 'refactor-', 'search-'. While readable, the lack of a uniform prefix or verb style introduces minor confusion.

Tool Count5/5

With 15 tools covering the full lifecycle of vault management (reading, writing, organizing, searching, analyzing, templating), the count is well-scoped. Each tool serves a distinct purpose without being excessive or thin.

Completeness5/5

The tool surface is remarkably complete: full CRUD for notes, folders, periodic notes, templates, tasks; plus advanced features like bulk operations, refactoring, batch reading, canvas interaction, MOC generation, and search. No obvious gaps for a note-taking vault.

Maintenance

ActivityNo data
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that wraps the Obsidian CLI to give AI assistants direct access to read, edit, and manage notes within an Obsidian vault. It enables advanced operations such as frontmatter property management, context-aware searching, and the execution of internal Obsidian commands.
    2
  • A
    license
    B
    quality
    D
    maintenance
    Local-first MCP server for Obsidian vaults with 66 tools for reading, writing, searching, and managing notes, tasks, graphs, and more. Works without Obsidian running and requires no plugins.
    66
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Obsidian that exposes tools for reading/writing notes, managing frontmatter and tags, querying Tasks, semantic search, and interacting with Obsidian Bases, with shared local caching and support for various runtime modes.
    39
    Apache 2.0

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/zach-snell/obx'

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