obsidian-mcp-server
Version:
MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.
101 lines (100 loc) • 3.62 kB
JSON
{
"manifest_version": "0.3",
"name": "obsidian-mcp-server",
"version": "3.2.4",
"description": "MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.",
"author": {
"name": "cyanheads"
},
"repository": {
"type": "git",
"url": "https://github.com/cyanheads/obsidian-mcp-server"
},
"homepage": "https://github.com/cyanheads/obsidian-mcp-server#readme",
"license": "Apache-2.0",
"server": {
"type": "node",
"entry_point": "dist/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/dist/index.js"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_AUTH_MODE": "none",
"NODE_ENV": "production",
"OBSIDIAN_API_KEY": "${OBSIDIAN_API_KEY}",
"OBSIDIAN_BASE_URL": "${OBSIDIAN_BASE_URL}",
"OBSIDIAN_VERIFY_SSL": "${OBSIDIAN_VERIFY_SSL}",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "${OBSIDIAN_REQUEST_TIMEOUT_MS}",
"OBSIDIAN_ENABLE_COMMANDS": "${OBSIDIAN_ENABLE_COMMANDS}",
"OBSIDIAN_READ_PATHS": "${OBSIDIAN_READ_PATHS}",
"OBSIDIAN_WRITE_PATHS": "${OBSIDIAN_WRITE_PATHS}",
"OBSIDIAN_READ_ONLY": "${OBSIDIAN_READ_ONLY}",
"MCP_LOG_LEVEL": "${MCP_LOG_LEVEL}"
}
}
},
"compatibility": {
"runtimes": {
"node": ">=24.0.0"
}
},
"tools_generated": true,
"prompts_generated": true,
"user_config": {
"OBSIDIAN_API_KEY": {
"title": "Obsidian API Key",
"description": "Bearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API).",
"type": "string",
"required": true
},
"OBSIDIAN_BASE_URL": {
"title": "Obsidian Base URL",
"description": "Base URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123. Use https://127.0.0.1:27124 for the HTTPS port.",
"type": "string",
"required": false
},
"OBSIDIAN_VERIFY_SSL": {
"title": "Verify SSL",
"description": "Whether to verify the TLS certificate. Default false (plugin uses a self-signed cert).",
"type": "string",
"required": false
},
"OBSIDIAN_REQUEST_TIMEOUT_MS": {
"title": "Request Timeout (ms)",
"description": "Per-request timeout in milliseconds. Default: 30000.",
"type": "string",
"required": false
},
"OBSIDIAN_ENABLE_COMMANDS": {
"title": "Enable Commands",
"description": "Opt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default.",
"type": "string",
"required": false
},
"OBSIDIAN_READ_PATHS": {
"title": "Read Path Allowlist",
"description": "Comma-separated vault-relative folder allowlist for reads. Unset = full vault. Example: 'public/,projects/'.",
"type": "string",
"required": false
},
"OBSIDIAN_WRITE_PATHS": {
"title": "Write Path Allowlist",
"description": "Comma-separated vault-relative folder allowlist for writes. Unset = full vault. Example: 'projects/,scratch/'.",
"type": "string",
"required": false
},
"OBSIDIAN_READ_ONLY": {
"title": "Read-Only Mode",
"description": "Global read-only kill switch. When true, every write is denied. Default: false.",
"type": "string",
"required": false
},
"MCP_LOG_LEVEL": {
"title": "Log Level",
"description": "Minimum log level for output (debug, info, warn, error). Default: info.",
"type": "string",
"required": false
}
}
}