Obsidian Knowledge MCP
Obsidian Knowledge MCP
読み取り専用の Obsidian-to-PostgreSQL インポーター兼 MCP サーバーです。ボールトが唯一の情報源であり、取り込み処理は Markdown ファイルを読み取るだけで、それらを編集または削除することはありません。
アーキテクチャ
Obsidian vault -> Python parser/upsert importer -> PostgreSQL -> FastMCP tools/resources -> Claude Connector
ドキュメントは相対パスと元の Markdown 本文を保持します。各ノートは document ノードになり、[[links]] は有向の related_to エッジと document_links になります。タグ、エイリアス、見出し、および認識されない frontmatter は JSONB に保持されます。存在しないリンク先はログに記録され、スキップされます。取り込みを再実行すると、ファイルパスに基づいてレコードが更新され、重複するエッジやタグが防止されます。
Related MCP server: Semantic Notes Vault MCP
セットアップ
前提条件: Python 3.11+、Docker Desktop、および手動で SQL を検査したい場合のみ PostgreSQL クライアント。
.env.exampleを.envにコピーし、POSTGRES_PASSWORDを設定し、OBSIDIAN_VAULT_PATHに既存のボールトを指定します。特に必要がなければ、ボールトをこのプロジェクト内に置かないでください。環境を作成し、依存関係をインストールします:
py -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -e ".[test]"PostgreSQL を起動します。ポートは localhost にのみバインドされています:
docker compose up -d postgresボールトをインポートします:
python -m ingestion.importer # or: obsidian-ingest "C:\path\to\vault"検証します:
docker compose exec postgres psql -U knowledge_app -d knowledge -c "select count(*) from documents; select count(*) from edges;" pytest
スキーマは初期化スクリプトとしてマウントされます。既存のボリュームの場合は、psql -f database/schema.sql で変更を明示的に適用してください。
Render でのデプロイ
このリポジトリには、Render の無料 Web Service 用の render.yaml が含まれています。Render で、このリポジトリから新しい Blueprint を作成してデプロイしてください。Render は MCP_AUTH_TOKEN を生成し、自身の PORT を使用します。Render のマネージド PostgreSQL サービスでは支払い情報が必要になるため、Neon や Supabase などの無料の外部 PostgreSQL プロバイダーから DATABASE_URL を指定してください。クエリを実行する前に、database/schema.sql をそのデータベースに適用してください。デフォルトの公開エンドポイントは次のとおりです:
https://obsidian-knowledge-mcp.onrender.com/mcpサービス名を変更する場合は、Render 環境の MCP_PUBLIC_URL を、結果の https://<service-name>.onrender.com URL に更新してください。MCP_PUBLIC_URL に /mcp を追加しないでください。/mcp は Claude コネクタの URL にのみ含まれます。
Render サービスは Windows または OneDrive のボールトを読み取ることができません。ボールトとデータベースの両方にアクセスできるマシンから、ボールトを外部 PostgreSQL データベースにインポートするか、クエリを実行する前に、Render からアクセス可能な別のストレージ/インポートジョブを追加してください。
MCP サーバー
ローカルでは次のように実行します:
python -m mcp_server.serverデフォルトのエンドポイントは、Streamable HTTP を使用する http://127.0.0.1:8000/mcp です。ローカルクライアントの場合は、MCP_TRANSPORT=stdio を設定し、コマンドとして obsidian-mcp を使用します。サーバーは、search_knowledge、get_node、get_document、get_related_nodes、find_path、list_nodes、search_documents に加えて、knowledge://node/{node_name} リソースを公開します。上限は 100 に設定され、SQL はパラメータ化されています。
Claude コネクタ
Claude コネクタには、PostgreSQL エンドポイントではなく、リモートから到達可能な MCP エンドポイントが必要です。Claude Settings -> Connectors で、/mcp で終わる Render の URL(例: https://obsidian-knowledge-mcp.onrender.com/mcp)を追加します。プロンプトが表示されたら、生成された MCP_AUTH_TOKEN をベアラートークンとして使用し、Claude ワークスペースで必要な認証フローを完了してから、What do I have in my knowledge base about Python? でテストしてください。
本番環境では、静的トークンではなく、ID 認識型プロキシ(OAuth/OIDC)または mTLS を使用してください。ポート 5432 を公開しないでください。Claude が接続エラーを報告した場合は、docker compose ps、docker compose logs postgres、MCP プロセスのログ、HTTPS 証明書/DNS、/mcp のプロキシ転送、およびエンドポイントがネットワークの外部から到達可能かどうかを確認してください。認証付きヘルスチェックはデータベースエラーとは別に保ち、スタックトレースを公開しないでください。
クエリ例
機械学習に接続されている概念は何ですか?
Python と人工知能の間の関係パスを探してください。
RAG から 2 ホップ以内にある概念は何ですか?
Python と機械学習の両方に言及しているドキュメントはどれですか?
前提と拡張ポイント
このワークスペースには検査できるボールトがなかったため、パース処理は標準的な Obsidian の規約に従い、tests/test_parser.py のフィクスチャでカバーされています。Dataview 固有の構文はコンテンツとして保持されます。リポジトリ層が SQL を MCP から分離しているため、MCP の契約を変更せずに将来の双方向同期が可能です。MCP_AUTH_TOKEN は Streamable HTTP サーバーによって強制されます。より強力な本番環境のアクセス制御には、ID 認識型プロキシ(OAuth/OIDC)を使用してください。
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.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Obsidian vaults through MCP, supporting note creation from templates, link management, backlink analysis, tag operations, and automatic Map of Contents generation.115,7841MIT
- AlicenseNot gradedqualityAmaintenanceConnects AI assistants to an Obsidian vault as a semantic knowledge graph, enabling graph navigation, semantic search, and content operations through MCP.12456MIT
- AlicenseAqualityCmaintenanceProvides read-only access to an Obsidian vault, enabling file listing, content reading, and text search across notes via MCP.41Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables reading, writing, searching, and managing Obsidian vault notes through MCP tools and prompts, allowing AI agents to interact with local knowledge bases.
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Utkarshsharma30/obsidian-knowledge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server