Obsidian HTTP MCP
First HTTP-native MCP server for Obsidian that solves stdio transport bugs, enabling AI assistants to manage Obsidian notes without crashes.
README
Obsidian HTTP MCP
Finally use Claude Code to manage your Obsidian notes - no more crashes or broken pipes
The first HTTP-native MCP server for Obsidian that solves stdio transport bugs affecting Claude Code CLI (#3071, #9176, #9662)
Also compatible with: Claude Desktop, Codex, Gemini, and other MCP clients
Why This Exists
First HTTP-native MCP server for Obsidian. Solves stdio transport failures (BrokenPipeError) affecting Claude Code CLI. HTTP bypasses these issues entirely.
Fast & efficient: <200ms response, 70% fewer API calls, MCP-optimized for minimal token usage
🎬 See It In Action

Claude Code controlling an Obsidian vault via HTTP-native MCP - no stdio bugs, just seamless AI-powered note management
Table of Contents
- What Makes This Different?
- Quick Start
- Your Obsidian, Powered by AI
- Updating
- Command Line Options
- Troubleshooting
🎯 What Makes This Different?
✅ HTTP that works - No stdio crashes, no BrokenPipeError, no frustration
⏱️ Lightning fast - Create, find, edit, and move notes instantly - even with typos
🛡️ Never lose data - Built-in protection against accidental deletions
⚙️ Set up in 1 minute - No complex configuration, works out of the box
💪 Built for real use - Handles thousands of notes without slowdowns
💸 Token-conscious - Intelligent design minimizes AI usage costs
⚡ Quick Start (1 min)
💡 New to the codebase? Ask an AI assistant to guide you: "Based on README.md and TECHNICAL.md, walk me through how the HTTP-native MCP server works"
Prerequisites
- Obsidian with Local REST API plugin
- Node.js 18+ - Download here
- MCP-compatible AI (e.g., Claude Code CLI, Claude Desktop, Codex, etc.)
STEP 1: Configure Obsidian Plugin
- Settings → Community Plugins → Search "Local REST API" → Enable
- Enable "Non encrypted (HTTP) API"
- Copy the API key (you'll need it next)
STEP 2: Install & Setup
Install where Obsidian is installed:
npm install -g obsidian-http-mcp
obsidian-http-mcp --setup
# Enter your Obsidian API key when prompted
# Press Enter to accept defaults for URL and port
Config saved to ~/.obsidian-mcp/config.json - you won't need to type this again.
Cross-platform users: If your AI runs on WSL2 but Obsidian on Windows, install the server on Windows.
STEP 3: Start Server
Where you installed (same system as Obsidian):
obsidian-http-mcp
⚠️ Keep this terminal running. After reboot, run obsidian-http-mcp again.
STEP 4: Connect Your AI
If your AI runs where the server is installed:
claude mcp add -s user --transport http obsidian-http http://localhost:3000/mcp # Adapt command to your AI
If your AI runs elsewhere (e.g., Claude on WSL2, server on Windows):
- Find server's IP address on the system where the server runs:
# Windows PowerShell
ipconfig | findstr "vEthernet"
# Linux
ip addr show | grep inet
- Connect from where your AI runs:
claude mcp add -s user --transport http obsidian-http http://SERVER_IP:3000/mcp # Adapt command to your AI
STEP 5: Use with Your AI
Run where your AI is installed (Windows, Linux, or WSL2):
claude # Or your AI CLI command
# Try: "List all folders in my Obsidian vault"
That's it! Your AI will automatically connect to the server every time you start a conversation (as long as the server is running).
🔄 Updating
To update to the latest version:
npm install -g obsidian-http-mcp@latest
After updating, restart the server:
obsidian-http-mcp
✨ Your Obsidian, Powered by AI
No more switching between AI and Obsidian - Control your vault directly from your AI assistant
Never lose data - Soft delete protects against accidental AI operations (files moved to .trash-http-mcp/ by default)
Work at AI speed - Fuzzy search finds files even with typos, intelligent cache reduces API calls by 70%
Scale confidently - Handles 1000+ notes without breaking a sweat (<200ms response time)
What You Can Do:
- Read, write, and edit notes seamlessly without leaving your AI conversation
- Find any file instantly with fuzzy matching ("meeting notes" finds "Meeting-Notes-2024.md")
- Search across thousands of notes in seconds with full regex support
- Move, rename, or delete files with built-in safety features
See TECHNICAL.md for complete tool specifications and architecture details.
📖 Command Line Options
obsidian-http-mcp --help
Options:
--setup Interactive setup (saves to ~/.obsidian-mcp/config.json)
--api-key <key> Obsidian REST API key (overrides config)
--base-url <url> Obsidian REST API URL (default: http://127.0.0.1:27123)
--port <port> Server port (default: 3000)
--help, -h Show help
--version, -v Show version
Config Priority:
1. CLI arguments (--api-key, --base-url, --port)
2. Environment variables (OBSIDIAN_API_KEY, OBSIDIAN_BASE_URL, PORT)
3. Config file (~/.obsidian-mcp/config.json)
4. .env file
Alternative: Using .env file (on same system as Obsidian):
- Create
.envwithOBSIDIAN_API_KEY=your_key - Run:
obsidian-http-mcp(Windows PowerShell or Linux terminal)
🔧 Troubleshooting
WSL2: Connection refused
Find your Windows bridge IP:
On Windows PowerShell (not WSL2):
ipconfig | findstr "IPv4"
# Look for "vEthernet (WSL)" interface
# Example output: IPv4 Address. . . . . . . . . . . : 172.19.32.1
Then reconnect from WSL2 terminal:
claude mcp add -s user --transport http obsidian-http http://YOUR_IP:3000/mcp
# Replace YOUR_IP with the IP from above
Why not
127.0.0.1:27123directly? Port 27123 is Obsidian's REST API (custom HTTP protocol). Port 3000 is the MCP Server that translates between MCP protocol (used by your AI) and Obsidian's REST API. They are different protocols - the MCP server acts as a translator/proxy.
Windows Firewall blocks WSL2
Run on Windows PowerShell as Administrator:
New-NetFirewallRule -DisplayName "MCP Server" -Direction Inbound -LocalPort 3000 -Protocol TCP -Action Allow
Port already in use
Run on the same system as Obsidian (Windows PowerShell or Linux terminal):
obsidian-http-mcp --api-key YOUR_KEY --port 3001
Need more help? See TROUBLESHOOTING.md for detailed troubleshooting and TECHNICAL.md for network architecture.
⚠️ Security Notice
Designed for trusted networks (localhost, LAN, VPN). For production deployment:
- Use reverse proxy (nginx/caddy) with authentication
- Enable HTTPS/TLS
- Configure rate limiting
- See SECURITY.md for full checklist
Current state: Binds to 0.0.0.0 for cross-platform compatibility (WSL2 ↔ Windows). Do NOT expose directly to the Internet.
🤝 Contributing
See CONTRIBUTING.md for development setup and guidelines.
📝 License
MIT - See LICENSE
🌟 Support
If this project helps you, please star it on GitHub!
🔗 Related
Built with ❤️ for the Obsidian + AI community
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。