Skip to main content
Glama
libra850
by libra850

Obsidian MCP Server

English | 日本語

ObsidianとModel Context Protocol (MCP)を連携させるサーバーです。

機能

基本機能

  • テンプレートを使用したノート作成

  • ノートの読み込み・更新

  • テンプレート一覧の取得

  • タグの管理・検索

  • ファイル・ディレクトリ検索

リンク管理機能(高優先度機能)

  • ノート間ウィキリンクの作成

  • 壊れたリンクの検出・修復支援

  • バックリンク分析とグラフ構造の把握

  • Map of Contents(目次ノート)の自動生成

Related MCP server: obsidian-autom8

セットアップ

  1. 依存関係のインストール:

    npm install
  2. TypeScriptのコンパイル:

    npm run build
  3. 環境変数の設定:

    export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"
    export OBSIDIAN_TEMPLATE_DIR="TEMPLATE"

    注意: OBSIDIAN_VAULT_PATHは実際のObsidianボルトのパスに置き換えてください。

  4. サーバーの起動:

    npm start

MCP設定方法

Claude Desktop での設定

  1. 設定ファイルの場所を確認:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/claude/claude_desktop_config.json

  2. プロジェクトのパスを確認:

    pwd

    このコマンドでプロジェクトの絶対パスを確認してください。

  3. Node.jsのパスを確認:

    which node

    このコマンドでNode.jsのパスを確認してください。

  4. 設定ファイルを編集: 設定ファイルに以下の設定を追加してください:

    基本設定:

    {
      "mcpServers": {
        "obsidian": {
          "command": "node",
          "args": ["/path/to/obsidian-mcp-server/dist/server.js"],
          "env": {
            "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
            "OBSIDIAN_TEMPLATE_DIR": "TEMPLATE"
          }
        }
      }
    }

    設定例:

    {
      "mcpServers": {
        "obsidian": {
          "command": "node",
          "args": ["/Users/username/Projects/obsidian-mcp-server/dist/server.js"],
          "env": {
            "OBSIDIAN_VAULT_PATH": "/Users/username/Documents/MyVault",
            "OBSIDIAN_TEMPLATE_DIR": "TEMPLATE"
          }
        }
      }
    }

    トラブルシューティング用(Node.jsパスを明示的に指定):

    {
      "mcpServers": {
        "obsidian": {
          "command": "/usr/local/bin/node",
          "args": ["/path/to/obsidian-mcp-server/dist/server.js"],
          "env": {
            "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
            "OBSIDIAN_TEMPLATE_DIR": "TEMPLATE"
          }
        }
      }
    }

    重要な置き換えポイント:

    • /path/to/obsidian-mcp-server/dist/server.js → 実際のプロジェクトパス

    • /path/to/your/obsidian/vault → 実際のObsidianボルトのパス

    • /usr/local/bin/nodewhich nodeで確認したNode.jsのパス

  5. Claude Desktop を再起動

他のMCPクライアントでの設定

他のMCPクライアントを使用する場合は、以下の設定を参考にしてください:

  • コマンド: node /path/to/obsidian-mcp-server/dist/server.js

  • 環境変数:

    • OBSIDIAN_VAULT_PATH: Obsidianボルトのパス

    • OBSIDIAN_TEMPLATE_DIR: テンプレートディレクトリ名

利用可能なツール

1. create_note_from_template

テンプレートを使用してObsidianノートを作成します。

パラメータ:

  • templateName (必須): TEMPLATEフォルダ内のテンプレート名(.md拡張子なし)

  • variables (必須): テンプレート内の変数を置換するためのオブジェクト

  • outputPath (必須): ノートの保存先パス(vault相対パス)

  • overwrite (オプション): 既存ファイルを上書きするかどうか(デフォルト: false)

2. list_templates

TEMPLATEフォルダ内の利用可能なテンプレート一覧を取得します。

パラメータ: なし

3. read_note

Obsidianノートの内容を読み込みます。

パラメータ:

  • notePath (必須): ノートのパス(vault相対パス)

4. update_note

Obsidianノートの内容を更新します。

パラメータ:

  • notePath (必須): ノートのパス(vault相対パス)

  • content (必須): 新しいノートの内容

5. list_tags

Obsidianボルト内のすべてのタグを一覧表示します。

パラメータ: なし

6. rename_tag

Obsidianボルト内のタグを一括でリネームします。

パラメータ:

  • oldTag (必須): 変更前のタグ名(#付きまたは#なし)

  • newTag (必須): 変更後のタグ名(#付きまたは#なし)

7. search_files

Obsidianボルト内のファイルとディレクトリを検索します。

パラメータ:

  • searchPath (オプション): 検索を開始するパス(vault相対パス、省略時はルート)

  • pattern (オプション): 検索パターン(ファイル名の一部、省略時は全て)

リンク管理ツール(高優先度機能)

ノート間にウィキリンクを作成します。

パラメータ:

  • sourceNote (必須): リンク元ノートパス(vault相対パス)

  • targetNote (必須): リンク先ノートパス(vault相対パス)

  • linkText (オプション): 表示テキスト(省略時はファイル名)

  • insertPosition (オプション): 挿入位置('end'、'cursor'、または行番号、デフォルト: 'end')

機能:

  • ファイル存在チェック

  • 重複リンク検出・警告

  • 相対パス解決

  • ウィキリンク形式 [[ターゲット|表示テキスト]] で挿入

壊れたリンクの検出と修復支援を行います。

パラメータ: なし

機能:

  • ウィキリンク [[]] とMarkdownリンク []() の両方対応

  • ファジー検索による修復候補提示

  • 大文字小文字、スペース、特殊文字の差異考慮

  • 行番号と周辺コンテキストの表示

戻り値:

{
  "brokenLinks": [
    {
      "sourceFile": "notes/example.md",
      "linkText": "Missing Note",
      "targetPath": "missing-note",
      "lineNumber": 15,
      "suggestions": ["similar-note", "missing-note-backup"]
    }
  ],
  "totalCount": 1
}

バックリンク分析とグラフ構造の把握を行います。

パラメータ:

  • targetNote (必須): 分析対象のノートパス(vault相対パス)

機能:

  • 指定されたノートへのバックリンク検出

  • リンク周辺のコンテキスト抽出

  • 関連ノートの特定

  • 人気度と中心性メトリクスの計算

戻り値:

{
  "targetNote": "important-concept.md",
  "backlinks": [
    {
      "sourceFile": "notes/research.md",
      "context": "この概念は[[important-concept]]として知られている",
      "linkType": "wiki"
    }
  ],
  "relatedNotes": ["notes/research.md"],
  "metrics": {
    "popularity": 5,
    "centrality": 0.1
  }
}

11. create_moc

Map of Contents(目次ノート)を自動生成します。

パラメータ:

  • title (必須): MOCのタイトル

  • targetPath (必須): MOCの保存先パス(vault相対パス)

  • sourcePattern (オプション): 対象ノートのパターン(省略時は全て)

  • groupBy (オプション): グループ化方法('tag'、'folder'、'none'、デフォルト: 'none')

  • includeDescription (オプション): 説明を含めるかどうか(デフォルト: false)

機能:

  • パターンマッチングによるファイル選択

  • タグまたはフォルダーによるグループ化

  • YAML frontmatterからの説明自動抽出

  • ウィキリンク形式での目次生成

生成例:

# プロジェクト関連ノート

*このMap of Contentsは自動生成されました - 2024-01-15*

## #project
- [[project-planning|プロジェクト計画]] - 新機能の企画と設計
- [[project-timeline|プロジェクトスケジュール]] - 開発スケジュールとマイルストーン

## #development  
- [[api-design|API設計]] - RESTful APIの仕様書
- [[database-schema|データベース設計]] - テーブル構造と関係性

使用方法

テンプレート作成例

TEMPLATE/meeting-notes.md:

---
description: "会議のメモを作成するためのテンプレート"
---

# {{title}}

**日時**: {{date}} {{time}}
**参加者**: {{participants}}

## 議題
{{agenda}}

## 議事録
{{notes}}

## 次回までのアクションアイテム
{{action_items}}

MCP経由での使用

基本ツールの使用例

// テンプレートからノート作成
await mcp.callTool('create_note_from_template', {
  templateName: 'meeting-notes',
  variables: {
    title: 'プロジェクト計画会議',
    participants: '田中、佐藤、山田',
    agenda: '新機能の仕様検討',
    notes: '',
    action_items: ''
  },
  outputPath: 'meetings/2024-01-15-project-planning.md'
});

// ノート間リンク作成
await mcp.callTool('link_notes', {
  sourceNote: 'meetings/2024-01-15-project-planning.md',
  targetNote: 'projects/new-feature.md',
  linkText: '新機能プロジェクト',
  insertPosition: 'end'
});

リンク管理ツールの使用例

// 壊れたリンクを検出
const brokenLinks = await mcp.callTool('find_broken_links');

// バックリンク分析
const backlinks = await mcp.callTool('analyze_backlinks', {
  targetNote: 'concepts/important-concept.md'
});

// Map of Contents作成
await mcp.callTool('create_moc', {
  title: 'プロジェクト関連ノート',
  targetPath: 'index/project-moc.md',
  sourcePattern: 'project',
  groupBy: 'tag',
  includeDescription: true
});

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Tool DescriptionsC

Average 2.9/5 across 11 of 11 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: analyze_backlinks focuses on graph analysis, create_moc generates navigation structures, create_note_from_template handles templated creation, find_broken_links detects issues, link_notes creates connections, list_tags and list_templates enumerate metadata, read_note and update_note handle content operations, rename_tag manages tags, and search_files finds files. The descriptions clearly differentiate these functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, such as analyze_backlinks, create_moc, find_broken_links, and update_note. This uniformity makes the tool set predictable and easy to understand, with no deviations in naming conventions.

Tool Count5/5

With 11 tools, this server is well-scoped for managing an Obsidian vault, covering key operations like note creation, reading, updating, linking, tagging, searching, and analysis. Each tool serves a specific purpose without redundancy, making the count appropriate for the domain.

Completeness4/5

The tool set provides comprehensive coverage for core Obsidian workflows, including note lifecycle (create, read, update), linking, tagging, searching, and analysis. A minor gap is the lack of a delete_note tool for full CRUD operations, but agents can work around this by using file system operations or other methods.

Available Tools

11 tools
create_mocC

Map of Contents(目次ノート)を自動生成します

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesMOCのタイトル
targetPathYesMOCの保存先パス(vault相対パス)
sourcePatternNo対象ノートのパターン(省略時は全て)
groupByNoグループ化方法none
includeDescriptionNo説明を含めるかどうか
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 'automatically generates' a Map of Contents note, implying a write operation, but doesn't specify permissions needed, whether it overwrites existing files, error handling, or output format. For a tool that likely creates or modifies files, this lack of detail 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, clear sentence in Japanese: 'Map of Contents(目次ノート)を自動生成します'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence earns its place by stating 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 tool has no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like file creation effects, error cases, or return values. For a tool with 5 parameters that likely modifies the file system, more context is needed to fully understand its operation and implications.

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 description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 100%, with all parameters well-documented in Japanese (e.g., 'MOCのタイトル' for title, 'グループ化方法' for groupBy). The description doesn't explain how parameters interact or provide additional context, 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 tool's purpose: 'Map of Contents(目次ノート)を自動生成します' (automatically generates a Map of Contents/table of contents note). It specifies the verb '自動生成します' (automatically generates) and the resource 'Map of Contents(目次ノート)'. However, it doesn't explicitly differentiate from sibling tools like 'create_note_from_template' or 'update_note', which could also create notes, 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.

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 any prerequisites, context, or exclusions, nor does it compare to sibling tools such as 'create_note_from_template' or 'link_notes'. This leaves the agent with minimal direction on appropriate usage scenarios.

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

create_note_from_templateC

テンプレートを使用してObsidianノートを作成します

ParametersJSON Schema
NameRequiredDescriptionDefault
templateNameYesTEMPLATEフォルダ内のテンプレート名(.md拡張子なし)
variablesYesテンプレート内の変数を置換するためのオブジェクト
outputPathYesノートの保存先パス(vault相対パス)
overwriteNo既存ファイルを上書きするかどうか
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 'creates' which implies a write operation, but doesn't disclose critical behavioral traits: what happens if the template doesn't exist, how variable substitution works, whether the operation is atomic, what permissions are needed, or what happens on failure. For a creation tool with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, efficient sentence in Japanese that directly states the tool's core function. There's no wasted words or unnecessary elaboration. It's appropriately sized for a tool with good schema documentation.

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 creation tool with 4 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (success/failure, created note details), error conditions, or behavioral constraints. The user must rely entirely on the input schema without contextual guidance about the operation's outcomes or limitations.

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 4 parameters. The description adds no additional parameter information beyond what's in the schema (it doesn't explain template location, variable format, path conventions, or overwrite implications). This meets the baseline for high schema coverage but doesn't enhance understanding.

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: 'creates an Obsidian note using a template' (verb+resource). It specifies the method ('using a template') which distinguishes it from generic note creation tools. However, it doesn't explicitly differentiate from sibling tools like 'create_moc' or 'update_note' that might also involve note creation/modification.

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 when this template-based approach is preferred over direct note creation, nor does it reference any sibling tools (like 'list_templates' for available templates or 'create_moc' for other note types). The user must 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.

list_tagsB

Obsidianボルト内のすべてのタグを一覧表示します

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 states the action ('list all tags') but doesn't disclose behavioral traits like whether it returns a flat list or structured data, pagination, performance characteristics, or error conditions. The description is minimal and lacks 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.

Conciseness5/5

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

The description is a single, efficient sentence in Japanese that directly states the tool's purpose with no wasted words. It's appropriately sized for a simple, parameter-less tool and is front-loaded with the core action.

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 simplicity (0 parameters, no annotations, no output schema), the description is minimal but adequate for basic understanding. However, it lacks context about the return format (e.g., list structure, data types) and doesn't address potential limitations or usage scenarios, leaving gaps for an AI agent to infer behavior.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100% (since there are no parameters to describe). The description doesn't need to add parameter semantics, so a baseline of 4 is appropriate as it doesn't introduce confusion or redundancy.

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 ('list') and resource ('all tags in Obsidian vault') in Japanese. It's specific about what the tool does, though it doesn't explicitly differentiate from sibling tools like 'rename_tag' or 'search_files' which might also involve tags.

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, context, or compare with sibling tools like 'search_files' which might also retrieve tag-related information.

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

list_templatesB

TEMPLATEフォルダ内の利用可能なテンプレート一覧を取得します

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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 it retrieves a list, implying a read-only operation, but doesn't specify whether this requires authentication, what format the list returns (e.g., names, metadata), if there are rate limits, or if it's paginated. 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.

Conciseness5/5

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

The description is a single, efficient sentence in Japanese that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple list-retrieval tool and front-loads the core functionality.

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 simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does, but lacks details on return format, authentication, or error handling. For a basic list tool, it meets the minimum viable threshold but could be more complete by addressing behavioral aspects.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100% (though empty). The description doesn't need to compensate for any parameter documentation gaps. It appropriately doesn't mention parameters since none exist, earning a baseline score of 4 for this dimension.

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 ('取得します' - retrieves) and resource ('TEMPLATEフォルダ内の利用可能なテンプレート一覧' - list of available templates in TEMPLATE folder). It's specific about what it retrieves (templates from a specific folder), but doesn't explicitly distinguish it from sibling tools like 'create_note_from_template' or 'search_files' which might also involve templates.

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 when this tool is appropriate versus using 'search_files' for templates or 'create_note_from_template' which might involve template selection. There's no context about prerequisites or exclusions.

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

read_noteC

Obsidianノートの内容を読み込みます

ParametersJSON Schema
NameRequiredDescriptionDefault
notePathYesノートのパス(vault相対パス)
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 only states the action of reading/loading note content, without addressing permissions (e.g., read-only access), error handling (e.g., for invalid paths), or output format (e.g., text, metadata). This leaves critical behavioral traits unspecified for a tool that interacts with files.

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

Conciseness4/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is appropriately sized for a simple tool, though it could be more front-loaded with key details if expanded for better clarity.

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 file I/O operations and the lack of annotations and output schema, the description is incomplete. It doesn't explain what '読み込みます' entails (e.g., returns content as text, handles errors), leaving gaps in understanding how the tool behaves and what results to expect, which is inadequate 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 schema description coverage is 100%, with the single parameter 'notePath' clearly documented in the schema as 'ノートのパス(vault相対パス)' (note path relative to vault). The description adds no additional meaning beyond this, such as path format examples or constraints, so it meets the baseline for high schema coverage without compensating value.

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

Purpose3/5

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

The description states the action ('読み込みます' - reads/loads) and resource ('Obsidianノートの内容' - Obsidian note content), providing a basic purpose. However, it doesn't distinguish this from potential sibling tools like 'update_note' or 'search_files' that might also involve note content access, making it vague about its specific role in the toolset.

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. The description doesn't mention prerequisites, context (e.g., for viewing vs. editing), or exclusions, leaving the agent to infer usage from the name alone. This lack of explicit or implied guidelines reduces effectiveness in tool selection.

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

rename_tagC

Obsidianボルト内のタグを一括でリネームします

ParametersJSON Schema
NameRequiredDescriptionDefault
oldTagYes変更前のタグ名(#付きまたは#なし)
newTagYes変更後のタグ名(#付きまたは#なし)
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 'batch rename' but lacks details on permissions needed, whether changes are reversible, potential side effects (e.g., affecting multiple notes), or error handling. This is a significant gap 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 in Japanese that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded with the core action.

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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It should explain more about behavioral traits (e.g., what 'batch' entails, success/failure responses) to compensate for the lack of structured data, but it does not.

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 both parameters ('oldTag' and 'newTag') with details on format ('with or without #'). The description adds no additional meaning beyond what the schema provides, meeting the baseline for high 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 ('renames') and resource ('tags in Obsidian vault') with a specific scope ('batch'). However, it doesn't explicitly differentiate from sibling tools like 'update_note' or 'link_notes' that might also modify tags indirectly, leaving some ambiguity about uniqueness.

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. For example, it doesn't specify if this should be used instead of manually editing notes or other tools like 'update_note' for tag changes, nor does it mention prerequisites or exclusions.

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

search_filesC

Obsidianボルト内のファイルとディレクトリを検索します

ParametersJSON Schema
NameRequiredDescriptionDefault
searchPathNo検索を開始するパス(vault相対パス、省略時はルート)
patternNo検索パターン(ファイル名の一部、省略時は全て)
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 states the tool searches but doesn't disclose behavioral traits like whether it's read-only, how results are returned (e.g., list format, pagination), error handling, or performance implications (e.g., speed on large vaults). This is inadequate for a search 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.

Conciseness5/5

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

The description is a single, efficient sentence in Japanese that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, with every part contributing to understanding the purpose.

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 a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., file paths, metadata), how results are structured, or any limitations (e.g., case sensitivity, regex support). This leaves significant gaps for an agent to use the tool 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 description adds no parameter semantics beyond what the input schema provides. With 100% schema description coverage, the schema fully documents both parameters (searchPath and pattern), including defaults and meanings. The baseline score of 3 reflects that the schema does the heavy lifting, and the description doesn't compensate or add value.

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: 'search files and directories in Obsidian vault' (verb+resource). It's specific about the scope (Obsidian vault) but doesn't differentiate from sibling tools like 'find_broken_links' or 'list_tags' which also involve searching or listing operations in the same context.

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, exclusions, or compare it to siblings like 'list_templates' or 'analyze_backlinks', leaving the agent to infer usage based on tool names alone.

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

update_noteC

Obsidianノートの内容を更新します

ParametersJSON Schema
NameRequiredDescriptionDefault
notePathYesノートのパス(vault相対パス)
contentYes新しいノートの内容
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 an update operation, implying mutation, but doesn't describe what happens (e.g., overwrites entire content, merges, requires specific permissions, whether changes are reversible, or error conditions). For a mutation 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.

Conciseness5/5

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

The description is a single, efficient sentence in Japanese that directly states the tool's function. It's appropriately sized with zero wasted words and front-loaded the core action, 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?

Given this is a mutation tool (update operation) with no annotations, no output schema, and incomplete behavioral disclosure, the description is insufficient. It doesn't cover what the tool returns, error handling, or important behavioral traits like whether it overwrites or appends content. For a tool that modifies data, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('notePath' and 'content') with descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as format examples 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 verb ('更新します' - updates) and resource ('Obsidianノートの内容' - Obsidian note content), making the purpose understandable. It distinguishes from siblings like 'read_note' (read operation) and 'create_note_from_template' (creation operation), but doesn't explicitly differentiate from potential similar update operations that might exist in other contexts.

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), when not to use it, or how it differs from other tools like 'rename_tag' or 'link_notes' that might also modify notes. Usage context is implied 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.

A
license - permissive license
B
quality
D
maintenance

Maintenance

0Maintainers
No issuesResponse time
0Releases (12mo)

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
    Enables comprehensive access to Obsidian vaults through MCP, supporting multi-vault management, knowledge graph analysis, canvas manipulation, dataview queries, template rendering, and periodic notes creation. Provides both local filesystem and remote API connectivity for complete Obsidian integration.
    29
    5,784
    22
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to remotely access and interact with Obsidian vaults via MCP, supporting note operations, tag management, graph queries, and command execution.
    4
    GPL 3.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables MCP-based operations on an Obsidian vault, including reading, editing, and custom script tools.
    BSD Zero Clause
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables reading, writing, searching, and managing Obsidian vault notes through MCP tools and prompts, allowing AI agents to interact with local knowledge bases.

View all related MCP servers

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/libra850/obsidian-mcp-server'

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