obx
Provides comprehensive tools for managing Obsidian vaults, including note creation and editing, fuzzy searching, task management, YAML frontmatter manipulation, and support for specialized Obsidian features like Canvas files and Maps of Content.
obx
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 | bashThis auto-detects your OS/architecture and installs to /usr/local/bin.
No sudo? Install to
~/.local/bininstead: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 obx2. 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/vaultThen configure your MCP client to connect to http://localhost:8080/mcp.
# Run directly (communicates via stdio, default)
obx mcp /path/to/vault3. Start using it! Ask your AI assistant to search your vault, create notes, manage tasks, etc.
⚠️ Paths are relative to the vault root. All
pathparameters use paths likeprojects/todo.md, not the full filesystem path. Using absolute paths will create nested directories inside your vault.
Installation Options
Pre-built Binaries (Recommended)
Download from Releases:
Platform | Binary |
macOS (Apple Silicon) |
|
macOS (Intel) |
|
Linux (x64) |
|
Linux (ARM) |
|
Windows |
|
Go Install
go install github.com/zach-snell/obx/cmd/obx@latest
mv $(go env GOPATH)/bin/server $(go env GOPATH)/bin/obxBuild from Source
git clone https://github.com/zach-snell/obx.git
cd obx
go build -o obx ./cmd/obxUpgrade
Just run the install script again - it always fetches the latest version:
curl -sSL https://raw.githubusercontent.com/zach-snell/obx/main/install.sh | bashAdvanced 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-frontmatterDynamic 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-switchingTo 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,personalMCP 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 |
| List, read, write, rename, append, delete, or duplicate notes. |
| Perform surgical find-and-replace or precise markdown header editing. |
| Read entire blocks of multiple files or extract headers simultaneously. |
| Leverage fuzzy text search, regex, tags, headings, frontmatter queries, or date queries. |
| Move directories, change root tags, or mass-update frontmatter fields across many files. |
| List, create, or recursively delete directories. |
| Set, get, or remove YAML frontmatter keys; read and write Dataview inline fields. |
| Resolve backlinks, forward-links, or ask the AI to suggest new graph connections. |
| Parse lists of |
| Hunt for broken links, orphan notes, stubs, and get massive mathematical token/word stats. |
| Fetch or instantiate Daily, Weekly, Monthly, or Yearly notes automatically. |
| Find and dynamically inject markdown blocks from your templates directory. |
| Auto-generate alphabetical directory indices or group unlinked notes into Maps of Content. |
| Create logic nodes and draw line edges across Obsidian JSON |
| Split notes by heading, merge multiple notes, or extract sections to new notes. |
| (Opt-in only) Dynamically remount the active server workspace without restarting. |
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 datamode=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-folderbulk-tag,bulk-move,bulk-set-frontmattermerge-notes,extract-note,extract-sectionbatch-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 |
|
|
|
|
|
|
|
|
|
|
|
|
| Note title |
|
|
| 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 #urgentSecurity
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/vaultAvailable Commands
Command | Description |
| Build binary |
| Run tests |
| Run linters |
| All checks |
| 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:
Run multiple server instances, each pointing to a different vault on a different port.
Register vaults globally via
obx vault add <alias> <path>and run the server withobx mcp --allow-vault-switching --allowed-vaults <aliases...>. This exposes amanage-vaultsMCP tool allowing the AI assistant to switch between them dynamically.
License
Apache 2.0 - see LICENSE
Available Tools
15 toolsanalyze-vaultB
Unified analytical tool to get vault stats, detect broken links, orphans, stubs, and outdated notes
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'stats', 'broken-links', 'orphan-notes', 'unlinked-mentions', 'find-stubs', 'find-outdated' | |
| directory | No | Directory to analyze | |
| include_no_outgoing | No | Include notes with no outgoing links (dead ends) | |
| path | No | Path to the note to find unlinked mentions of | |
| max_words | No | Maximum word count to qualify as stub (default 100) | |
| limit | No | Maximum results (default 50) | |
| days | No | Days since modification to qualify as outdated (default 90) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'tag', 'move', 'set-frontmatter' | |
| paths | No | Comma-separated list or JSON array of paths | |
| tag | No | Tag to add or remove | |
| tag_action | No | Action: 'add' (default), 'remove' | |
| dry_run | No | Preview changes without modifying files | |
| destination | No | Destination folder | |
| update_links | No | Whether to update links (default true) | |
| key | No | Frontmatter key | |
| value | No | Value to set |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'edit', 'replace-section', 'batch-edit' | |
| path | No | Path to the note | |
| old_text | No | Text to find and replace | |
| new_text | No | Replacement text | |
| replace_all | No | Whether to replace all occurrences (default false) | |
| context_lines | No | Number of context lines to return (default 0) | |
| expected_mtime | No | Expected file modification time (RFC3339Nano) for optimistic concurrency | |
| heading | No | Heading of the section to replace | |
| content | No | New content for the section | |
| edits | No | List of edits to apply | |
| dry_run | No | Preview edits without modifying files |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'list', 'read', 'create', 'add-node', 'add-edge' | |
| directory | No | Root directory to list from | |
| include_empty | No | Whether to include empty directories (default true) | |
| path | No | Path to the note relative to vault root | |
| content | No | Initial content (JSON) | |
| canvas | No | Path to canvas file | |
| type | No | Node type: 'text' (default), 'file', 'link', 'group' | |
| x | No | X position | |
| y | No | Y position | |
| width | No | Node width | |
| height | No | Node height | |
| label | No | Node label (optional) | |
| from | No | Source node ID | |
| to | No | Target node ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'list', 'create', 'delete' | |
| directory | No | Root directory to list from | |
| include_empty | No | Whether to include empty directories (default true) | |
| path | No | Path of the directory to create | |
| force | No | Force delete even if not empty (default false) | |
| dry_run | No | Preview deletion without modifying files |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'get', 'set', 'remove', 'add-alias', 'add-tag', 'get-inline-fields', 'set-inline-field' | |
| path | No | Path to the note | |
| key | No | Frontmatter key | |
| value | No | Value to set | |
| expected_mtime | No | Expected file modification time (RFC3339Nano) for optimistic concurrency | |
| alias | No | Alias to add | |
| tag | No | Tag to add |
TDQS
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.
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.
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.
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.
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.
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-linksB
Unified tool covering backlinks, forward-links, and AI link suggestions for notes
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'backlinks', 'forward-links', 'suggest' | |
| path | No | Path to the note | |
| limit | No | Maximum results (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, mutability, or required permissions. It merely lists actions without indicating whether they are read-only or potentially destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the tool's purpose. Every word adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should provide more context about return values, action-specific behavior, and parameter dependencies. It falls short, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes each parameter adequately. The description adds no new meaning beyond the schema, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a unified tool for backlinks, forward-links, and AI link suggestions, clearly identifying the verb 'manage' and resource 'links'. It distinguishes from sibling tools like 'edit-note' or 'analyze-vault' that handle different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only lists covered features but does not state when-not to use it or mention any exclusions or prerequisites.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'discover', 'generate', 'update', 'generate-index' | |
| directory | No | Directory to limit search to | |
| title | No | MOC title | |
| output | No | Output file path | |
| group_by | No | Group by: 'none' (default), 'tag', 'alpha' | |
| recursive | No | Include subdirectories | |
| path | No | Path to the MOC file | |
| include_orphans | No | Include notes without links/tags (default true) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'read', 'write', 'delete', 'append', 'rename', 'duplicate', 'move', 'list' | |
| path | No | Path to the note relative to vault root | |
| content | No | Content of the note | |
| expected_mtime | No | Expected file modification time (RFC3339Nano) for optimistic concurrency | |
| dry_run | No | Preview deletion without modifying files | |
| position | No | Position to insert: 'end' (default), 'start', 'before', 'after' | |
| after | No | Heading or text to insert after (if position is 'after') | |
| before | No | Heading or text to insert before (if position is 'before') | |
| context_lines | No | Number of context lines to return (default 0) | |
| old_path | No | Old note path | |
| new_path | No | New note path | |
| output | No | Output note path | |
| source | No | Source path | |
| destination | No | Destination path | |
| update_links | No | Whether to update links to this file (default true) | |
| directory | No | Directory path relative to vault root (for list action) | |
| limit | No | Maximum number of notes to return (for list action, 0 = no limit) | |
| offset | No | Number of notes to skip for pagination (for list action, default 0) | |
| mode | No | Response mode: compact (default) or detailed |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'daily', 'weekly', 'monthly', 'quarterly', 'yearly', 'list-daily', 'list-periodic' | |
| date | No | Date string (default: today) | |
| folder | No | Folder for daily notes (default: 'daily') | |
| format | No | Date format (default: '2006-01-02') | |
| create | No | Create if missing (default: true) | |
| type | No | Type of note: 'daily', 'weekly', 'monthly', 'quarterly', 'yearly' | |
| limit | No | Maximum number of notes to return |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'list', 'toggle', 'complete' | |
| status | No | Filter by status: 'all' (default), 'open', 'completed' | |
| directory | No | Directory to limit search to | |
| limit | No | Maximum tasks to return (default: all in detailed mode, 100 in compact mode) | |
| mode | No | Response mode: compact (default) or detailed | |
| path | No | Path to the note | |
| line | No | Line number of the task (optional if text is provided) | |
| text | No | Text to match the task (partial match, alternative to line number) | |
| expected_mtime | No | Expected file modification time (RFC3339Nano) for optimistic concurrency | |
| texts | No | Comma-separated list or JSON array of task text snippets to mark complete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'list', 'get', 'apply' | |
| folder | No | Templates folder (default: 'templates') | |
| name | No | Template name | |
| template | No | Template name | |
| path | No | Target note path | |
| template_folder | No | Templates folder (default: 'templates') | |
| variables | No | JSON string or key=value pairs of variables |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'read', 'get-section', 'get-headings', 'get-summary' | |
| paths | No | Comma-separated list or JSON array of paths | |
| include_frontmatter | No | Include frontmatter in output (default true) | |
| path | No | Path to the note | |
| heading | No | Heading to extract | |
| lines | No | Number of preview lines (default 5) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'split', 'merge', 'extract-section' | |
| path | No | Source note path | |
| level | No | Heading level to split at (default: 2, for split action) | |
| keep_original | No | Keep extracted content in original note (for split action) | |
| output_dir | No | Directory for new notes (for split action) | |
| dry_run | No | Preview changes without modifying files | |
| paths | No | Comma-separated list of notes to merge (for merge action) | |
| output | No | Output note path | |
| separator | No | Separator between notes (for merge action) | |
| delete_originals | No | Delete original notes after merge (for merge action) | |
| add_headings | No | Add note names as headings (for merge action) | |
| heading | No | Heading to extract (for extract-section action) | |
| remove_from_original | No | Remove from source note (default true, for extract-section action) | |
| add_link | No | Add link to new note in source (default true, for extract-section action) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: 'search', 'advanced', 'date', 'regex', 'tags', 'headings', 'inline-fields', 'frontmatter' | |
| query | No | Search query | |
| directory | No | Directory to limit search to | |
| mode | No | Response mode: compact (default) or detailed | |
| in | No | Where to search: 'content' (default), 'file', 'heading', 'block' | |
| operator | No | Logical operator: 'and' (default), 'or' | |
| limit | No | Maximum results to return (default 50) | |
| from | No | Start date (YYYY-MM-DD) | |
| to | No | End date (YYYY-MM-DD) | |
| type | No | Date type to check: 'modified' (default), 'created' | |
| pattern | No | Regex pattern | |
| case_insensitive | No | Whether to ignore case (default true) | |
| tags | No | Comma-separated list of tags | |
| level | No | Heading level to filter (0 for all) | |
| key | No | Field key | |
| value | No | Field value to match (optional) |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceThe most feature-complete MCP server for Obsidian vaults. 23 tools and 3 resources for search, read, write, tags, link analysis, graph traversal, and canvas support.418630MIT
- FlicenseNot gradedqualityDmaintenanceA 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
- AlicenseBqualityDmaintenanceLocal-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.66MIT
- AlicenseNot gradedqualityAmaintenanceMCP 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.39Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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