Obsidian Index MCP server
MCP server providing sementic search over Obsidian vaults
Overview
The Obsidian Index MCP server provides semantic search functionality over Obsidian vaults, enabling users to access and manage their notes efficiently.
To use the server, run the command-line interface to start the server by specifying the path to your Obsidian vault and the local database. Make sure to use the reindex and watch options for optimal performance.
- Exposes recently modified notes as resources accessible via a specific URL scheme. - Implements a 'search-notes' tool for performing semantic searches over indexed notes. - Supports reindexing and monitoring of changes in the vault for real-time updates.
- Quickly finding and retrieving recently modified notes in an extensive Obsidian vault.
- Conducting semantic searches to locate concepts or themes across multiple notes.
- Managing notes effectively in research projects by integrating with MCP clients.
Add to your AI client
Use these steps to connect Obsidian Index MCP server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-obsidian-index-tcsavage": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-obsidian-index-tcsavage": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-obsidian-index-tcsavage": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-obsidian-index-tcsavage": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-obsidian-index-tcsavage": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-obsidian-index-tcsavage": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-obsidian-index-tcsavage"
]
}
}
}FAQ
Can I use this server with any Obsidian vault?
Yes, the server works with any Obsidian vault as long as you provide the correct vault path.
Is it necessary to reindex every time the server runs?
It is recommended to reindex every time to ensure the search index reflects the latest changes in your notes.
How can I debug if I encounter issues?
Use the MCP Inspector, which enhances debugging capabilities when running the server.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":331,"uuid":"49c51433-aa71-4fe9-a988-7852b2f32955","name":"mcp-obsidian-index","title":"Obsidian Index MCP server","description":"MCP server providing sementic search over Obsidian vaults","avatar_url":"https://avatars.githubusercontent.com/u/134930?v=4","created_at":"2024-12-13T13:19:52.260Z","updated_at":"2024-12-13T15:09:10.157Z","status":"created","author_name":"tcsavage","author_avatar_url":"https://avatars.githubusercontent.com/u/134930?v=4","tags":"[]","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/tcsavage/mcp-obsidian-index","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]