{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/obsidian-mcp-server","description":"Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.","repository":{"url":"https://github.com/cyanheads/obsidian-mcp-server","source":"github"},"version":"3.2.9","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"obsidian-mcp-server","version":"3.2.9","runtimeHint":"node","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Bearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API).","isRequired":true,"format":"string","name":"OBSIDIAN_API_KEY"},{"description":"Base URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123 (enable \"Non-encrypted (HTTP) Server\" in plugin settings). Use https://127.0.0.1:27124 for the always-on HTTPS port (self-signed cert; pair with OBSIDIAN_VERIFY_SSL=false).","format":"string","default":"http://127.0.0.1:27123","name":"OBSIDIAN_BASE_URL"},{"description":"Whether to verify the TLS certificate on the Obsidian endpoint. Default false because the plugin uses a self-signed cert.","format":"string","default":"false","name":"OBSIDIAN_VERIFY_SSL"},{"description":"Per-request timeout in milliseconds.","format":"string","default":"30000","name":"OBSIDIAN_REQUEST_TIMEOUT_MS"},{"description":"Opt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default — Obsidian commands are opaque and can be destructive.","format":"string","default":"false","name":"OBSIDIAN_ENABLE_COMMANDS"},{"description":"Optional comma-separated vault-relative folder allowlist for reads. Prefix-based with implicit recursion; case-insensitive; trailing slashes normalized. Unset = full vault. Write paths are implicitly readable. Example: 'public/,projects/'.","format":"string","name":"OBSIDIAN_READ_PATHS"},{"description":"Optional comma-separated vault-relative folder allowlist for writes. Same syntax as OBSIDIAN_READ_PATHS. Unset = full vault. Example: 'projects/,scratch/'.","format":"string","name":"OBSIDIAN_WRITE_PATHS"},{"description":"Global read-only kill switch. When true, every write is denied regardless of OBSIDIAN_WRITE_PATHS, and the command-palette pair is suppressed (commands can mutate). Useful for shared or public-facing deployments.","format":"string","default":"false","name":"OBSIDIAN_READ_ONLY"},{"description":"Override URL for the Omnisearch plugin HTTP server. Unset derives from OBSIDIAN_BASE_URL host with port 51361. Required only if the Omnisearch plugin is not on the default port.","format":"string","name":"OBSIDIAN_OMNISEARCH_URL"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"obsidian-mcp-server","version":"3.2.9","runtimeHint":"node","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Bearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API).","isRequired":true,"format":"string","name":"OBSIDIAN_API_KEY"},{"description":"Base URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123 (enable \"Non-encrypted (HTTP) Server\" in plugin settings). Use https://127.0.0.1:27124 for the always-on HTTPS port (self-signed cert; pair with OBSIDIAN_VERIFY_SSL=false).","format":"string","default":"http://127.0.0.1:27123","name":"OBSIDIAN_BASE_URL"},{"description":"Whether to verify the TLS certificate on the Obsidian endpoint. Default false because the plugin uses a self-signed cert.","format":"string","default":"false","name":"OBSIDIAN_VERIFY_SSL"},{"description":"Per-request timeout in milliseconds.","format":"string","default":"30000","name":"OBSIDIAN_REQUEST_TIMEOUT_MS"},{"description":"Opt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default — Obsidian commands are opaque and can be destructive.","format":"string","default":"false","name":"OBSIDIAN_ENABLE_COMMANDS"},{"description":"Optional comma-separated vault-relative folder allowlist for reads. Prefix-based with implicit recursion; case-insensitive; trailing slashes normalized. Unset = full vault. Write paths are implicitly readable. Example: 'public/,projects/'.","format":"string","name":"OBSIDIAN_READ_PATHS"},{"description":"Optional comma-separated vault-relative folder allowlist for writes. Same syntax as OBSIDIAN_READ_PATHS. Unset = full vault. Example: 'projects/,scratch/'.","format":"string","name":"OBSIDIAN_WRITE_PATHS"},{"description":"Global read-only kill switch. When true, every write is denied regardless of OBSIDIAN_WRITE_PATHS, and the command-palette pair is suppressed (commands can mutate). Useful for shared or public-facing deployments.","format":"string","default":"false","name":"OBSIDIAN_READ_ONLY"},{"description":"Override URL for the Omnisearch plugin HTTP server. Unset derives from OBSIDIAN_BASE_URL host with port 51361. Required only if the Omnisearch plugin is not on the default port.","format":"string","name":"OBSIDIAN_OMNISEARCH_URL"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-30T09:49:00.12419Z","publishedAt":"2026-06-30T09:49:00.12419Z","updatedAt":"2026-06-30T09:49:00.12419Z","isLatest":true}}}
