mcpField
P
pmwiki-mcp

pmwiki-mcp

ローカル
github.com/kcofoniメモリ・ナレッジ032 週間前に更新

pmwiki-mcp について

pmwiki-mcpは、検索、読み取り、一覧表示のためにLLMをPmWikiへ接続します。ページをリソースとして公開し、グループでページ一覧を絞り込めます。

主な機能

  1. 01ページ本文を検索
  2. 02ページ全体を読み取り
  3. 03グループ別にページを一覧表示
  4. 04ページをリソースとして公開
  5. 05Wikiディレクトリを読み取り専用でマウント

活用シーン

  1. 01語句を含むWikiページの検索
  2. 02LLM向けにページ内容を取得
  3. 03Wikiグループ内のページを閲覧

MCP 対応

MCPサーバーはWikiページをリソースとして公開し、検索・読み取り・一覧表示のツールを提供します。SSEトランスポートを使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"kcofoni-pmwiki": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"WIKI_DIR",
"docker.io/kcofoni/pmwiki-mcp:v1.0.4"
],
"env": {
"WIKI_DIR": "<WIKI_DIR>"
}
}
}
}
起動コマンドdocker run -i --rm -e WIKI_DIR docker.io/kcofoni/pmwiki-mcp:v1.0.4
設定が必要な環境変数
WIKI_DIRPath to the PmWiki wiki.d directory containing page files (must be mounted as read-only volume in Docker)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocidocker.io/kcofoni/pmwiki-mcp:v1.0.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

PmWiki MCP サーバー

LLM と PmWiki を連携するための MCP(Model Context Protocol)サーバーです。

フランス語版 / French version

アーキテクチャ

このサーバーは、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 を使用する場合(ローカルビルド)

イメージをローカルでビルドする場合は、次の手順を実行します。

  1. docker-compose.yml を編集し、image: の行をコメントアウトしてから、build: . の行のコメントを解除します
  2. 次を実行します。
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)
  • mcp-proxy ツールをインストールしておく必要があります(通常は Claude Desktop とともに提供されています)
  • プロキシは、Claude Desktop と MCP サーバー間の SSE 接続を処理します

利用可能な機能

接続すると、LLM から次の機能を利用できます。

リソース
  • すべての Wiki ページが、URI pmwiki://Group.PageName のリソースとして公開されます
ツール
  1. search_wiki:すべてのページからテキストを検索します

    • パラメーター:
      • query(必須):検索するテキスト
      • case_sensitive(任意):大文字と小文字を区別する検索(既定値:false)
  2. read_page:ページの内容をすべて読み取ります

    • パラメーター:
      • page_name(必須):ページ名(例:Main.HomePage または Main/HomePage)
  3. 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 ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。