obsidian-copilot icon indicating copy to clipboard operation
obsidian-copilot copied to clipboard

Feature Request: Implement MCP Client Functionality in Obsidian Copilot

Open hyeokhee opened this issue 8 months ago • 2 comments

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:

  1. Extended Knowledge Access: Connect to Google Drive MCP server to reference documents outside the vault
  2. Enhanced Web Research: Use search MCP servers to gather information from the web without leaving Obsidian
  3. Multimodal Content Creation: Integrate with Stable Diffusion MCP servers for image generation within notes
  4. Data Analysis: Connect to database MCP servers (PostgreSQL, MongoDB) to query and visualize data in notes
  5. API Integrations: Access external APIs like Stripe, Xero, or GitHub through their respective MCP servers
  6. Weather & Location Services: Add real-time data from services like Stormglass through MCP servers
  7. Document Processing: Convert various file formats using specialized MCP servers
  8. Code Execution: Run code in various languages through MCP execution servers
  9. Video Content: Extract YouTube transcripts and summaries via MCP servers
  10. Terminal Access: Safely execute terminal commands through MCP terminal servers
  11. Cross-vault Knowledge: Search and retrieve content from other vaults through MCP
  12. CMS Integration: Manage Ghost or WordPress content through MCP servers
  13. Vector Database Access: Connect to semantic search engines for knowledge retrieval
  14. Language Translation: Integrate with translation APIs through MCP servers
  15. File System Operations: Perform file operations outside the vault while maintaining security
  16. Authentication Services: Connect to OAuth providers through MCP servers
  17. Calendar Integration: Access and modify calendar events through MCP
  18. Task Management: Integrate with task management systems like Jira or Asana
  19. Email Processing: Send, analyze, or generate emails through MCP servers
  20. 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:

  1. Supporting the MCP client protocol (SSE and/or STDIO transports)
  2. Adding a configuration system for MCP server registration
  3. Implementing proper security permissions and user consent for tool invocations
  4. 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

hyeokhee avatar Apr 16 '25 01:04 hyeokhee

Thanks for the FR. I'm exploring MCP integrations into the current setup, will report back!

logancyang avatar Apr 17 '25 04:04 logancyang

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

jingyi-zhao-01 avatar May 03 '25 04:05 jingyi-zhao-01

Two concerns I feel about the existing MCP servers

  1. https://github.com/StevenStavrakis/obsidian-mcp and https://github.com/smithery-ai/mcp-obsidian
    1. this one uses direct file system access to the vault (and hence unsafe)
    2. it also has not implemented user permission model (it doesn't prompt user before doing writes)
  2. https://github.com/MarkusPfundstein/mcp-obsidian
    1. 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

  1. expose the Obsidian JS api to the LLM itself via an internal MCP (it is a proxy)
  2. let other MCP servers be installed
Image

championswimmer avatar Jun 06 '25 00:06 championswimmer

@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.

ben-vargas avatar Jun 06 '25 05:06 ben-vargas