Feature Request: Implement MCP Client Functionality in Obsidian Copilot
Description
Implementing Model Context Protocol (MCP) client functionality in Obsidian Copilot would significantly expand its capabilities by allowing it to connect with both existing and future MCP servers, creating a more powerful and extensible AI assistant experience within Obsidian.
Benefits
- Unified Integration Hub: Serve as a central connection point for multiple AI services and tools through standardized MCP servers
- Future-Proof Extensibility: Automatically gain access to new MCP servers as they're developed without requiring additional plugin updates
- Simplified Configuration: Add new capabilities by registering MCP servers via simple configuration rather than full plugin development
- Mobile Support: Anticipate future mobile integration as MCP client support expands to mobile platforms
Use Cases
Based on existing MCP implementations and community examples, here are compelling use cases for Obsidian Copilot with MCP client functionality:
- Extended Knowledge Access: Connect to Google Drive MCP server to reference documents outside the vault
- Enhanced Web Research: Use search MCP servers to gather information from the web without leaving Obsidian
- Multimodal Content Creation: Integrate with Stable Diffusion MCP servers for image generation within notes
- Data Analysis: Connect to database MCP servers (PostgreSQL, MongoDB) to query and visualize data in notes
- API Integrations: Access external APIs like Stripe, Xero, or GitHub through their respective MCP servers
- Weather & Location Services: Add real-time data from services like Stormglass through MCP servers
- Document Processing: Convert various file formats using specialized MCP servers
- Code Execution: Run code in various languages through MCP execution servers
- Video Content: Extract YouTube transcripts and summaries via MCP servers
- Terminal Access: Safely execute terminal commands through MCP terminal servers
- Cross-vault Knowledge: Search and retrieve content from other vaults through MCP
- CMS Integration: Manage Ghost or WordPress content through MCP servers
- Vector Database Access: Connect to semantic search engines for knowledge retrieval
- Language Translation: Integrate with translation APIs through MCP servers
- File System Operations: Perform file operations outside the vault while maintaining security
- Authentication Services: Connect to OAuth providers through MCP servers
- Calendar Integration: Access and modify calendar events through MCP
- Task Management: Integrate with task management systems like Jira or Asana
- Email Processing: Send, analyze, or generate emails through MCP servers
- PDF Processing: Extract, analyze, and modify PDF files through specialized MCP servers
Technical Considerations
Adding MCP client capabilities would position Obsidian Copilot as a central hub for AI-assisted knowledge management, significantly enhancing its value while maintaining the core Obsidian experience. The implementation would require:
- Supporting the MCP client protocol (SSE and/or STDIO transports)
- Adding a configuration system for MCP server registration
- Implementing proper security permissions and user consent for tool invocations
- Handling tool responses in the chat interface
Discussion
The Obsidian community has already shown interest in MCP integration, with projects like mcp-obsidian demonstrating practical applications. Since web search and YouTube script extraction are already implemented in Copilot, MCP would provide a standardized way to extend such capabilities without custom implementation for each service.
This feature would align with the vision of making Obsidian Copilot a comprehensive AI assistant while leveraging the growing ecosystem of MCP servers rather than building custom integrations for each service.
This feature request was generated with assistance from Claude AI
Thanks for the FR. I'm exploring MCP integrations into the current setup, will report back!
there are already community maintained obsidian mcp servers available.
- https://github.com/StevenStavrakis/obsidian-mcp
- https://github.com/smithery-ai/mcp-obsidian there can be a thrive in the number of MCP servers as they are community maintained and can be treated as a plugin from your perspective
Two concerns I feel about the existing MCP servers
- https://github.com/StevenStavrakis/obsidian-mcp and https://github.com/smithery-ai/mcp-obsidian
- this one uses direct file system access to the vault (and hence unsafe)
- it also has not implemented user permission model (it doesn't prompt user before doing writes)
- https://github.com/MarkusPfundstein/mcp-obsidian
- This uses the obsidian REST API - which is a bit roundabout way when obsidian has a JS api already
If this project obsidian-copilot had to implement MCP, my recommendation would be to do 2 things
- expose the Obsidian JS api to the LLM itself via an internal MCP (it is a proxy)
- let other MCP servers be installed
@championswimmer this FR reads to me as an ask for Copilot to act as a client not a server. The FR wants to consume tools from external MCP Servers, not replicate or supplement the various MCP Servers offering Obsidian notes access to other MCP Clients.