{"id":"cyanheads-obsidian-mcp-server","name":"obsidian-mcp-server","homepage":"https://www.npmjs.com/package/obsidian-mcp-server","repo_url":"https://github.com/cyanheads/obsidian-mcp-server","category":"devtools","subcategories":[],"tags":["mcp","obsidian","knowledge-management","notes","automation","typescript"],"what_it_does":"Provides an MCP server that exposes Obsidian vault operations (read/update/search/list/delete notes; manage YAML frontmatter and tags) by bridging to the Obsidian Local REST API plugin over HTTP, with optional HTTP transport for the MCP server itself.","use_cases":["Integrate Obsidian knowledge bases into AI agents via MCP tooling","Automate vault workflows (batch updates, tag/frontmatter management)","Enable RAG-style retrieval by searching and reading notes","Programmatically refactor note content using search/replace","Maintain vault hygiene by listing structures and deleting notes"],"not_for":["Running as a general-purpose remote file system without access controls","Public internet exposure to untrusted clients (because it can mutate and delete vault content)","High-security environments where disabling SSL verification is unacceptable"],"best_when":"Used locally or within a trusted network where the Obsidian Local REST API plugin is already configured with an API key, and MCP clients authenticate appropriately.","avoid_when":"Avoid connecting over HTTP with SSL verification disabled, or exposing the MCP/bridge endpoints to untrusted networks/users.","alternatives":["Direct use of the Obsidian Local REST API plugin from your own backend","Community Obsidian automation scripts using the Obsidian API (where available)","Other knowledge-base MCP servers (if they provide comparable note read/write/search capabilities)"],"af_score":63.6,"security_score":59.8,"reliability_score":47.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:28:11.524349+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["API key for Obsidian Local REST API plugin (OBSIDIAN_API_KEY)","JWT authentication (MCP_AUTH_MODE=jwt)","OAuth 2.1 authentication (MCP_AUTH_MODE=oauth)"],"oauth":true,"scopes":false,"notes":"MCP authentication modes are described (jwt or oauth). The bridge to Obsidian Local REST API relies on an API key configured in the Obsidian plugin settings. The README does not document fine-grained tool/operation scopes for MCP auth."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source package; no usage-based pricing described."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":63.6,"security_score":59.8,"reliability_score":47.5,"mcp_server_quality":88.0,"documentation_accuracy":75.0,"error_message_quality":null,"error_message_notes":"README claims centralized error processing and standardized error types, but does not include concrete example error payloads.","auth_complexity":65.0,"rate_limit_clarity":20.0,"tls_enforcement":55.0,"auth_strength":70.0,"scope_granularity":40.0,"dependency_hygiene":55.0,"secret_handling":75.0,"security_notes":"TLS to the Obsidian Local REST API can be configured, but README explicitly suggests setting OBSIDIAN_VERIFY_SSL=false due to a self-signed cert default—reducing transport security if misconfigured. Authentication options for the MCP server include JWT and OAuth 2.1; however, the excerpt does not describe fine-grained scopes/authorization boundaries per tool. Secrets are handled via env vars and claims of sensitive data redaction/logging; actual implementation details and dependency vulnerability status are not verifiable from the provided text.","uptime_documented":0.0,"version_stability":75.0,"breaking_changes_history":50.0,"error_recovery":65.0,"idempotency_support":"false","idempotency_notes":"Some tools perform mutations (append/prepend/overwrite, delete). The README does not describe idempotency keys or idempotent semantics; retries could duplicate updates or cause repeated deletes unless the MCP client designs around it.","pagination_style":"Uses paginated results for global vault search; pagination parameters are not fully specified in the provided excerpt.","retry_guidance_documented":false,"known_agent_gotchas":["Regex/search tools may be sensitive to escaping and performance; no guardrails are described in the excerpt.","File-path targeting uses case-insensitive fallback; agents should still provide canonical paths to avoid ambiguity.","Mutation tools (update/delete) lack described idempotent semantics; retries may cause unintended repeated changes.","Vault cache fallback exists; agents should consider cache refresh timing for read-after-write consistency."]}}