pmwiki-mcp について
pmwiki-mcpは、検索、読み取り、一覧表示のためにLLMをPmWikiへ接続します。ページをリソースとして公開し、グループでページ一覧を絞り込めます。
主な機能
- 01ページ本文を検索
- 02ページ全体を読み取り
- 03グループ別にページを一覧表示
- 04ページをリソースとして公開
- 05Wikiディレクトリを読み取り専用でマウント
活用シーン
- 01語句を含むWikiページの検索
- 02LLM向けにページ内容を取得
- 03Wikiグループ内のページを閲覧
MCP 対応
MCPサーバーはWikiページをリソースとして公開し、検索・読み取り・一覧表示のツールを提供します。SSEトランスポートを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e WIKI_DIR docker.io/kcofoni/pmwiki-mcp:v1.0.4WIKI_DIRPath to the PmWiki wiki.d directory containing page files (must be mounted as read-only volume in Docker)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PmWiki MCP サーバー
LLM と PmWiki を連携するための MCP(Model Context Protocol)サーバーです。
アーキテクチャ
このサーバーは、SSE(Server-Sent Events)トランスポートを使用する MCP プロトコルにより、LLM が PmWiki インスタンスと連携できるようにします。
エンドポイント
GET /sse:双方向通信を確立するための SSE 接続POST /messages/:MCP クライアントからメッセージを受信
はじめに
Docker Compose を使用する場合(Docker Hub イメージ)
最も簡単な方法は、Docker Hub で公開されているイメージを使用することです。
docker compose up -d
Docker Compose を使用する場合(ローカルビルド)
イメージをローカルでビルドする場合は、次の手順を実行します。
docker-compose.ymlを編集し、image:の行をコメントアウトしてから、build: .の行のコメントを解除します- 次を実行します。
docker compose up -d --build
Docker を直接使用する場合
docker-compose を使用せず、直接実行することもできます。
docker run -d \
--name pmwiki-mcp-server \
-p 3000:3000 \
-v /path/to/your/wiki.d:/wiki_data:ro \
-e WIKI_DIR=/wiki_data \
kcofoni/pmwiki-mcp:latest
サーバーには http://localhost:3000 からアクセスできます(ネットワーク上の別のマシンからは http://vmtest:3000 からアクセスできます)。
動作確認
# Check that the server is running
docker logs pmwiki-mcp-server
# Test the SSE connection
curl -N http://localhost:3000/sse
クライアントの設定
Claude Desktop
次の設定を Claude Desktop の設定ファイルに追加します。
macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pmwiki": {
"command": "mcp-proxy",
"args": [
"--transport=sse",
"http://vmtest:3000/sse"
]
}
}
}
重要な注意事項:
vmtestは、MCP サーバーの Docker コンテナをホストしているマシンのホスト名ですvmtestを次のいずれかに置き換えてください。- Claude Desktop とサーバーが同じマシンで動作している場合は
localhost - Docker コンテナを実行しているマシンのホスト名または IP アドレス(例:
192.168.1.100:3000/sse)
- Claude Desktop とサーバーが同じマシンで動作している場合は
mcp-proxyツールをインストールしておく必要があります(通常は Claude Desktop とともに提供されています)- プロキシは、Claude Desktop と MCP サーバー間の SSE 接続を処理します
利用可能な機能
接続すると、LLM から次の機能を利用できます。
リソース
- すべての Wiki ページが、URI
pmwiki://Group.PageNameのリソースとして公開されます
ツール
-
search_wiki:すべてのページからテキストを検索します
- パラメーター:
query(必須):検索するテキストcase_sensitive(任意):大文字と小文字を区別する検索(既定値:false)
- パラメーター:
-
read_page:ページの内容をすべて読み取ります
- パラメーター:
page_name(必須):ページ名(例:Main.HomePageまたはMain/HomePage)
- パラメーター:
-
list_pages:すべての Wiki ページを一覧表示します
- パラメーター:
group(任意):グループで絞り込みます
- パラメーター:
設定
Wiki ディレクトリのマウント
PmWiki ディレクトリは、ホストマシンから Docker コンテナにマウントされます。
volumes:
- /home/docker/appdata/html/wiki.d:/wiki_data:ro
重要:
/home/docker/appdata/html/wiki.dはホストマシン上のパスです。これは置き換えが必要な例です- このパスを、実際の PmWiki
wiki.dディレクトリへのパスに置き換えてください - セキュリティ上の理由により、ボリュームは読み取り専用(
:ro)でマウントされます /wiki_dataはコンテナ内部のパスです(変更しないでください)
Docker Hub
イメージは Docker Hub で公開されています。
- リポジトリ:kcofoni/pmwiki-mcp
- 最新タグ:
kcofoni/pmwiki-mcp:latest - 安定版:
kcofoni/pmwiki-mcp:v1.0.2
最新バージョンを取得するには:
docker pull kcofoni/pmwiki-mcp:latest
特定のバージョンを取得するには:
docker pull kcofoni/pmwiki-mcp:v1.0.2
技術アーキテクチャ
- 言語:Python 3.11
- Web フレームワーク:Starlette + Uvicorn
- プロトコル:SSE 上の MCP
- ページ形式:PmWiki(
wiki.d/内のファイル)
ログ
# View logs in real-time
docker logs -f pmwiki-mcp-server
# Last 50 lines
docker logs --tail 50 pmwiki-mcp-server
トラブルシューティング
サーバーが起動しない
Wiki ディレクトリが存在することを確認します。
ls -la /home/docker/appdata/html/wiki.d
ページが 404 エラーになる
list_pages ツールを使用して、利用可能なすべてのページを確認してください。正確な PmWiki ファイル名の形式を使用する必要があります(ファイル名には Main/HomePage ではなく Main.HomePage を使用します)。
SSE 接続に失敗する
ポート 3000 が正しく公開されていることを確認します。
docker ps | grep pmwiki-mcp-server
開発
ファイル構成
pmwiki-mcp/
├── pmwiki_mcp_server.py # MCP server
├── requirements.txt # Python dependencies
├── Dockerfile # Docker image
├── docker-compose.yml # Docker Compose configuration
├── README.md # This documentation (English)
└── README_fr.md # French documentation
コードの変更
コードを変更した後は、次を実行します。
docker compose up -d --build
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。