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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FAL1989/obsidian-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server