obsidian mcp server for VS Code
io.github.cyanheads/obsidian-mcp-server
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.
client:VS Code
transport:stdio
runtime:npm
Install obsidian mcp server in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "obsidian-api-key",
"description": "OBSIDIAN_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "obsidian-base-url",
"description": "OBSIDIAN_BASE_URL",
"password": true
},
{
"type": "promptString",
"id": "obsidian-verify-ssl",
"description": "OBSIDIAN_VERIFY_SSL",
"password": true
},
{
"type": "promptString",
"id": "obsidian-request-timeout-ms",
"description": "OBSIDIAN_REQUEST_TIMEOUT_MS",
"password": true
},
{
"type": "promptString",
"id": "obsidian-enable-commands",
"description": "OBSIDIAN_ENABLE_COMMANDS",
"password": true
},
{
"type": "promptString",
"id": "obsidian-read-paths",
"description": "OBSIDIAN_READ_PATHS",
"password": true
},
{
"type": "promptString",
"id": "obsidian-write-paths",
"description": "OBSIDIAN_WRITE_PATHS",
"password": true
},
{
"type": "promptString",
"id": "obsidian-read-only",
"description": "OBSIDIAN_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "obsidian-omnisearch-url",
"description": "OBSIDIAN_OMNISEARCH_URL",
"password": true
},
{
"type": "promptString",
"id": "mcp-log-level",
"description": "MCP_LOG_LEVEL",
"password": true
}
],
"servers": {
"obsidian-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "${input:obsidian-api-key}",
"OBSIDIAN_BASE_URL": "${input:obsidian-base-url}",
"OBSIDIAN_VERIFY_SSL": "${input:obsidian-verify-ssl}",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "${input:obsidian-request-timeout-ms}",
"OBSIDIAN_ENABLE_COMMANDS": "${input:obsidian-enable-commands}",
"OBSIDIAN_READ_PATHS": "${input:obsidian-read-paths}",
"OBSIDIAN_WRITE_PATHS": "${input:obsidian-write-paths}",
"OBSIDIAN_READ_ONLY": "${input:obsidian-read-only}",
"OBSIDIAN_OMNISEARCH_URL": "${input:obsidian-omnisearch-url}",
"MCP_LOG_LEVEL": "${input:mcp-log-level}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs