Obsidian MCP Server
Enables natural language interaction with Obsidian vaults, providing tools for reading, writing, searching notes, analyzing backlinks and connections, managing note structure, tracking tasks, and discovering patterns across linked notes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Obsidian MCP Serverfind all notes about machine learning and show me their backlinks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Obsidian MCP Server
A powerful Model Context Protocol (MCP) server for natural language interaction with your Obsidian vault. Built with TypeScript and designed for seamless integration with Claude Code and other MCP clients.
Features
Core Capabilities
Natural Language Queries: Ask questions about your vault in plain English
Advanced Search: Intelligent search with link analysis, tag hierarchies, and structural context
Backlink Analysis: Find and analyze connections between notes
Vault Navigation: Browse directory structure and discover notes
Full CRUD Operations: Read, write, create, append, and update notes
Advanced Intelligence Tools
Guided Story Path: Generate narrative tours through linked notes
Note Auditing: Find recently modified notes missing frontmatter or structure
Contextual Companions: Discover related notes based on links, keywords, and recency
Fresh Energy: Identify recently updated notes needing integration
Initiative Bridge: Track project-specific notes with outstanding tasks
Pattern Echo: Find notes that reuse specific phrasings or patterns
Synthesis Ready: Detect note clusters that need summary notes
Related MCP server: Obsidian MCP Server
Installation
From Source
Clone the repository:
git clone https://github.com/dbmcco/obsidian-mcp.git cd obsidian-mcpInstall dependencies:
npm installBuild the project:
npm run build
Configuration
Claude Code Setup
Add to your Claude Code MCP configuration:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/absolute/path/to/obsidian-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/vault"
}
}
}
}Claude Desktop Setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/absolute/path/to/obsidian-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/vault"
}
}
}
}Environment Variables
OBSIDIAN_VAULT_PATH: Required. Absolute path to your Obsidian vault
Available Tools
Basic Operations
query_vault
Process natural language queries about your vault content.
Example: "What are the main themes in my project notes?"
{
query: string,
vaultPath?: string // Optional override
}search_notes
Search for notes by filename or content using exact text matching.
{
searchTerm: string,
searchType: 'filename' | 'content' | 'both', // Default: 'both'
vaultPath?: string
}intelligent_search
Advanced search with link graph analysis, tag hierarchies, and structural context weighting.
{
query: string,
vaultPath?: string
}list_directories
Browse vault directory structure with note counts.
{
directoryPath?: string, // Empty string for vault root
vaultPath?: string
}get_note
Retrieve the full content of a specific note.
{
notePath: string, // Relative to vault root
vaultPath?: string
}get_backlinks
Find all notes that link to a specific note with context.
{
notePath: string,
vaultPath?: string
}Write Operations
write_note
Write or completely overwrite a note.
{
notePath: string,
content: string,
vaultPath?: string
}create_note
Create a new note with frontmatter and content.
{
notePath: string,
title: string,
content?: string,
tags?: string[],
vaultPath?: string
}append_to_note
Append content to an existing note.
{
notePath: string,
content: string,
vaultPath?: string
}update_note_section
Update a specific section identified by heading.
{
notePath: string,
sectionHeading: string,
newContent: string,
vaultPath?: string
}Advanced Intelligence
guided_path
Generate a narrative tour through linked notes starting from a seed note.
{
notePath: string,
supportingLimit?: number, // Default: 3
counterpointLimit?: number, // Default: 3
includeActionItems?: boolean, // Default: true
vaultPath?: string
}Output: Markdown narrative with introduction, supporting threads, counterpoints, and action items.
audit_recent_notes
Find recently modified notes missing frontmatter or structure.
{
hoursBack?: number, // Default: 72
limit?: number, // Default: 25
requiredFields?: string[], // Default: ['title', 'created']
requireHeadings?: boolean, // Default: false
vaultPath?: string
}contextual_companions
Discover notes related to a topic or seed note based on links, keywords, and recency.
{
notePath?: string, // Optional seed note
topic?: string, // Optional topic query
limit?: number, // Default: 5
vaultPath?: string
}Note: Must provide either notePath or topic.
fresh_energy
Find recently updated notes lacking backlinks or outgoing links (needing integration).
{
hoursBack?: number, // Default: 48
limit?: number, // Default: 10
minWords?: number, // Default: 80
vaultPath?: string
}initiative_bridge
Track project/initiative-tagged notes with outstanding tasks.
{
initiative: string, // Required: project identifier
frontmatterField?: string, // Default: 'project'
limit?: number, // Default: 10
vaultPath?: string
}pattern_echo
Find notes that reuse specific phrasings, bullet patterns, or framework fragments.
{
snippet: string, // Required: text pattern to find
limit?: number, // Default: 5
vaultPath?: string
}synthesis_ready
Detect clusters of interlinked notes that lack a summary/synthesis note.
{
minClusterSize?: number, // Default: 3
vaultPath?: string
}Example Use Cases
Knowledge Discovery
// Find all notes about a topic with intelligent expansion
await intelligentSearch({ query: "machine learning" });
// Discover related notes for further reading
await contextualCompanions({
topic: "neural networks",
limit: 10
});Vault Maintenance
// Audit recent work for missing metadata
await auditRecentNotes({
hoursBack: 168, // Last week
requiredFields: ['title', 'created', 'tags']
});
// Find orphaned notes needing links
await freshEnergy({ hoursBack: 72 });
// Identify note clusters needing synthesis
await synthesisReady({ minClusterSize: 4 });Project Management
// Track all tasks for a specific project
await initiativeBridge({
initiative: "Project Alpha",
frontmatterField: "project"
});
// Generate a narrative overview of a topic
await guidedPath({
notePath: "Projects/Project Alpha.md",
supportingLimit: 5,
includeActionItems: true
});Pattern Analysis
// Find notes using a specific framework
await patternEcho({
snippet: "SWOT Analysis:",
limit: 10
});Development
Scripts
npm run dev: Watch mode for developmentnpm run build: Build TypeScript to JavaScriptnpm run start: Start the MCP server
Project Structure
obsidian-mcp/
├── src/
│ ├── index.ts # MCP server and tool definitions
│ ├── vault-manager.ts # Vault operations and intelligence
│ └── query-processor.ts # Natural language query processing
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.mdTechnical Details
Architecture
TypeScript with strict mode enabled
ES Modules (NodeNext)
Zod for runtime type validation
gray-matter for frontmatter parsing
glob for file pattern matching
Search Methods
The intelligent_search tool combines four search strategies:
Direct matching: Exact keyword matches in content/filenames
Link proximity: Notes connected via wiki-links
Tag expansion: Related notes via tag hierarchies
Structural context: Section-aware searching with relevance scoring
Results are merged, deduplicated, and ranked by relevance score.
Performance
No caching - all searches are real-time to avoid staleness
Lazy loading of note content for large vaults
Efficient glob patterns for file discovery
Credits
Built by Braydon with Claude (Anthropic). This MCP server was developed using test-driven development principles and extensive collaboration with Claude Code.
License
MIT License - feel free to use and modify as needed.
Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch
Make your changes with tests
Submit a pull request
Troubleshooting
"No vault path provided" error
Ensure OBSIDIAN_VAULT_PATH is set in your MCP configuration or environment variables.
MCP server not connecting
Verify the path to
dist/index.jsis absolute, not relativeEnsure the server is built (
npm run build)Check that Node.js can execute the script
Search returns no results
Verify vault path is correct
Check that
.mdfiles exist in the vaultTry using
list_directoriesto explore the vault structure
Available Tools
17 toolsappend_to_noteC
Append content to an existing note
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path to the note relative to vault root | |
| content | Yes | Content to append to the note | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool appends content, implying mutation, but doesn't mention permissions, side effects (e.g., file modification), error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage.
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 with no wasted words, clearly front-loading the core action. It's appropriately sized for the tool's complexity, earning full marks for 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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like error cases (e.g., if the note doesn't exist) or what happens on success, leaving significant gaps for the agent to handle.
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 fully documents all three parameters. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain parameter interactions or constraints), meeting the baseline for high coverage.
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 action ('Append content') and target resource ('to an existing note'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'update_note_section' or 'write_note', which might have overlapping functionality, so it doesn't reach the highest score.
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 such as 'update_note_section' or 'create_note'. It lacks context about prerequisites (e.g., note must exist) or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_recent_notesA
Highlight recently modified notes that are missing required frontmatter or structure
| Name | Required | Description | Default |
|---|---|---|---|
| hoursBack | No | Examine notes touched within this many hours (default 72) | |
| limit | No | Return at most this many findings (default 25) | |
| requiredFields | No | Frontmatter fields that should be present | |
| requireHeadings | No | Flag notes lacking headings | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It mentions the tool 'highlights' findings, implying a read-only operation that returns results, but doesn't specify output format, error handling, or performance aspects like rate limits. For an audit tool with zero annotation coverage, this leaves significant behavioral 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, well-structured sentence that front-loads the core purpose without unnecessary words. It efficiently communicates the tool's function, making every word count and avoiding redundancy or fluff.
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 moderate complexity (5 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose well but lacks details on behavioral traits and output expectations. Without annotations or an output schema, the description should do more to explain what the tool returns and how it behaves.
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 documents all five parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining interactions between parameters or usage examples. Baseline 3 is appropriate when the schema handles parameter documentation effectively.
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 with a specific verb ('highlight') and resource ('recently modified notes'), and distinguishes it from siblings by focusing on auditing for missing frontmatter/structure rather than creation, retrieval, or modification operations. It precisely conveys the tool's unique function within the note management system.
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 context by mentioning 'recently modified notes' and 'missing required frontmatter or structure,' suggesting it's for quality checks. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_notes' or 'query_vault,' nor does it provide exclusions or prerequisites. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contextual_companionsC
Suggest adjacent notes related to a topic or seed note based on links, keywords, and recency
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | No | Seed note to anchor the search (optional) | |
| topic | No | Freeform topic or question to match (optional) | |
| limit | No | Maximum companion notes to return (default 5) | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the search criteria ('links, keywords, and recency') but omits critical details like whether this is a read-only operation, how results are ranked, if there are rate limits, or what the output format looks like. For a tool with 4 parameters and no output schema, 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, efficient sentence that front-loads the core functionality without unnecessary words. It directly states what the tool does and the criteria used, making it easy to parse and understand 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 (4 parameters, no annotations, no output schema), the description is incomplete. It lacks details on behavioral traits, output format, and usage context, which are essential for an AI agent to invoke it correctly. The high schema coverage helps with parameters, but overall guidance is inadequate.
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 input schema already documents all parameters thoroughly. The description adds minimal value by implying that 'notePath' and 'topic' are optional anchors for the search, but it does not provide additional semantics beyond what the schema specifies. This meets the baseline for high schema coverage.
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: 'Suggest adjacent notes related to a topic or seed note based on links, keywords, and recency.' It specifies the verb ('Suggest'), resource ('adjacent notes'), and criteria ('links, keywords, and recency'), making the function understandable. However, it does not explicitly differentiate from sibling tools like 'search_notes' or 'get_backlinks', which prevents a score of 5.
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. It mentions parameters like 'notePath' and 'topic' but does not specify scenarios or exclusions, such as when to prefer 'search_notes' for broader queries or 'get_backlinks' for link-based retrieval. This lack of contextual direction limits its utility for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_noteC
Create a new note with frontmatter and content
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path for the new note relative to vault root | |
| title | Yes | Title of the note | |
| content | No | Initial content of the note | |
| tags | No | Tags to add to the note | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a new note, implying a write operation, but doesn't cover critical aspects like whether it overwrites existing files, requires specific permissions, handles errors (e.g., invalid paths), or returns any confirmation. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
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 front-loads the core purpose ('Create a new note') and adds a key detail ('with frontmatter and content'). There is no wasted verbiage or redundancy, making it highly concise and well-structured for quick comprehension.
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 (a write operation with 5 parameters) and lack of annotations or output schema, the description is insufficiently complete. It doesn't explain what 'frontmatter' entails (e.g., metadata like tags or title), how the note is saved, or what happens on success/failure. For a creation tool in a note-taking context, more behavioral and output context 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?
The description mentions 'frontmatter and content', which loosely relates to parameters like 'title' and 'content', but doesn't add meaningful details beyond the schema. With 100% schema description coverage, the schema already documents all 5 parameters thoroughly (e.g., 'notePath' as path relative to vault root). The description provides minimal extra value, meeting the baseline for high schema coverage.
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 action ('Create') and resource ('a new note'), specifying it includes 'frontmatter and content'. It distinguishes from siblings like 'append_to_note' (which modifies existing notes) and 'update_note_section' (which updates parts of notes). However, it doesn't explicitly differentiate from 'write_note' (which might be similar), keeping it from a perfect score.
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. It doesn't mention when to choose 'create_note' over 'write_note' or 'append_to_note', nor does it specify prerequisites like needing an existing vault. This lack of contextual direction leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fresh_energyB
Find recently updated notes that lack backlinks or link coverage so you can integrate them
| Name | Required | Description | Default |
|---|---|---|---|
| hoursBack | No | Look back window in hours (default 48) | |
| limit | No | Maximum notes to surface (default 10) | |
| minWords | No | Ignore notes below this word count (default 80) | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It describes the tool's function but lacks details on behavioral traits such as whether it's read-only or destructive, performance characteristics, error handling, or output format. This is a significant gap for a tool with no annotation coverage, limiting an agent's ability to predict its 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 directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and criteria, making it easy to parse quickly. Every part of the sentence contributes essential information, earning a high score for conciseness and structure.
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 (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool returns (e.g., list of notes, metadata), how results are formatted, or any behavioral nuances. Without annotations or output schema, the description should provide more context to help an agent use the tool effectively, but it falls short.
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%, with all parameters well-documented in the input schema (e.g., 'hoursBack' as 'Look back window in hours'). The description adds no additional parameter semantics beyond what the schema provides, such as explaining how parameters interact or their impact on results. Baseline score of 3 is appropriate since the schema handles parameter documentation adequately.
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: 'Find recently updated notes that lack backlinks or link coverage so you can integrate them.' It specifies the verb ('Find'), resource ('recently updated notes'), and criteria ('lack backlinks or link coverage'). However, it doesn't explicitly distinguish this from sibling tools like 'audit_recent_notes' or 'synthesis_ready', which might have overlapping functions, preventing a score of 5.
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 context by mentioning 'recently updated notes' and 'lack backlinks or link coverage,' suggesting it's for identifying notes needing integration. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'audit_recent_notes' or 'get_backlinks,' nor does it specify exclusions or prerequisites, leaving usage somewhat ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backlinksC
Get all notes that link to a specific note
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path to the note to find backlinks for | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Get all notes' but doesn't specify whether this is a read-only operation, if it requires specific permissions, what the return format is (e.g., list of note paths or full content), or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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 directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
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 of a backlink tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'backlinks' entail in this context (e.g., bidirectional links, wikilinks), the return structure, or error handling. For a tool that likely involves graph relationships, more context is needed to be fully helpful.
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 schema description coverage is 100%, with clear descriptions for both parameters in the input schema. The description adds no additional meaning beyond what the schema provides, such as explaining how 'notePath' and 'vaultPath' interact or format details. Baseline 3 is appropriate since 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 the action ('Get all notes') and target resource ('that link to a specific note'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'search_notes' or 'query_vault', which might also involve note relationships, so it misses full sibling distinction.
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 such as 'search_notes' or 'query_vault', nor does it mention prerequisites like needing the vault path. It only states what the tool does, without context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_noteC
Get the full content of a specific note
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path to the note relative to vault root | |
| vaultPath | No | Path to Obsidian vault |
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 states it 'gets' content, implying a read operation, but doesn't disclose behavioral traits like whether it requires specific permissions, handles missing notes gracefully, returns structured data or raw text, or has rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
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 front-loads the core purpose without unnecessary words. Every word earns its place, making it easy to parse quickly. There's no redundancy or structural issues.
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 moderate complexity (2 parameters, no output schema) and lack of annotations, the description is incomplete. It doesn't explain what 'full content' includes (e.g., metadata, formatting), how errors are handled, or what the return value looks like. For a read operation in a system with many sibling tools, more context is needed to use it effectively.
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 documents both parameters ('notePath' and 'vaultPath') with clear descriptions. The description adds no additional meaning about parameters beyond implying a note is retrieved by path. Baseline 3 is appropriate when the schema does the heavy lifting, though no extra context 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 verb ('Get') and resource ('full content of a specific note'), making the purpose immediately understandable. It distinguishes from siblings like 'list_directories' or 'search_notes' by focusing on retrieving a single note's content. However, it doesn't explicitly differentiate from similar read operations like 'query_vault' or 'get_backlinks', preventing a perfect score.
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. With siblings like 'search_notes', 'query_vault', and 'get_backlinks' available, there's no indication of whether this is for retrieving known notes by path versus searching content. No prerequisites or exclusions are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guided_pathC
Generate a narrative tour through linked notes starting from a seed note
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Seed note to begin the story path (relative path within the vault) | |
| supportingLimit | No | Cap the number of supporting notes (default 3) | |
| counterpointLimit | No | Cap the number of counterpoints (default 3) | |
| includeActionItems | No | Include action items discovered along the path (default true) | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions generating a 'narrative tour' but doesn't explain what that output looks like, whether it's read-only or modifies notes, potential rate limits, or error conditions. For a tool with 5 parameters and no output schema, this leaves significant gaps in understanding its 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, well-structured sentence that front-loads the core purpose ('Generate a narrative tour') and efficiently specifies the scope ('through linked notes starting from a seed note'). There's no wasted language, and every word contributes directly to understanding the tool's function.
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 of generating a narrative tour with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what a 'narrative tour' entails, how linked notes are selected or ordered, what 'supporting' and 'counterpoint' notes mean in context, or what the output format will be. This leaves too many open questions for effective tool 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?
The input schema has 100% description coverage, so all parameters are documented in the schema itself. The description doesn't add any additional meaning about parameters beyond implying a 'seed note' starting point. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't compensate with extra context about how parameters interact.
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 verb ('Generate a narrative tour') and resource ('through linked notes starting from a seed note'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'contextual_companions' or 'initiative_bridge' which might also involve note relationships, leaving room for ambiguity about when to choose this specific tool.
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 'get_backlinks', 'search_notes', or 'query_vault'. It doesn't mention prerequisites, ideal scenarios, or exclusions, leaving the agent to infer usage from the purpose alone without explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initiative_bridgeC
Identify initiative-tagged notes with outstanding tasks so nothing slips between systems
| Name | Required | Description | Default |
|---|---|---|---|
| initiative | Yes | Project/initiative identifier to match | |
| frontmatterField | No | Frontmatter field to inspect (default project) | |
| limit | No | Maximum notes to return (default 10) | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It describes what the tool does (identify notes with tasks) but lacks details on behavioral traits such as permissions needed, whether it modifies data, rate limits, or what the output looks like (e.g., format, error handling). For a tool with no annotations, this is a significant gap in transparency.
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 front-loads the core purpose without unnecessary words. It clearly communicates the tool's intent in a concise manner, making it easy to understand at a glance. Every part of the sentence earns its place by specifying key elements like 'initiative-tagged notes' and 'outstanding tasks.'
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 (4 parameters, no annotations, no output schema), the description is incomplete. It lacks information on behavioral aspects, output format, and usage context relative to siblings. While concise, it doesn't provide enough detail for an agent to fully understand how to invoke and interpret results, especially without annotations or output schema.
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 input schema fully documents all parameters. The description adds no additional meaning beyond the schema—it doesn't explain parameter interactions, defaults, or usage examples. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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: to identify initiative-tagged notes with outstanding tasks. It specifies the resource (notes) and the filtering criteria (initiative-tagged, with outstanding tasks). However, it doesn't explicitly differentiate from siblings like 'search_notes' or 'query_vault' that might also find notes, though the focus on tasks and system gaps provides some implicit distinction.
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. It mentions 'so nothing slips between systems,' which implies a use case for cross-system tracking, but doesn't name specific sibling tools or scenarios where other tools might be more appropriate. Without clear when/when-not instructions, usage is ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intelligent_searchC
Advanced search using link analysis, tag hierarchies, and structural context
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query - can be keywords, phrases, or natural language | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It mentions 'advanced search' techniques but doesn't clarify if this is read-only, requires specific permissions, has rate limits, or what the output format might be. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its 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 front-loads the key action ('Advanced search') and lists techniques without unnecessary words. It's appropriately sized and wastes no space, earning a high score for 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 annotations and output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, or any behavioral traits like performance or limitations. For a tool with 2 parameters and no structured output info, this leaves too much undefined for effective agent 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?
The schema description coverage is 100%, with clear descriptions for both parameters ('query' and 'vaultPath'). The description adds no additional meaning beyond what the schema provides, such as examples or constraints. Since the schema does the heavy lifting, the 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 states the tool performs 'advanced search' and mentions techniques like 'link analysis, tag hierarchies, and structural context,' which gives a general sense of purpose. However, it doesn't specify what resource is being searched (e.g., notes, files) or how it differs from sibling tools like 'search_notes' or 'query_vault,' making it somewhat vague rather than clearly distinguishing from alternatives.
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 such as 'search_notes' or 'query_vault.' It lacks explicit context, prerequisites, or exclusions, leaving the agent with no clear usage instructions beyond the general 'advanced search' concept.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_directoriesC
List directories and files in vault or specific directory
| Name | Required | Description | Default |
|---|---|---|---|
| directoryPath | No | Path to directory relative to vault root (empty for vault root) | |
| vaultPath | No | Path to Obsidian vault |
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 states the action 'List' but doesn't disclose behavioral traits such as whether this is a read-only operation, potential performance impacts, error handling, or output format details. The description is minimal and misses key operational 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, efficient sentence that front-loads the core purpose without unnecessary details. It uses minimal words to convey the essential action and scope, making it highly concise and well-structured for quick understanding.
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 of a directory listing tool with no annotations and no output schema, the description is incomplete. It lacks details on return values, error conditions, or behavioral nuances, leaving gaps that could hinder an AI agent's ability to use the tool effectively in varied contexts.
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 documents both parameters fully. The description adds no additional meaning beyond what the schema provides, such as examples or edge cases. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.
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 verb 'List' and the resources 'directories and files', specifying the scope as 'in vault or specific directory'. It distinguishes from siblings like 'search_notes' or 'query_vault' by focusing on directory listing rather than content-based operations, though it doesn't explicitly name alternatives.
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 'search_notes' or 'query_vault' is provided. The description implies usage for browsing directory structures but lacks context on prerequisites, exclusions, or specific scenarios where this tool is preferred over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pattern_echoB
Search for notes that reuse a phrasing, bullet pattern, or framework fragment
| Name | Required | Description | Default |
|---|---|---|---|
| snippet | Yes | Sentence, bullet, or pattern to echo across the vault | |
| limit | No | Maximum matches to surface (default 5) | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It describes the search function but lacks details on behavioral traits such as permissions needed, rate limits, whether it's read-only or destructive, or how results are returned (e.g., format, ordering). This is a significant gap for a tool with no annotation coverage, making it minimally 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?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, with every part contributing to understanding the tool's function, earning a high score for 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 (a search function with 3 parameters), no annotations, and no output schema, the description is adequate but incomplete. It explains what the tool does but lacks behavioral context and output details. It meets a minimum viable standard but has clear gaps in providing a full understanding for an AI 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?
The input schema has 100% description coverage, so parameters are well-documented in the schema. The description adds no additional meaning beyond the schema, such as examples or usage tips for parameters. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract from the schema's clarity.
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: 'Search for notes that reuse a phrasing, bullet pattern, or framework fragment.' It specifies the verb 'Search' and the resource 'notes,' with a clear scope of finding pattern matches. However, it doesn't explicitly differentiate from sibling tools like 'search_notes' or 'intelligent_search,' which likely have overlapping search functions, preventing a score of 5.
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. It doesn't mention sibling tools like 'search_notes' or 'intelligent_search,' nor does it specify contexts or exclusions for its use. The purpose is clear, but usage context is implied at best, lacking explicit when/when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_vaultC
Process natural language queries about your Obsidian vault
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query about the vault contents | |
| vaultPath | No | Path to Obsidian vault (defaults to environment variable) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool processes queries but doesn't explain how it behaves—e.g., whether it returns structured data, handles errors, or has rate limits. This leaves significant gaps for a query 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, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand 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 complexity of a query tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, how queries are processed, or any behavioral traits, leaving the agent with insufficient context 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 description coverage is 100%, so the schema already documents both parameters ('query' and 'vaultPath') adequately. The description adds no additional meaning beyond what the schema provides, such as query examples or vaultPath usage details, meeting the baseline for high coverage.
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 as processing natural language queries about an Obsidian vault, which is specific (verb+resource). However, it doesn't distinguish itself from sibling tools like 'search_notes' or 'intelligent_search', which might offer similar functionality, so it misses full differentiation.
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 such as 'search_notes' or 'intelligent_search' from the sibling list. It lacks explicit context, exclusions, or prerequisites, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_notesC
Search for notes by filename or content
| Name | Required | Description | Default |
|---|---|---|---|
| searchTerm | Yes | Term to search for in notes | |
| searchType | No | Where to search | both |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It mentions searching by 'filename or content' but doesn't specify if this is a read-only operation, how results are returned (e.g., format, pagination), or any constraints like rate limits or authentication needs. This leaves significant gaps for a tool with no annotation coverage.
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 directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy for an 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 complexity of a search tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the return format, error handling, or how results are structured, which are critical for an agent to use the tool effectively. The high schema coverage helps, but behavioral aspects are lacking.
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 documents all parameters thoroughly. The description adds minimal value by implying the search scope ('by filename or content'), but this is largely redundant with the schema's enum for 'searchType'. Baseline 3 is appropriate as the schema handles most of the parameter semantics.
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 verb ('search') and resource ('notes'), specifying what the tool does. However, it doesn't distinguish this tool from sibling tools like 'intelligent_search' or 'query_vault', which likely have overlapping functionality, so it doesn't achieve full differentiation.
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 such as 'intelligent_search' or 'query_vault'. It lacks context about prerequisites, exclusions, or specific scenarios where this search method is preferred, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthesis_readyC
Flag clusters of notes that reference each other but lack a synthesis/summary note
| Name | Required | Description | Default |
|---|---|---|---|
| minClusterSize | No | Minimum related notes required to trigger (default 3) | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It mentions 'flag clusters' but doesn't explain what 'flag' means operationally (e.g., does it create markers, return a list, trigger notifications?), nor does it cover permissions, side effects, or error handling. For a tool with no annotation coverage, this leaves significant gaps in understanding its 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 front-loads the core purpose without unnecessary words. Every part of the sentence earns its place by specifying the action, target, and condition concisely, making it easy to grasp 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 (involving note clustering and synthesis detection) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of clusters, a summary report), how it identifies references, or any limitations (e.g., performance with large vaults). For a tool with no structured data beyond the input schema, more context 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 the schema already documents both parameters ('minClusterSize' and 'vaultPath') with descriptions. The tool description adds no additional meaning about parameters beyond what the schema provides, such as explaining how 'minClusterSize' affects clustering logic or what format 'vaultPath' expects. Baseline 3 is appropriate when 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 the tool's purpose: 'Flag clusters of notes that reference each other but lack a synthesis/summary note.' It specifies the action (flag), the target (clusters of notes with mutual references), and the condition (lack of synthesis). However, it doesn't explicitly differentiate from siblings like 'pattern_echo' or 'contextual_companions' which might have overlapping functionality with note relationships.
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. It doesn't mention prerequisites (e.g., needing an existing vault with linked notes), exclusions, or comparisons to sibling tools like 'search_notes' or 'get_backlinks' that might help identify note relationships. Usage is implied from the purpose but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_note_sectionC
Update a specific section of a note by heading
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path to the note relative to vault root | |
| sectionHeading | Yes | Heading of the section to update | |
| newContent | Yes | New content for the section | |
| vaultPath | No | Path to Obsidian vault |
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 of behavioral disclosure. It states the tool updates content but doesn't mention permissions required, whether changes are reversible, error handling (e.g., if the section doesn't exist), or side effects. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
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, clear sentence that efficiently conveys the core functionality without unnecessary words. It's front-loaded with the main action and target, making it easy to parse. Every word earns its place, achieving optimal conciseness for this level of detail.
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 that this is a mutation tool with no annotations, no output schema, and multiple parameters, the description is incomplete. It lacks information on behavioral traits, error conditions, and what the tool returns. While the schema covers parameters well, the overall context for safe and effective use is insufficient, especially compared to siblings that might offer similar functionality.
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%, with all parameters well-documented in the schema. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain parameter relationships or provide examples). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 action ('Update') and target ('a specific section of a note by heading'), making the purpose understandable. However, it doesn't differentiate this tool from sibling tools like 'append_to_note' or 'write_note', which likely also modify note content. The specificity about updating by section heading is helpful but not sufficient for full sibling differentiation.
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. With siblings like 'append_to_note', 'write_note', and 'create_note' available, there's no indication of whether this tool is for partial updates, full replacements, or specific use cases. Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_noteC
Write or overwrite a note with new content
| Name | Required | Description | Default |
|---|---|---|---|
| notePath | Yes | Path to the note relative to vault root | |
| content | Yes | Full content to write to the note | |
| vaultPath | No | Path to Obsidian vault |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'write or overwrite', implying mutation, but doesn't specify permissions needed, whether overwriting is destructive, error handling, or response format. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding 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 with no wasted words, clearly stating the action and resource. It is appropriately sized and front-loaded, making it easy to understand at a glance.
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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success or failure, nor does it cover behavioral aspects like permissions or side effects. For a tool that modifies data, more context is needed to ensure safe and correct usage.
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 schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate when the schema handles parameter documentation adequately.
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 verb ('write or overwrite') and resource ('a note with new content'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_note' or 'append_to_note', which would require more specificity about when to use each.
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 'create_note' or 'append_to_note', nor does it mention prerequisites such as vault existence or note path validity. It lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
17 tool updates
v1.0.0- First observed
append_to_note - First observed
audit_recent_notes - First observed
contextual_companions - First observed
create_note - First observed
fresh_energy - First observed
get_backlinks - First observed
get_note - First observed
guided_path - First observed
initiative_bridge - First observed
intelligent_search - First observed
list_directories - First observed
pattern_echo - First observed
query_vault - First observed
search_notes - First observed
synthesis_ready - First observed
update_note_section - First observed
write_note
TDQS
Most tools have distinct purposes, such as 'create_note' for creation, 'get_note' for retrieval, and 'append_to_note' for updates, with clear boundaries. However, some overlap exists between 'search_notes' and 'intelligent_search', where the latter's advanced features might cause confusion if an agent needs basic search functionality, but descriptions help differentiate them.
The naming is mixed, with some tools using verb_noun patterns like 'create_note' and 'update_note_section', while others use more descriptive phrases like 'contextual_companions' and 'synthesis_ready'. This inconsistency makes the set less predictable, but the names remain readable and convey intent, avoiding chaotic styles.
With 17 tools, the count is slightly high but reasonable for managing an Obsidian vault, covering operations from basic CRUD to advanced analytics and workflow management. It feels comprehensive without being overwhelming, though it borders on heavy for a note-taking domain, with some tools possibly overlapping in functionality.
The tool set provides complete coverage for note management, including creation, retrieval, updating, and deletion (implied via overwrite), along with advanced features like search, linking analysis, and workflow integration. There are no obvious gaps; agents can perform full lifecycle operations and complex queries without dead ends.
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
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Obsidian vaults, providing tools for reading, creating, editing and managing notes and tags.4,785733MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Obsidian vaults through direct filesystem access, supporting note management, lightning-fast search with SQLite indexing, image analysis, tag/link management, and bulk operations.MIT
- FlicenseAqualityDmaintenanceEnables comprehensive management of Obsidian vaults with full CRUD operations, advanced search, link/tag extraction, backlinks discovery, frontmatter editing, and template-based note creation through natural language.16-
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to read, write, search, and navigate Obsidian vault notes with support for CRUD operations, full-text search, graph navigation, daily notes, and frontmatter management.4,785-
Appeared in Searches
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/dbmcco/obsidian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server