{"name":"io.github.cyanheads/obsidian-mcp-server","slug":"cyanheads-obsidian-mcp-server","title":null,"description":"Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.","url":"https://mcp.market/server/cyanheads-obsidian-mcp-server","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"productivity","tags":["productivity","search"],"presence":{"score":61,"stars":682,"forks":103,"downloads_week":5495,"last_push_at":"2026-09-19T15:52:04.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/cyanheads/obsidian-mcp-server","website":null,"version":"3.5.3","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"obsidian-mcp-server","version":"3.5.3","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.5.3","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"}]}],"tools":[],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T16:00:07.602Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T16:00:07.683Z","components":{"code":{"score":25,"max":25,"notes":["63 source files scanned","63 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"obsidian-mcp-server","version":"3.5.3","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-13T18:20:11.010Z","repositoryUrl":"git+https://github.com/cyanheads/obsidian-mcp-server.git","weeklyDownloads":5495},{"registryType":"npm","identifier":"obsidian-mcp-server","version":"3.5.3","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-13T18:20:11.010Z","repositoryUrl":"git+https://github.com/cyanheads/obsidian-mcp-server.git"}],"repo":{"found":true,"owner":"cyanheads","repo":"obsidian-mcp-server","archived":false,"pushedAt":"2026-09-19T15:52:04Z","stars":682,"forks":103,"openIssues":31,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10339515?v=4","ownerCreatedAt":"2014-12-29T13:01:12Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/10339515?v=4&s=128","source":"github"},"presence":{"stars":682,"forks":103,"downloadsWeek":5495,"license":"Apache-2.0","lastPushAt":"2026-09-19T15:52:04.000Z","score":61}}}},"grade_history":[],"reviews":[]}