Skip to main content
Glama
newtype-01

Obsidian MCP

by newtype-01

Obsidian MCP (Model Context Protocol) Server

English | δΈ­ζ–‡

This project implements a Model Context Protocol (MCP) server for connecting AI models with Obsidian knowledge bases. Through this server, AI models can directly access and manipulate Obsidian notes, including reading, creating, updating, and deleting notes, as well as managing folder structures.

Created by huangyihe

Features

  • πŸ”— Seamless Obsidian Integration: Direct access to Obsidian knowledge bases through MCP protocol

  • πŸ“ Complete Note Management: Read, create, update, and delete notes with advanced text replacement

  • πŸ“ Folder Operations: Create, rename, move, and delete folders with full hierarchy support

  • πŸ” Intelligent Search: Full-text search across all file types with smart scoring

  • πŸ€– AI-Powered Analysis: NEW Strategic insights using TRILEMMA-PRINCIPLES framework

  • πŸ”— Auto Backlink Generation: NEW Intelligent detection and conversion of note names to wikilinks

  • ⚑ Precision Editing: Advanced PATCH operations with heading and block-level targeting

  • πŸš€ Dual API Strategy: Obsidian REST API with filesystem fallback for maximum reliability

  • 🎯 Context Optimization: Smart content summarization for LLM context length management

  • πŸ“Š Batch Processing: Efficient bulk operations with progress tracking

Related MCP server: MCP Obsidian

Supported Tools

The MCP server provides the following comprehensive tools:

πŸ“‹ Core Operations

  • list_notes: List notes in the Obsidian vault with optional folder filtering

    • NEW recursive parameter: Control whether to list files recursively in subdirectories (default: true)

    • Use recursive: false to list only files in the specified folder without subdirectories

  • read_note: Read the content of a specific note in the Obsidian vault

  • read_multiple_notes: Read content from multiple notes simultaneously for batch processing

  • create_note: Create a new note in the Obsidian vault with full content

  • delete_note: Delete a note from the Obsidian vault

  • search_vault: Advanced search across all file types with filename and content matching

  • move_note: Move or rename notes to new locations (supports all file types including PDFs)

  • manage_folder: Complete folder CRUD operations (create/rename/move/delete)

πŸš€ Advanced Features

  • update_note: Enhanced Update content using text replacements OR precision insertion

    • Traditional text replacement mode

    • NEW Heading-based insertion (before/after/append/prepend)

    • NEW Block ID-based insertion with ^block-id support

    • NEW PATCH API integration with filesystem fallback

  • auto_backlink_vault: πŸ”— Auto Backlink Generation

    • Intelligently scan entire vault for note name mentions

    • Convert text references to wikilink format ([[note name]])

    • Smart pattern matching with false positive prevention

    • Configurable dry-run mode and batch processing

  • notes_insight: 🧠 AI-Powered Strategic Analysis ⭐ NEW

    • Generate strategic insights using TRILEMMA-PRINCIPLES framework

    • Automatic topic-based note discovery and relevance ranking

    • AI-driven content summarization for context optimization

    • Structured analysis: constraint identification β†’ assumption challenges β†’ breakthrough solutions

    • Configurable parameters for analysis depth and scope

Prerequisites

  • Node.js (v16 or higher)

  • Obsidian desktop application

  • Obsidian Local REST API plugin (needs to be installed in Obsidian)

Installation Options

Choose the most suitable installation method based on your technical level and usage needs:

Method

Target Users

Advantages

Disadvantages

🎯 One-Click Install (DXT)

General users

Simplest, GUI configuration

Requires DXT-enabled client

πŸ“¦ Remote Install (NPM)

Node.js users

Auto-updates, no installation

Requires network connection

πŸ”§ Local Deploy

Advanced users

Offline use, full control

Manual updates required


Suitable for: General users who want the simplest installation experience

Step 1: Download DXT File

Download the pre-built extension package: obsidian-mcp.dxt

Step 2: Install and Configure

Double-click the downloaded .dxt file and the system will automatically install the extension. Then fill in the configuration interface:

  • Vault Path: Your Obsidian vault path (e.g., /Users/username/Documents/MyVault)

  • API Token: Obsidian Local REST API plugin token

  • API Port: API port number (default: 27123)


Method 2: Remote Install (NPM Package)

Suitable for: Node.js developers who want automatic updates and version management

Simply add the following configuration to your MCP client config file:

Using npx (recommended, no pre-installation required):

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "npx",
      "args": [
        "@huangyihe/obsidian-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault",
        "OBSIDIAN_API_TOKEN": "your_api_token",
        "OBSIDIAN_API_PORT": "27123"
      }
    }
  }
}

Note: First run will automatically download the package, subsequent runs use cache, ensuring you always use the latest version.


Method 3: Local Deploy

Suitable for: Users who need customization, advanced control, or offline usage

Step 1: Global Install

npm install -g @huangyihe/obsidian-mcp

Step 2: MCP Client Configuration

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "obsidian-mcp",
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault",
        "OBSIDIAN_API_TOKEN": "your_api_token",
        "OBSIDIAN_API_PORT": "27123"
      }
    }
  }
}

Option B: Source Deploy

Step 1: Clone Repository

git clone https://github.com/newtype-01/obsidian-mcp.git
cd obsidian-mcp

Step 2: Install Dependencies

npm install

Step 3: Build Project

npm run build

Step 4: Configure Environment Variables

cp .env.example .env
# Edit .env file with your configuration

Step 5: Start Server

npm start

Option C: Docker Deploy

Using Docker Compose (Recommended)

# Configure environment variables
cp .env.example .env
# Edit .env file

# Start service
docker-compose up -d

Using Docker Command

# Build image
docker build -t obsidian-mcp .

# Run container
docker run -d \
  --name obsidian-mcp \
  --env-file .env \
  --network host \
  -v $(OBSIDIAN_VAULT_PATH):$(OBSIDIAN_VAULT_PATH) \
  obsidian-mcp

Configuration Guide

Environment Variables

All installation methods require the following configuration:

  • OBSIDIAN_VAULT_PATH: Path to your Obsidian vault

  • OBSIDIAN_API_TOKEN: API token for Obsidian Local REST API plugin

  • OBSIDIAN_API_PORT: API port for Obsidian Local REST API (default: 27123)

⚠️ Important: For remote NPM installation and global installation, you MUST use the OBSIDIAN_ prefix for environment variables. The variables VAULT_PATH, API_TOKEN without the prefix will not work correctly.

Getting API Token

  1. Install "Local REST API" plugin in Obsidian

  2. Generate API Token in plugin settings

  3. Note the port number (default 27123)

Testing

The project includes a test script to verify server functionality:

node test-mcp.js

Development

  • Use npm run dev to run the server in development mode

  • Source code is located in the src directory

License

MIT

Contributing

Pull Requests and Issues are welcome!

Available Tools

11 tools
create_noteC

Create a new note in the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath where the note should be created
contentYesContent of the note

TDQS

C2.9/5.0
Behavior2/5

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 note but doesn't cover critical behaviors like whether it overwrites existing files, requires specific permissions, handles errors, or returns any output. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It is front-loaded and appropriately sized, making it easy to parse quickly.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success or failure, whether the note is immediately saved, or how it interacts with other tools like 'auto_backlink_vault'. More context is needed given the complexity of file creation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for both parameters ('path' and 'content'). The description adds no additional semantic context beyond what the schema provides, such as path format examples or content constraints, so it 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.

Purpose4/5

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 ('new note in the Obsidian vault'), making the purpose immediately understandable. It distinguishes from siblings like 'update_note' or 'delete_note' by specifying creation, but doesn't explicitly differentiate from all siblings (e.g., 'manage_folder' could also involve creation).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'update_note' for modifying existing notes or 'manage_folder' for folder-related operations. The description lacks context on prerequisites, such as whether the path must exist or if overwriting is allowed, leaving usage unclear.

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

delete_noteC

Delete a note from the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the note within the vault

TDQS

C2.9/5.0
Behavior2/5

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 deletes a note, implying a destructive mutation, but fails to describe critical traits like whether deletion is permanent or reversible, what permissions are required, or if there are side effects like broken links. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with zero wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration.

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

Completeness2/5

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

Given the tool's destructive nature, lack of annotations, and no output schema, the description is incomplete. It does not address behavioral risks, return values, or error handling, which are crucial for a deletion operation. This leaves the agent with insufficient context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'path' parameter clearly documented. The description does not add any meaning beyond what the schema provides, such as examples of valid paths 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.

Purpose4/5

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

The description clearly states the action ('Delete') and the resource ('a note from the Obsidian vault'), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like 'move_note' or 'update_note' beyond the verb, which slightly limits its distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'move_note' for relocation or 'update_note' for modification. It lacks context about prerequisites, like ensuring the note exists, or exclusions, such as not using it for non-note files.

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

list_notesB

List notes in the Obsidian vault. By default lists all notes recursively.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderNoFolder path within the vault (optional). If not provided, lists from vault root.
recursiveNoWhether to list files recursively in subdirectories (default: true)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions default behavior (recursive listing) but lacks details on permissions, rate limits, output format, pagination, or error handling. For a read operation with zero annotation coverage, this is insufficient, though it does add some basic context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: two sentences with zero waste. It efficiently states the purpose and default behavior without unnecessary details, earning a high score for brevity and clarity.

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

Completeness3/5

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

Given the tool's low complexity (simple list operation), no annotations, and no output schema, the description is minimally adequate. It covers the basic action and default behavior but lacks details on output, errors, or advanced usage, resulting in a baseline score of 3.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional parameter semantics beyond what the schema provides (e.g., it doesn't explain folder path formats or recursive implications). Baseline 3 is appropriate when the schema handles parameter documentation.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'List notes in the Obsidian vault.' It specifies the resource (notes) and the action (list), but does not explicitly differentiate it from sibling tools like 'search_vault' or 'read_multiple_notes', 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.

Usage Guidelines2/5

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

The description provides minimal guidance: 'By default lists all notes recursively.' It implies usage for listing notes but offers no explicit when-to-use advice, alternatives, or exclusions compared to siblings like 'search_vault' or 'read_multiple_notes'. This lack of context results in a low score.

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

manage_folderB

Create, rename, move, or delete a folder in the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe operation to perform: create, rename, move, or delete
pathYesPath to the folder within the vault
newPathNoNew path for the folder (required for rename and move operations)

TDQS

B3.2/5.0
Behavior2/5

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 operations but lacks details on permissions, side effects (e.g., what happens to contents when deleting), error handling, or rate limits. For a tool with multiple mutation operations, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads all key operations (create, rename, move, delete) and the resource (folder in Obsidian vault). There is no wasted verbiage, 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.

Completeness2/5

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

Given the complexity of multiple mutation operations, no annotations, and no output schema, the description is incomplete. It does not address behavioral aspects like safety, response formats, or error conditions, which are critical for an agent to use the tool correctly in a vault environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as examples or edge cases. Baseline 3 is appropriate as the schema does the heavy lifting, but the description does not compensate with extra context.

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

Purpose5/5

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

The description clearly states the specific actions (create, rename, move, delete) and the resource (folder in Obsidian vault), distinguishing it from sibling tools like create_note or move_note that operate on notes rather than folders. It precisely defines the tool's scope without being vague or tautological.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as create_note for notes or other folder-related operations. It lists operations but does not specify contexts, prerequisites, or exclusions, leaving the agent to infer usage from the operation names alone.

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

move_noteC

Move or rename a note to a new location in the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcePathYesCurrent path to the note within the vault
destinationPathYesNew path where the note should be moved

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the tool performs a move/rename operation, implying mutation, but doesn't disclose critical traits like permission requirements, whether it overwrites existing files, error handling for invalid paths, or if it updates internal links. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Move or rename a note') and specifies the context ('in the Obsidian vault'). There is zero wasted text, 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.

Completeness2/5

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

Given the tool's complexity (a mutation operation with 2 required parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, error conditions, or return values, leaving gaps that could hinder an AI agent's ability to invoke it correctly. More context is needed for adequate completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional meaning beyond the schema's details about source and destination paths. According to rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the action ('Move or rename') and resource ('a note'), specifying the target location ('new location in the Obsidian vault'). It distinguishes from siblings like 'create_note', 'delete_note', and 'update_note' by focusing on relocation/renaming rather than creation, deletion, or content modification. However, it doesn't explicitly differentiate from 'manage_folder' which might also handle file movements.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., note must exist), exclusions (e.g., cannot move to non-existent folders), or comparisons with siblings like 'update_note' for renaming or 'manage_folder' for broader file operations. Usage is implied but not explicitly defined.

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

notes_insightC

Generate insights about a topic using TRILEMMA-PRINCIPLES framework with AI-powered summarization

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic keyword or phrase to analyze
maxNotesNoMaximum number of notes to analyze (default: 5)
maxContextLengthNoMaximum context length in characters (default: 50000)
enableSummaryNoWhether to enable AI summarization for long notes (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions 'AI-powered summarization' and the TRILEMMA-PRINCIPLES framework, it doesn't describe what insights are generated, the format of output, potential limitations, or how it interacts with notes (e.g., does it analyze existing notes from the vault?). For a tool with no annotations 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to quickly understand what the tool does.

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

Completeness2/5

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

Given the complexity of generating insights with AI and a specific framework, no annotations, and no output schema, the description is incomplete. It doesn't explain what insights look like, how they're derived, or what the tool returns. This leaves the agent with insufficient context to use the tool effectively beyond basic parameter passing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description doesn't add any meaning beyond what the schema provides about parameters like 'topic', 'maxNotes', etc. It implies topic analysis but doesn't elaborate on parameter interactions or constraints. 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.

Purpose4/5

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

The description clearly states the tool's purpose: 'Generate insights about a topic using TRILEMMA-PRINCIPLES framework with AI-powered summarization.' It specifies the verb ('generate insights'), resource ('topic'), and method ('TRILEMMA-PRINCIPLES framework with AI-powered summarization'). However, it doesn't explicitly distinguish this from sibling tools like 'search_vault' or 'read_note' that might also provide information about topics.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, ideal use cases, or when to choose this over sibling tools like 'search_vault' or 'read_note' for topic analysis. The agent must infer usage from the purpose alone.

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

read_multiple_notesB

Read content from multiple notes simultaneously

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesArray of note paths to read

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool reads content but doesn't specify what happens if paths are invalid, if there are rate limits, permission requirements, or the format of the returned content. This leaves significant gaps for a tool that interacts with multiple resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, 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.

Completeness2/5

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 content is returned (e.g., raw text, structured data), error handling, or performance implications for reading multiple notes. For a tool with no structured behavioral hints, this leaves critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting the 'paths' parameter as an array of note paths. The description adds no additional semantic information beyond what the schema provides, such as path format examples or constraints, so it 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.

Purpose4/5

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

The description clearly states the action ('Read content') and resource ('from multiple notes simultaneously'), distinguishing it from the sibling 'read_note' tool which presumably reads a single note. However, it doesn't specify the format or scope of the content being read (e.g., full text, metadata, or specific fields).

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

Usage Guidelines3/5

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

The description implies usage when multiple notes need to be read at once, suggesting an alternative to repeatedly calling 'read_note'. However, it doesn't explicitly state when to use this tool over 'read_note' or other siblings like 'list_notes' or 'search_vault', nor does it mention any prerequisites or limitations.

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

read_noteC

Read the content of a note in the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the note within the vault

TDQS

C2.9/5.0
Behavior2/5

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 this is a read operation, which implies safety, but doesn't cover important aspects like error handling (e.g., what happens if the path is invalid), return format, or performance considerations (e.g., file size limits).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that efficiently conveys the core functionality without unnecessary words. It's front-loaded with the key action and resource, making it easy to parse quickly.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., note content, metadata), error conditions, or how it interacts with the vault structure, leaving significant gaps for an AI agent to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the 'path' parameter fully documented in the schema. The description doesn't add any additional semantic context beyond what the schema provides, such as path format examples or vault structure details, so it 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.

Purpose4/5

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

The description clearly states the action ('Read') and resource ('content of a note in the Obsidian vault'), making the tool's purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'read_multiple_notes' or 'list_notes', which prevents 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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'read_multiple_otes' or 'list_notes'. It also lacks information about prerequisites, such as whether the note must exist or if there are access restrictions, leaving usage context unclear.

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

search_vaultC

Search for content in the Obsidian vault

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query

TDQS

C2.9/5.0
Behavior2/5

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 action ('Search') but doesn't describe what the search returns (e.g., file names, content snippets, metadata), how results are formatted, or any limitations (e.g., search scope, performance). This leaves significant gaps for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasteβ€”it directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded for quick understanding.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'content' means (e.g., files, text, metadata), the search behavior (e.g., full-text, fuzzy), or the return format, making it inadequate for a search tool in a complex vault system.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'query' documented in the schema. The description adds no additional meaning beyond implying a search operation, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Search') and resource ('content in the Obsidian vault'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_notes' or 'notes_insight' that might also involve finding content, so it doesn't reach the highest clarity level.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'list_notes' or 'notes_insight'. There's no mention of prerequisites, context, or exclusions, 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.

update_noteC

Update content in an existing note using text replacements or precise insertions

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the note within the vault
editsYesArray of edit operations to apply
dryRunNoPreview changes without applying them

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'update content' but doesn't disclose critical behavioral traits: whether changes are reversible, permission requirements, error handling (e.g., if note doesn't exist), or side effects. The 'dryRun' parameter hints at preview capability, but this isn't explained in the description. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Update content in an existing note') and adds method details ('using text replacements or precise insertions'). There's no wasted wording, and it's appropriately sized for the tool's complexity.

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

Completeness2/5

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

Given the tool's complexity (mutation with nested edit operations), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error cases, or behavioral nuances like how 'dryRun' works. For a tool that modifies notes with multiple edit modes, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value beyond the schema by hinting at 'text replacements or precise insertions', which loosely maps to the 'edits' parameter modes. However, it doesn't provide additional syntax, examples, or constraints beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Update content in an existing note using text replacements or precise insertions', which specifies the verb ('update'), resource ('existing note'), and method ('text replacements or precise insertions'). It distinguishes from siblings like 'create_note' (creates new) and 'delete_note' (removes), but doesn't explicitly differentiate from 'move_note' or 'read_note' beyond the update action.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., note must exist), compare to 'create_note' for new notes, or specify scenarios where 'replace' vs 'insert' modes are appropriate. Usage is implied by the action but lacks explicit context.

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.

  1. 11 tool updates
    • First observedauto_backlink_vault
    • First observedcreate_note
    • First observeddelete_note
    • First observedlist_notes
    • First observedmanage_folder
    • First observedmove_note
    • First observednotes_insight
    • First observedread_multiple_notes
    • First observedread_note
    • First observedsearch_vault
    • First observedupdate_note

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have distinct purposes focused on note/file management (create, read, update, delete, list, move, search) and vault operations (manage_folder, auto_backlink_vault). However, 'notes_insight' stands out as an AI-powered summarization tool that overlaps conceptually with search/read functions, potentially causing confusion about when to use it versus other content tools.

Naming Consistency5/5

Tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., create_note, delete_note, list_notes). All tools adhere to this convention, making them predictable and easy to understand at a glance without any mixing of styles or erratic naming.

Tool Count5/5

With 11 tools, the set is well-scoped for managing an Obsidian vault, covering core CRUD operations, file organization, search, and specialized features like backlinking and insights. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness5/5

The tool surface provides complete coverage for note and vault management, including create, read, update, delete, list, move, search, folder management, and advanced features like backlinking and insights. There are no obvious gaps, and agents can perform full lifecycle operations without dead ends.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants to read, write, and manipulate notes in your Obsidian vault through a standardized interface.
    5
    4,785
    4
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that wraps the Obsidian CLI to give AI assistants direct access to read, edit, and manage notes within an Obsidian vault. It enables advanced operations such as frontmatter property management, context-aware searching, and the execution of internal Obsidian commands.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/newtype-01/obsidian-mcp'

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