Skip to main content
Glama
chs2147

obsidian-local-mcp

by chs2147

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct operation: create/read/update for notes, list/create for directories, search across notes, and vault info. No overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (create_note, read_note, update_note, list_directory, create_directory, search_notes, get_vault_info).

    Tool Count5/5

    7 tools is well-scoped for an Obsidian vault server, covering note operations, directory management, search, and vault metadata without redundancy.

    Completeness3/5

    The note lifecycle covers create, read, and update but lacks delete note and delete directory operations, which are fundamental for full CRUD. Search and directory listing are present, but deletions are a notable gap.

  • Average 4/5 across 7 of 7 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 4 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/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 adds a useful behavioral detail by excluding dotfiles, but it does not disclose whether the operation is read-only, the output format, sorting order, or error behavior. This is a basic disclosure, not a comprehensive one.

    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 two short sentences; the first states the core functionality, the second adds the meaningful dotfile exclusion. Every word earns its place with no redundancy or fluff.

    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?

    For a simple two-parameter list tool with no annotations or output schema, the description is adequate but incomplete. It omits the return value shape, potential errors, and whether any side effects occur, leaving gaps for an AI agent to infer.

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

    Parameters3/5

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

    Schema description coverage is 100% for both parameters (path and recursive), so the description adds no additional parameter-level meaning. Baseline of 3 is applied because the schema already documents the parameters well.

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

    Purpose5/5

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

    The description states exactly what the tool does: 'Returns file/folder list in Vault directory' with a specific verb and resource. This clearly distinguishes it from sibling tools like create_directory or read_note.

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

    Usage Guidelines3/5

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

    The description implies usage for listing directory contents via the Vault-relative path and recursive flags, but it does not explicitly state when to prefer this over alternatives or when not to use it. The context is clear, but exclusions and alternatives are missing.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses a key behavioral trait—recursive creation—which is useful. However, it does not mention idempotency, error handling (e.g., if path already exists), permissions, or the fact that this is a write operation, leaving gaps 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, focused sentence that front-loads the action, scope, and recursive behavior. Every word earns its place; there is no fluff or redundancy.

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

    Completeness4/5

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

    For a simple tool with one parameter, the description covers the essential context: what it creates, where (inside Vault), and the recursive behavior. It lacks details about return values or edge cases, but given the low complexity and absence of an output schema, this is mostly sufficient. A 4 reflects that it is complete for its simplicity, though not exhaustive.

    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 already provides 100% description coverage for the only parameter 'path' (relative path in Vault). The description adds little beyond reinforcing the Vault scope and recursion, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function: creating a folder (recursively) inside the Vault. The verb 'create' is specific, and the resource 'folder/directory' is explicit, distinguishing it from sibling tools like create_note and list_directory. It fully explains what the tool does.

    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 you need to create a directory under the Vault) but does not explicitly contrast with alternatives or state when not to use it. There are no references to sibling tools or exclusions, so guidance is only implied, not explicit.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden. It discloses the return contents (raw text, parsed frontmatter, body), which adds transparency. However, it does not mention side effects (though 'returns' implies read-only), error behavior, or permissions. Some behavioral context is provided, but not comprehensive.

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

    Conciseness5/5

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

    The description is a single, concise sentence that conveys the essential information without redundancy or filler. Every word adds value.

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

    Completeness4/5

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

    The tool is simple with one parameter and no output schema. The description explains the return structure clearly. It lacks additional context such as error handling or path format nuances, but for a basic read operation, it is sufficiently complete. A small deduction for not mentioning what happens if the note does not exist.

    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% for the single 'path' parameter, so the schema already explains it. The description adds no additional parameter context beyond what the schema provides. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the verb ('반환한다' - returns) and the resource (노트 - note), and specifies exactly what is returned: raw text, parsed frontmatter, and body. This distinguishes it from sibling tools like create_note, update_note, search_notes, and list_directory.

    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: read a specific note by path. However, it does not explicitly state when to use this tool versus alternatives (e.g., search_notes for finding notes), nor does it mention exclusions or prerequisites. The context is clear but not explicit.

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

  • 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 'returns' data, implying a read-only operation, but does not explicitly disclose the absence of side effects, any required setup, or potential error conditions (e.g., missing vault). Minimal behavioral detail beyond the obvious.

    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?

    A single, compact sentence that front-loads the core action and lists the returned items. Every word earns its place; no redundancy or filler.

    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?

    The description covers the essential return values, but with no output schema, it lacks detail on the response structure (e.g., data types, key names). It also does not address edge cases like an unconfigured vault. Adequate for a simple info tool, yet there are clear gaps in return format and failure 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 zero parameters, and the schema is empty. The baseline for 0 params is 4, and the description adds value by enumerating the return fields, which indirectly helps an agent understand what no-input invocation yields.

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

    Purpose5/5

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

    The description clearly identifies the tool as returning specific vault metadata (path, default author, note count, config file location). The verb '반환한다' (returns) is specific, and the listed items distinguish it from sibling tools that operate on notes or directories.

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

    Usage Guidelines4/5

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

    The purpose strongly implies when to use it: to retrieve vault-level configuration and stats. No explicit alternatives are mentioned, but the context of returning vault info is clear and distinct from note/file operations, providing adequate guidance without needing exclusions.

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

  • Behavior4/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 reveals important behavior: case-insensitive matching and simple partial matching, and specifies the scope (Vault). It does not mention return format or pagination, but the disclosed behavior is substantive for a search 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, well-structured sentence that front-loads the core purpose and adds key behavioral details. No wasted words or redundancy.

    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?

    For a simple tool with 2 parameters and no output schema, the description covers the search criteria and matching behavior. However, it does not state what the tool returns (e.g., list of note paths, snippets, or full content), which is critical for an agent to use the results. This is a notable gap.

    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 already describes both parameters ('query' as '검색어', 'in' as '검색 대상 (기본 content)' with enum). The description adds global matching behavior (partial match, case-insensitive) but does not provide additional per-parameter details beyond what the schema offers, so the baseline 3 is appropriate.

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

    Purpose5/5

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

    The description explicitly states the tool searches notes within the Vault, with specific search criteria (filename, content, tags). This clearly distinguishes it from sibling tools like create_note or list_directory, which serve different purposes.

    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 purpose is clear, but there is no explicit mention of when to use this tool versus alternatives such as read_note (to retrieve a specific note) or list_directory (to enumerate files). The use case is implied rather than directly stated.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It reveals that Obsidian YAML properties are assigned in a fixed order and that empty keys are preserved when parameters are omitted. However, it does not address overwrite behavior or error conditions beyond what the schema already covers.

    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?

    Two concise sentences, front-loaded with the core purpose and followed by relevant YAML behavior. No redundant information, making it efficient and easy to parse.

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

    Completeness4/5

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

    The description covers the essential creation behavior and YAML handling. Combined with the rich schema, it provides enough to invoke the tool correctly. However, it lacks explicit mention of return values and conflict/overwrite behavior, which would improve completeness.

    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?

    Schema coverage is 100%, so baseline is 3. The description adds semantic value by linking parameters to YAML fields, specifying the fixed order of properties, and clarifying that empty values result in empty keys. This goes beyond the schema's property descriptions.

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

    Purpose5/5

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

    The description states 'Vault 안에 새 노트를 만든다' (Creates a new note in the Vault), using a specific verb and resource. It also explains the YAML property assignment behavior, clearly distinguishing it from siblings like create_directory and update_note.

    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 does not explicitly mention when to use this tool versus alternatives. The tool name and sibling list imply usage for creating notes, but no exclusion or alternative guidance is provided, relying on the agent to infer.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It discloses key non-obvious behavior: frontmatter keys are merged, not replaced, with preservation of other keys and key order. It also clarifies that mode controls body update strategy. Missing details like prerequisite note existence or permissions, but the provided context is substantial.

    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 two sentences, each earning its place: the first states the purpose and scope, the second details behavioral nuances. No redundant or filler content.

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

    Completeness4/5

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

    For a tool with 11 parameters and no output schema, the description covers the core update logic and merge behavior, which is the most important context. It relies on the schema for parameter-specific details and omits edge cases like error handling, but overall is sufficiently complete for an agent to select and use it correctly.

    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?

    While the schema describes all 11 parameters, the description adds a unifying semantic: property parameters merge into existing frontmatter, preserving unspecified keys and order. This explains the interaction between mode and content that the schema does not fully convey, enriching parameter understanding beyond individual descriptions.

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

    Purpose5/5

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

    Description uses a specific verb ('수정한다' = modifies) and resource ('기존 노트' = existing note), clearly distinguishing from create_note by emphasizing existing notes. It also specifies the two main targets: body and frontmatter.

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

    Usage Guidelines4/5

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

    The description makes it clear this is for updating existing notes, not creating them, and explains the mechanics (mode for body updates, property parameters for frontmatter merging). However, it does not explicitly name alternatives like create_note or state when to avoid this tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

obsidian-local-mcp MCP server

Copy to your README.md:

Score Badge

obsidian-local-mcp MCP server

Copy to your README.md:

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/chs2147/obsidian-local-mcp'

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