Spin up the Obsidian MCP server and chatbot in a Meshagent Room for interactive testing.
All processes are automatically cleaned up when the Room closes.
Environment Variables Needed:
  • OBSIDIAN_HOST: host.docker.internal
  • OBSIDIAN_API_KEY: YOUR_OBSIDIAN_API_KEY

Steps

  1. Install Meshagent CLI
    pip install "meshagent[all]"
    
  2. Sign up & Authenticate Follow onboarding at Meshagent Getting Started.
  3. Start the MCP Obsidian Service in a Room
    meshagent service test \
      --room=test \
      --role=agent \
      --image=meshagent/mcp-obsidian:latest \
      --env MESHAGENT_PORT=8001 \
      --env OBSIDIAN_HOST=host.docker.internal \
      --env OBSIDIAN_API_KEY=YOUR_OBSIDIAN_API_KEY \
      --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
      --name=mcp-obsidian-service-test
    
    • This will start a Meshagent Room (named test) containing a functional MCP server instance.
  4. Join the Room with a Chatbot and Toolkit
    meshagent chatbot join \
      --room=test \
      --agent-name=mcp-obsidian \
      --name=mcp-obsidian \
      --toolkit=mcp-obsidian
    
    • Chatbot runs in the Room and can use Obsidian MCP tools.
    • The command output gives you a link to the Room.
  5. Test in the Browser
    • Visit the Room link and send a message to the agent to interact with the Obsidian MCP server.

Project-Level Deployment (Persistent)

For production-grade setups!
Deploy persistent services at the project level so that whenever you (or collaborators) open a Room in your Meshagent Project, the MCP server tools and chatbot are instantly available—no manual launch needed.
Create Obsidian MCP Server as a Persistent Project Service:
meshagent service create \
  --role=agent \
  --image=meshagent/mcp-obsidian:latest \
  --env MESHAGENT_PORT=8001 \
  --env OBSIDIAN_HOST=host.docker.internal \
  --env OBSIDIAN_API_KEY=YOUR_OBSIDIAN_API_KEY \
  --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
  --name=mcp-obsidian-service
Create Persistent Chatbot Service:
meshagent service create \
  --image="meshagent/cli:latest" \
  --port="num=9001 path=/agent liveness=/ type=meshagent.callable participant_name=mcp-obsidian-chatbot" \
  --env="MESHAGENT_PORT=9001" \
  --name="mcp-obsidian-chatbot-service" \
  --command="meshagent chatbot service --agent-name=mcp-obsidian-chatbot --toolkit=mcp-obsidian"
Result:
Every new Room in the project will automatically include the Obsidian MCP server and chatbot agent.
No need to run servers locally or re-join rooms by hand.

Tools Available

This Meshagent-wrapped Obsidian MCP Server provides the following tools:
ToolShort Description
obsidian_append_contentAppend content to a new or existing file in the vault.
obsidian_batch_get_file_contentsReturn the contents of multiple files in your vault, concatenated with headers.
obsidian_complex_searchComplex search for documents using a JsonLogic query.
obsidian_delete_fileDelete a file or directory from the vault.
obsidian_get_file_contentsReturn the content of a single file in your vault.
obsidian_get_periodic_noteGet current periodic note for the specified period.
obsidian_get_recent_changesGet recently modified files in the vault.
obsidian_get_recent_periodic_notesGet most recent periodic notes for the specified period type.
obsidian_list_files_in_dirLists all files and directories that exist in a specific Obsidian directory.
obsidian_list_files_in_vaultLists all files and directories in the root directory of your Obsidian vault.
obsidian_patch_contentInsert content into an existing note relative to a heading, block reference, or frontmatter field.
obsidian_simple_searchSimple search for documents matching a specified text query across all files in the vault.

Tool Details


For more about Model Context Protocol (MCP): What is an MCP Server?