obsidian-mcp-server
Allows interaction with an Obsidian vault via the Local REST API, providing tools to list, read, search, create, and update Markdown notes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@obsidian-mcp-serverSearch for notes about machine learning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔗 OBSIDIAN MCP SERVER
Bridge MCP usando stdio transport para conectar Claude Desktop ao seu vault Obsidian via Local REST API.
Versão 2.0 - Refatorado para usar arquitetura stdio (sem necessidade de ngrok!)
📋 PRÉ-REQUISITOS
✅ Node.js instalado (v18+) ✅ Plugin "Local REST API" ativo no Obsidian ✅ Claude Desktop instalado (para uso local)
NÃO é necessário: ❌ ngrok ou ferramentas de tunneling ❌ Servidor HTTP externo ❌ Configurações de porta ou firewall complexas
Related MCP server: Obsidian MCP Server
⚡ INSTALAÇÃO RÁPIDA
1. CLONE OU BAIXE OS ARQUIVOS
git clone <repo-url> obsidian-mcp
cd obsidian-mcpOu baixe os arquivos:
obsidian-mcp-server.jspackage.json.env.example
2. INSTALE DEPENDÊNCIAS
npm install3. CONFIGURE A API KEY
Copie o arquivo de exemplo:
cp .env.example .envEdite .env e preencha:
OBSIDIAN_API_KEY=sua_api_key_aqui
OBSIDIAN_URL=http://127.0.0.1:27123Como obter a API Key:
Abra Obsidian
Settings → Community Plugins → Local REST API
Ative "Enable Non-encrypted (HTTP) Server"
Copie a API Key exibida
4. TESTE O SERVIDOR (Opcional)
./start-server.shVocê deve ver:
╔════════════════════════════════════════════╗
║ OBSIDIAN MCP SERVER - RODANDO ✓ ║
╚════════════════════════════════════════════╝
📁 Obsidian API: http://127.0.0.1:27123
🔑 API Key: 2c134def4a...
🚀 Aguardando comandos do Claude Desktop via stdio...Pressione Ctrl+C para parar.
5. CONFIGURE NO CLAUDE DESKTOP
Veja o guia completo: CLAUDE_DESKTOP_CONFIG.md
Resumo:
Edite
claude_desktop_config.json(veja seção abaixo)Reinicie Claude Desktop
Teste usando ferramentas MCP
🖥️ CONFIGURAÇÃO CLAUDE DESKTOP
Localização do Arquivo de Configuração
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonOu acesse via Claude Desktop: Settings → Developer → "Edit Config"
Exemplo de Configuração
Linux/macOS:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/home/usuario/obsidian-mcp/obsidian-mcp-server.js"],
"env": {
"OBSIDIAN_API_KEY": "sua_api_key_aqui",
"OBSIDIAN_URL": "http://127.0.0.1:27123"
}
}
}
}Windows (WSL):
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": [
"\\\\wsl$\\Ubuntu\\home\\usuario\\obsidian-mcp\\obsidian-mcp-server.js"
],
"env": {
"OBSIDIAN_API_KEY": "sua_api_key_aqui",
"OBSIDIAN_URL": "http://172.x.x.x:27123"
}
}
}
}⚠️ Windows WSL: Ajuste o IP 172.x.x.x para o IP do seu Windows host.
Veja instruções completas em CLAUDE_DESKTOP_CONFIG.md.
Reiniciar Claude Desktop
Após editar a configuração:
Feche completamente Claude Desktop
Reabra Claude Desktop
Aguarde alguns segundos para o servidor MCP iniciar
🛠️ FERRAMENTAS DISPONÍVEIS
Quando conectado, Claude Desktop terá acesso a:
list_vault_files()
Lista todos os arquivos .md do vault
Claude: "Liste todos os meus arquivos do Obsidian"read_note(path)
Lê conteúdo de nota específica
Claude: "Leia a nota 'Projetos/Ideia X.md'"search_notes(query)
Busca por texto em todas as notas
Claude: "Busque notas sobre 'machine learning'"create_note(path, content)
Cria nova nota
Claude: "Crie uma nota em 'Daily/2025-10-05.md' com resumo da conversa"update_note(path, content)
Atualiza nota existente
Claude: "Atualize 'TODO.md' adicionando tarefa X"🔧 CONFIGURAÇÃO AVANÇADA
Mudar URL do Obsidian
Se o Obsidian estiver em outra máquina ou porta:
export OBSIDIAN_URL="http://192.168.1.100:27123"Ou edite diretamente no .env.
Testar Conexão com Obsidian
curl -s http://127.0.0.1:27123 \
-H "Authorization: Bearer SUA_API_KEY" | jqDeve retornar JSON com "status": "OK".
Logs e Debugging
Logs do servidor vão para stderr (não interfere com stdio):
Quando executado pelo Claude Desktop, logs ficam em:
Windows:
%APPDATA%\Claude\logs\mcp*.logmacOS:
~/Library/Logs/Claude/mcp*.log
🌐 CONFIGURAÇÃO WINDOWS WSL
Se você usa WSL (Windows Subsystem for Linux), use Mirrored Networking Mode para acesso direto ao localhost do Windows.
1. Ativar Mirrored Networking (Windows 11 22H2+)
Crie o arquivo .wslconfig no Windows:
Caminho: C:\Users\SeuUsuario\.wslconfig
Conteúdo:
[wsl2]
networkingMode=mirrored2. Reiniciar WSL
wsl --shutdownDepois reabra o WSL.
3. Configurar .env
Com mirrored networking, use localhost diretamente:
OBSIDIAN_API_KEY=sua_api_key_aqui
OBSIDIAN_URL=http://127.0.0.1:271234. Testar Conexão
curl -s http://127.0.0.1:27123 \
-H "Authorization: Bearer SUA_API_KEY" | jqDeve retornar JSON com "status": "OK".
Veja guia completo em: CLAUDE_DESKTOP_CONFIG.md
❗ TROUBLESHOOTING
"OBSIDIAN_API_KEY não configurada"
→ Configure a variável de ambiente ou edite .env
"ECONNREFUSED 127.0.0.1:27123"
→ Certifique-se que o Obsidian está aberto e o plugin Local REST API está ativo com HTTP server habilitado
"401 Unauthorized"
→ Verifique se a API Key está correta. Copie novamente do Obsidian.
"Server Disconnected" no Claude Desktop
→ Verifique logs em %APPDATA%\Claude\logs\mcp*.log (Windows) ou ~/Library/Logs/Claude/ (macOS)
WSL: Connection refused ao acessar Windows
→ Verifique port proxy e firewall (veja seção Windows WSL acima)
🎯 EXEMPLO DE USO REAL
VOCÊ NO CLAUDE DESKTOP:
"Liste todos os meus projetos no Obsidian e resuma os principais tópicos"
CLAUDE FAZ:
Chama
list_vault_files()Filtra arquivos da pasta "Projetos/"
Para cada arquivo, chama
read_note(path)Analisa conteúdo e gera resumo estruturado
VOCÊ:
"Crie uma nota de reunião com as decisões que discutimos"
CLAUDE FAZ:
Chama
create_note("Reuniões/2025-10-05.md", conteudo)Formata a nota em markdown
Confirma criação
📦 RODAR COMO SERVIÇO (Opcional)
Linux (systemd)
Crie /etc/systemd/system/obsidian-mcp.service:
[Unit]
Description=Obsidian MCP Server
After=network.target
[Service]
Type=simple
User=seu-usuario
WorkingDirectory=/caminho/para/obsidian-mcp
Environment="OBSIDIAN_API_KEY=sua-key-aqui"
Environment="OBSIDIAN_URL=http://127.0.0.1:27123"
ExecStart=/usr/bin/node /caminho/para/obsidian-mcp/obsidian-mcp-server.js
Restart=always
[Install]
WantedBy=multi-user.targetsudo systemctl enable obsidian-mcp
sudo systemctl start obsidian-mcpmacOS (launchd)
Crie ~/Library/LaunchAgents/com.obsidian-mcp.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.obsidian-mcp</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/node</string>
<string>/caminho/para/obsidian-mcp-server.js</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>OBSIDIAN_API_KEY</key>
<string>sua-key-aqui</string>
<key>OBSIDIAN_URL</key>
<string>http://127.0.0.1:27123</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>launchctl load ~/Library/LaunchAgents/com.obsidian-mcp.plist⚠️ NOTA: Para uso com Claude Desktop, NÃO é necessário rodar como serviço. Claude Desktop gerencia o processo automaticamente.
🔄 MIGRAÇÃO DA VERSÃO 1.0 (HTTP)
Se você usava a versão antiga com ngrok:
O que mudou (v1.0 → v2.0):
✅ Removido servidor HTTP (porta 3000)
✅ Removido necessidade de ngrok
✅ Adicionado stdio transport
✅ Integração direta com Claude Desktop
✅ Corrigido Content-Type para
text/markdown(criar/atualizar notas)✅ Suporte a WSL mirrored networking mode
Como migrar:
Atualize os arquivos do projeto
Execute
npm installpara instalar@modelcontextprotocol/sdkConfigure Claude Desktop seguindo CLAUDE_DESKTOP_CONFIG.md
Remova referências a ngrok
Backup da versão HTTP:
O arquivo original foi salvo em obsidian-mcp-server-http.js.bak
📚 ARQUITETURA
┌─────────────────┐
│ Claude Desktop │
│ (Windows) │
└────────┬────────┘
│ stdio transport
│ (stdin/stdout)
▼
┌─────────────────┐
│ MCP Server │
│ (WSL) │
└────────┬────────┘
│ HTTP REST API
│ (via port proxy)
▼
┌─────────────────┐
│ Obsidian REST │
│ API (Windows) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Obsidian │
│ Vault (.md) │
└─────────────────┘📝 NOTAS TÉCNICAS
Content-Type para Criação de Notas
O Obsidian Local REST API requer Content-Type: text/markdown para operações de criação e atualização de arquivos. O servidor MCP implementa dois métodos de requisição:
request()- Para operações de leitura/listagem (usaapplication/json)requestText()- Para criar/atualizar arquivos (usatext/markdown)
Se você encontrar erro 40010 ao criar notas, verifique se está usando a versão v2.0+ do servidor que inclui essa correção.
WSL Mirrored Networking
Para Windows 11 22H2+, o modo mirrored networking permite que WSL acesse localhost do Windows diretamente, eliminando necessidade de:
Port proxy (netsh)
Descobrir IP do host Windows
Configurar firewall
Simplesmente crie .wslconfig com networkingMode=mirrored e reinicie WSL.
🚀 PRÓXIMOS PASSOS
Depois de configurar:
"Liste todos os meus arquivos do Obsidian"
"Analise os temas mais frequentes nas minhas notas"
"Encontre todas as referências sobre [tópico X]"
"Crie uma nota resumindo nossas conversas de hoje"
"Organize minhas notas de projeto criando um índice"
🤝 CONTRIBUINDO
Melhorias são bem-vindas! Sinta-se livre para:
Reportar bugs
Sugerir novas funcionalidades
Enviar pull requests
📄 LICENÇA
MIT - Use como quiser!
📖 RECURSOS ADICIONAIS
CLAUDE_DESKTOP_CONFIG.md - Guia completo de configuração
Model Context Protocol - Documentação oficial MCP
Obsidian Local REST API - Plugin Obsidian
Claude Desktop - Download Claude Desktop
🎖️ CRÉDITOS
Desenvolvido por Aurora × Fernando 🤝
MCP (Model Context Protocol) por Anthropic Obsidian Local REST API por Adam Coddington
Versão 2.0.0 - Refatorado para stdio transport (2025)
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Read and write your Fresh Jots notes from Claude, Cursor, and any MCP client.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables Claude Code read/write access to an Obsidian vault, including creating, editing, searching, and browsing notes.8MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to your Obsidian vault, enabling reading, writing, searching, and organizing notes locally.1MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with an Obsidian vault via the Local REST API plugin, supporting file operations, search, periodic notes, commands, and semantic search.222,778 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to directly access and manage Obsidian vault files, supporting reading, writing, patching, searching, and file operations without requiring Obsidian to be open.2,778 npmMIT