ドキュメントMCPサーバー — AIツールからこのドキュメントを直接検索
PlantPulse ドキュメントを AIツールが直接検索して読めるようにする MCP(Model Context Protocol)サーバーです。Claude Code・Claude Desktop・Cursor・VS Code など MCP に対応したツールにURLを1つ登録するだけで、会話の中でドキュメントを検索し、ページ全体を読んだうえで 出典リンク付きで 回答します。
誰でも利用できます。登録もAPIキーも不要です。 読み取り専用のため、ドキュメントを変更したり他のシステムにアクセスしたりする機能はありません。
接続情報
| 項目 | 値 |
|---|---|
| URL | https://docs.plantpulse.io/mcp |
| トランスポート | Streamable HTTP(ステートレス — セッションなし) |
| 認証 | なし |
| 言語 | en(既定)・ko・ja・zh・de |
| 対象 | このサイトで現在公開中のドキュメント全体 — Platform・Edge・AI・Studio・リソース |
ドキュメントが更新されサイトが再デプロイされると、MCPサーバーの内容も同時に更新されます。別途インデックスを待つ必要はありません。
接続方法
Claude Code
claude mcp add --transport http plantpulse-docs https://docs.plantpulse.io/mcp
追加後、claude mcp list で plantpulse-docs が ✓ Connected と表示されれば完了です。プロジェクト全体で共有するには --scope project を付けます(.mcp.json に記録されます)。
Claude Desktop
設定 → コネクタ → カスタムコネクタを追加 で URL https://docs.plantpulse.io/mcp を入力します。認証欄は空のままにします。
設定ファイル(claude_desktop_config.json)で指定する場合は、リモートサーバーを中継する mcp-remote を使います(Node.js が必要です)。
{
"mcpServers": {
"plantpulse-docs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://docs.plantpulse.io/mcp"]
}
}
}
Cursor
~/.cursor/mcp.json(全プロジェクト)またはプロジェクトの .cursor/mcp.json に追加します。
{
"mcpServers": {
"plantpulse-docs": {
"url": "https://docs.plantpulse.io/mcp"
}
}
}
VS Code(GitHub Copilot エージェントモード)
ワークスペースの .vscode/mcp.json に追加します。
{
"servers": {
"plantpulse-docs": {
"type": "http",
"url": "https://docs.plantpulse.io/mcp"
}
}
}
ChatGPT
ChatGPT では カスタムコネクタ(カスタム MCP サーバー)として接続します。
- カスタム MCP サーバーを追加する画面を開きます。現在は Plugins(
chatgpt.com/plugins)の + → Add custom MCP server です。ChatGPT のバージョンによっては 設定 → コネクタ(Apps & Connectors)→ 詳細設定 で 開発者モード をオンにしてから 作成 を選ぶ形になっています。 - 名前(例:
PlantPulse Docs)と説明を入力し、URL にhttps://docs.plantpulse.io/mcpを入力します。 - 認証は なし(No authentication)を選びます。
- リスクの案内を読んで同意し、作成します。サーバーが示すツール一覧に
search・fetchが表示されれば完了です。
このメニューを使えるかどうかは ChatGPT のプランとワークスペースの設定(管理者がカスタムコネクタを許可しているか)によって異なり、メニュー名も ChatGPT のバージョンによって変わります。ChatGPT のコネクタとディープリサーチは名前がちょうど search・fetch のツールを探すため、このサーバーはその2つのツールを別に提供しています(下の ツール)。
その他の MCP クライアント
Streamable HTTP に対応したクライアントであれば、たいてい次の形式を受け付けます。
{
"mcpServers": {
"plantpulse-docs": {
"type": "http",
"url": "https://docs.plantpulse.io/mcp"
}
}
}
ツール
5つとも 読み取り専用 です。
| ツール | 引数 | 返すもの |
|---|---|---|
search_docs | query(必須、300文字まで)・product・locale・limit(1〜20、既定 8) | 最も一致するセクション — タイトル・見出し・製品・URL・抜粋 |
get_page | path(必須)・locale | 1ページのタイトル・URL・見出し一覧・本文全体(6万文字まで) |
list_pages | product・locale・cursor・limit(1〜200、既定 100) | ページ一覧 — パス・タイトル・製品。続きは cursor で取得 |
search | query(必須)・locale・product・limit(1〜20、既定 8) | ChatGPT 用。{"results":[{id, title, url, text}]} — ページ単位の結果 |
fetch | id(必須)— search が返した id またはドキュメントのURL | ChatGPT 用。{id, title, text, url, metadata} — 1ページの本文全体 |
productはplatform・edge・ai・studio・resourcesのいずれかです。複数の製品に「パスワード・APIキーの変更」のような 同じタイトルのページ があるため、製品が決まっている質問では指定したほうが正確です。localeを指定しないと英語(en)で検索します。日本語で質問するならjaが適しています。get_pageのpathには、/platform/frontline/user-guideのようなサイトパス、/ja/...のように言語付きのパス、https://docs.plantpulse.io/...の完全なURLのいずれも使えます。存在しないパスの場合は近いページを提示します。search・fetchは、ChatGPT が想定する名前と形式で同じインデックスを返します。searchはlocaleを指定しないと 検索語の文字から言語を選びます(ハングル →ko、かな →ja、その他の漢字 →zh、ドイツ語 →de、それ以外はen)。id は/ko/edge/user-guide/plc-profiling-testkitのように言語付きのページパスです。- 検索はこのサイトの ドキュメントチャット と 同じインデックス・同じ方式(キーワード BM25、韓国語の助詞処理を含む)です。
サーバーはAIツールに「回答時は返されたURLを出典として示すこと」という案内も送ります。回答にリンクが付いていれば、そのページを開いて原文を確認できます。
利用上限
公開サーバーのため、一人がリソースを独占しないようにいくつかの上限を設けています。
| 項目 | 上限 | 超えた場合 |
|---|---|---|
| リクエスト回数 | IPごとに毎分約30回(瞬間的に20回まで許容) | 429 — 1分後に再試行 |
| リクエストサイズ | 64 KB | 413 |
| 検索語の長さ | 300文字 | ツールエラー |
| 検索結果 | 1回20件、抜粋は約700文字 | 切り詰めて返す |
| ページ本文 | 6万文字 | 切り詰めて返し、原文のURLを付記 |
AIツールが接続する際は通常3〜4回のリクエスト(初期化・ツール一覧)を使い、質問1つにつき検索・ページ閲覧を数回行います。通常の使い方で上限に達することはありません。
サーバーが残すのは、ドキュメントサイトと同じWebサーバーのアクセスログ(接続元IP・時刻・URL)だけです。検索語やツール引数は保存しません。社外秘の文章を検索語に入れないでください — 公開サーバーです。
自分で確かめる
クライアントがなくても curl で動作を確認できます。Accept ヘッダーには両方の形式を指定する必要があります。
curl -s https://docs.plantpulse.io/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_docs","arguments":{"query":"PLCプロファイリング","locale":"ja","limit":3}}}'
サーバーの状態(バージョン・ページ数)は https://docs.plantpulse.io/mcp/healthz で確認できます。
問題が起きたら
| 症状 | 原因と対処 |
|---|---|
接続失敗・406 | クライアントが Streamable HTTP に対応していないか、Accept ヘッダーが欠けています。旧来の SSE 方式にしか対応していないクライアントは、Claude Desktop と同様に mcp-remote を経由して接続します。 |
405 | GET で呼び出しています。このサーバーはステートレスのため POST のみ受け付けます。 |
429 | リクエストが上限を超えました。1分ほど待って再試行します。 |
503 | サイトが再デプロイされた直後で、サーバーがインデックスを読み込んでいます。数秒後に再試行します。 |
| 結果が英語でしか出ない | locale を指定していません。AIツールに「日本語のドキュメントで探して」と伝えると ja で呼び出します。 |