PipesHub について
PipesHubは、職場の情報を検索し、引用付きの回答を返すリモートMCPサーバーです。企業コンテンツへ権限に応じてアクセスするチームやエージェント向けです。
主な機能
- 01権限に基づく職場情報検索
- 02複数ソースを横断した引用付き回答
- 03レコードの閲覧とダウンロード
- 04ディレクトリとソースの確認
- 05任意のチャット・エージェントツール
活用シーン
- 01Jira、Slack、Driveの情報検索
- 02ユーザー権限に応じたレコード取得
- 03コーディングエージェントへの社内情報接続
MCP 対応
`/mcp`でStreamable HTTPのMCPエンドポイントを提供します。検索、チャット、レコード取得、ディレクトリ、ソース、エージェントのツールがあり、OAuthまたはBearerトークンで認証します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://{instance_host}/mcpclaude mcp add --transport http pipeshub-ai https://{instance_host}/mcp{"mcpServers":{"pipeshub-ai":{"type":"http","url":"https://{instance_host}/mcp"}}}Cursor で開く{"servers":{"pipeshub-ai":{"type":"http","url":"https://{instance_host}/mcp"}}}VS Code で開く{"mcpServers":{"pipeshub-ai":{"type":"http","url":"https://{instance_host}/mcp"}}}{"mcpServers":{"pipeshub-ai":{"serverUrl":"https://{instance_host}/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://{instance_host}/mcp認証が必要ツール
詳細
MCP クライアントを PipesHub MCP サーバーに接続する
このガイドでは、静的 OAuth 認証情報またはベアラートークンを使用して、PipesHub のリモート MCP サーバーを Cursor、Claude Code、Gemini CLI、Codex CLI、Claude.ai (Web)、LibreChat に接続する方法を説明します。
PipesHub は、/mcp に Streamable HTTP を介したリモート MCP エンドポイントを公開します。MCP クライアントはこのエンドポイントに直接接続するため、ローカルの npm パッケージや stdio プロセスは必要ありません。
▶ 2分半のデモを見る:Claude Code がこの MCP サーバーを使って、各ユーザー自身の権限で Jira、Slack、GitHub、Drive の情報から回答します。
コーディングエージェントをお使いですか? コーディングエージェント向けから始めてください。
npx skills add pipeshub-ai/mcp-serverを使ってスキルを ユーザーの リポジトリにインストールし(skills/pipeshubを参照)、そのページにあるAGENTS.mdのスニペットを追記してください。公式 MCP レジストリではio.github.pipeshub-ai/mcpとして、Cursor Directoryでは PipesHub として掲載されています。掲載ファイル(plugin.json、mcp.json)では、MCP の接続先はデフォルトでhttp://localhost:3000/mcp(Docker)です。会社のインスタンスを使用する場合は URL を変更してください。これらのファイルにシークレットは含まれません。このリポジトリで作業するコントリビューターは、AGENTS.md をお読みください。Claude Code プラグイン:
/plugin marketplace add pipeshub-ai/mcp-serverを実行してから/plugin install pipeshub@pipeshubを実行すると、MCP サーバー、スキル、および/pipeshub:askと/pipeshub:setupコマンドが追加されます。${PIPESHUB_MCP_URL:-https://app.pipeshub.com/mcp}にAuthorization: Bearer ${PIPESHUB_MCP_TOKEN}を指定して接続します。シェルで両方の環境変数をエクスポートし(セルフホストの場合は URL をhttps://<your-instance>/mcpに設定)、Claude Code を再起動してください。ツールのリファレンスをお探しですか? MCP サーバーが公開する各ツール(
pipeshub_chat、pipeshub_search、pipeshub_get_record_content、pipeshub_download_record、pipeshub_directory、pipeshub_sources、pipeshub_agents)の説明、引数、選択ガイドについては、TOOLS.md をご覧ください。検索してレコードを読む方法を推奨されるデフォルトとしています。pipeshub_chatは任意です(pipeshub_chatを使わない場合を参照)。
QM をお使いですか? QM はサードパーティの MCP エンドポイントに接続できません。QM はクライアントではなく、独自のハーネスに対する MCP サーバー です。PipesHub を QM と使用するに従ってください。
qm/にあるデプロイ層のバンドルを使うと、エージェントはサンドボックス内でpipeshubコマンドを利用できます。このパッケージでは、そのコマンドを 2 つ目の実行ファイルとして提供しています。
前提条件
- 稼働中の PipesHub インスタンス:PipesHub Cloud またはセルフホスト環境。セルフホストする場合は、ローカル Docker デモの手順でインストールと初回起動を行ってください。LangChain のスキャフォールドは作成しないでください。アカウントと LLM の設定を含む初回起動は、引き続きブラウザー上で行います。LLM を設定するまで検索は 500 エラーになります。
- PipesHub で作成した OAuth アプリ(手順 1 を参照)
ステップ 1:PipesHub で OAuth アプリを作成する
- 管理者として PipesHub インスタンスにログインします
- 設定 > 開発者設定 > OAuth アプリ に移動します
- OAuth アプリを作成 をクリックします
- アプリの詳細を入力します:
-
名前:例:
MCP Integration -
リダイレクト URI:使用するクライアントのリダイレクト URI をすべて追加します:
クライアント リダイレクト URI Cursor cursor://anysphere.cursor-mcp/oauth/callbackClaude Code http://localhost:<PORT>/callback(例:http://localhost:8080/callback)Claude.ai(Web) https://claude.ai/api/mcp/auth_callbackGemini CLI http://localhost:7777/oauth/callbackLibreChat http://localhost:3080/api/mcp/<server-identifier>/oauth/callback
-
重要: OAuth アプリには、検出エンドポイントに記載されているすべてのスコープを許可してください(デフォルトのスコープをカスタマイズするを参照)。サインイン時には、アプリが許可する要求スコープが付与され、それ以外は除外されます。そのため、アプリに含まれていないスコープがあってもログインは失敗せず、そのスコープを必要とするツールが拒否されます。要求されたスコープがアプリで一つも許可されていない場合、または要求されたスコープ名が不明な場合は、サインインが
invalid_scopeで失敗します。
- アプリを保存し、クライアント ID と クライアントシークレット をコピーします
デフォルトのスコープをカスタマイズする
/.well-known/oauth-protected-resource/mcp 検出エンドポイントには、MCP ツールが使用するスコープが記載されています。そのため、記載されたすべてのスコープを要求する Claude Code などのクライアントは、ツールに必要なスコープのみを要求します:
| スコープ | 使用するツール |
|---|---|
semantic:write | pipeshub_search |
conversation:chat | pipeshub_chat |
agent:read、agent:execute | エージェントを指定した pipeshub_agents、pipeshub_sources、pipeshub_chat |
kb:read、connector:read、config:read | pipeshub_sources、pipeshub_get_record_content、pipeshub_download_record、pipeshub_indexing_status |
kb:write、kb:upload | pipeshub_create_collection、pipeshub_upload |
user:read、team:read、usergroup:read | pipeshub_directory |
code:read | pipeshub_code_* ツール |
検出エンドポイントには offline_access も記載されています。これはツールのスコープではありません。クライアントがリフレッシュトークンを取得できるようにするためのもので、アクセストークンの有効期限が切れても再度サインインせずにログイン状態を維持できます。
このリストは、PipesHub インスタンスの MCP_SCOPES 環境変数で制限されています。この環境変数は、個人用アクセストークンまたは OAuth トークンが保持できるスコープの上限でもあります。検出エンドポイントに表示されないようにするには、MCP_SCOPES からスコープを削除してください。Cursor や LibreChat など、独自のスコープを設定するクライアントは引き続きそのスコープを要求しますが、PipesHub は MCP_SCOPES で除外されているスコープを付与しません。この動作に対応する前のバージョンの PipesHub サーバーでは、MCP_SCOPES のすべてのスコープが記載されます。
プレースホルダー
以下のすべての設定で、これらの値を置き換えてください:
| プレースホルダー | 説明 | 例 |
|---|---|---|
PIPESHUB_INSTANCE_URL | PipesHub インスタンスの URL | https://app.pipeshub.com |
YOUR_CLIENT_ID | OAuth アプリのクライアント ID | clid_abc123... |
YOUR_CLIENT_SECRET | OAuth アプリのクライアントシークレット | clsec_xyz789... |
リモート MCP エンドポイントの URL は次のとおりです:PIPESHUB_INSTANCE_URL/mcp
リモート MCP のセットアップ
Cursor
Cursor は、mcp.json の auth オブジェクトを使用して、リモート MCP サーバーの静的 OAuth に対応しています。
設定
Cursor の「設定」>「ツールと統合」>「新しい MCP サーバー」を開くか、プロジェクトの .cursor/mcp.json を編集します:
{
"mcpServers": {
"pipeshub": {
"url": "PIPESHUB_INSTANCE_URL/mcp",
"auth": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"scopes": [
"org:read", "org:write", "org:admin",
"user:read", "user:write", "user:invite", "user:delete",
"usergroup:read", "usergroup:write",
"team:read", "team:write",
"kb:read", "kb:write", "kb:delete", "kb:upload",
"semantic:read", "semantic:write", "semantic:delete",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connector:write", "connector:sync", "connector:delete",
"config:read", "config:write",
"document:read", "document:write", "document:delete",
"crawl:read", "crawl:write", "crawl:delete"
]
}
}
}
}
Cursor は、PipesHub の /.well-known/oauth-protected-resource/mcp メタデータを介して、認可エンドポイントとトークンエンドポイントを自動検出します。
注:
scopesフィールドを省略すると、Cursor は/.well-known/oauth-protected-resource/mcpを取得し、そこに記載されているscopes_supportedのすべてを要求します。アクセスを制限するには、必要なスコープのみを明示的に列挙してください。サーバー側で公開するスコープを制御することもできます。デフォルトのスコープをカスタマイズするを参照してください。
設定ファイルにシークレットを含めずに済むよう、Cursor の ${env:VAR} 補間を使用します。
{
"mcpServers": {
"pipeshub": {
"url": "${env:PIPESHUB_INSTANCE_URL}/mcp",
"auth": {
"CLIENT_ID": "${env:PIPESHUB_CLIENT_ID}",
"CLIENT_SECRET": "${env:PIPESHUB_CLIENT_SECRET}",
"scopes": [
"kb:read", "kb:write",
"semantic:read", "semantic:write",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connector:write",
"config:read", "user:read"
]
}
}
}
}
リダイレクト URI
Cursor はすべての MCP サーバーに固定のリダイレクト URI を使用します。
cursor://anysphere.cursor-mcp/oauth/callback
PipesHub で OAuth アプリを作成する際、これを許可されるリダイレクト URI として登録します。
OAuth ログインのトラブルシューティング
Cursor の内蔵ブラウザーで OAuth ログインページを読み込めない場合は、内蔵ブラウザーから認証 URL をコピーし、通常のブラウザーに貼り付けてログインフローを完了します。
Claude Code
Claude Code は、--client-id、--client-secret、--callback-port を使った静的 OAuth 認証情報によるリモート HTTP MCP サーバーに対応しています。
PipesHub は /.well-known/oauth-protected-resource/mcp でディスカバリー情報を公開しているため、Claude Code は認可エンドポイントとトークンエンドポイントを自動的に検出します。
重要: Claude Code は、特定のスコープの設定には対応していません。
/.well-known/oauth-protected-resource/mcpを取得し、scopes_supportedリストを読み取って、すべてをリクエストします。PipesHub には MCP ツールが使用するスコープのみが一覧表示されます。OAuth アプリにはそのすべてを設定してください。サインイン時にはアプリで許可されているスコープが付与されます。不足しているスコープを必要とするツールは拒否され、アプリで許可されているスコープが一つもない場合は、サインインがinvalid_scopeで失敗します。リストの確認や制限については、デフォルトスコープのカスタマイズを参照してください。
CLI で追加する
claude mcp add --transport http \
--client-id YOUR_CLIENT_ID \
--client-secret \
--callback-port 8080 \
pipeshub PIPESHUB_INSTANCE_URL/mcp
値を指定せずに
--client-secretを指定すると、入力内容がマスクされた状態で入力を求められます。入力を省略するには、MCP_CLIENT_SECRET環境変数を設定します。MCP_CLIENT_SECRET=YOUR_CLIENT_SECRET claude mcp add --transport http \ --client-id YOUR_CLIENT_ID \ --client-secret \ --callback-port 8080 \ pipeshub PIPESHUB_INSTANCE_URL/mcp
すべてのプロジェクトで使用できるようにするには:
claude mcp add --transport http --scope user \
--client-id YOUR_CLIENT_ID \
--client-secret \
--callback-port 8080 \
pipeshub PIPESHUB_INSTANCE_URL/mcp
JSON で追加する
claude mcp add-json pipeshub '{
"type": "http",
"url": "PIPESHUB_INSTANCE_URL/mcp",
"oauth": {
"clientId": "YOUR_CLIENT_ID",
"callbackPort": 8080
}
}' --client-secret
プロジェクトスコープ(.mcp.json)
プロジェクトのルートに .mcp.json ファイルを作成します。シークレットは環境変数で管理されるため、このファイルをバージョン管理にコミットできます。
{
"mcpServers": {
"pipeshub": {
"type": "http",
"url": "${PIPESHUB_INSTANCE_URL}/mcp",
"oauth": {
"clientId": "${PIPESHUB_CLIENT_ID}",
"callbackPort": 8080
}
}
}
}
Claude Code を起動する前に、環境変数を設定します。
export PIPESHUB_INSTANCE_URL="https://app.pipeshub.com"
export PIPESHUB_CLIENT_ID="your-client-id"
注: クライアントシークレットは設定ファイルではなく、システムのキーリングに保存されます。
/mcp経由で初めて認証するときに、入力を求められます。
認証する
サーバーを追加したら、Claude Code 内で /mcp を実行し、ブラウザーでのログインフローに従います。トークンは安全に保存され、自動的に更新されます。
確認する
claude mcp list
claude mcp get pipeshub
Gemini CLI
Gemini CLI は、dynamic_discovery(デフォルト)を使った OAuth によるリモート MCP サーバーに対応しています。この機能は、PipesHub の /.well-known/oauth-protected-resource/mcp から認可エンドポイントとトークンエンドポイントを自動的に検出します。
オプション A:設定ファイル
~/.gemini/settings.json を編集します。
{
"mcpServers": {
"pipeshub": {
"url": "PIPESHUB_INSTANCE_URL/mcp",
"oauth": {
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"scopes": [
"org:read", "org:write", "org:admin",
"user:read", "user:write", "user:invite", "user:delete",
"usergroup:read", "usergroup:write",
"team:read", "team:write",
"kb:read", "kb:write", "kb:delete", "kb:upload",
"semantic:read", "semantic:write", "semantic:delete",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connector:write", "connector:sync", "connector:delete",
"config:read", "config:write",
"document:read", "document:write", "document:delete",
"crawl:read", "crawl:write", "crawl:delete"
]
}
}
}
}
注:
scopesリストを、OAuth アプリに付与されたスコープに合わせて調整してください。一部のツールのみを使用する場合は、それに応じてスコープを制限できます。
オプション B:CLI コマンド
gemini mcp add --transport http pipeshub PIPESHUB_INSTANCE_URL/mcp
次に、上記のとおり oauth ブロックを追加するため、~/.gemini/settings.json を編集します。
認証する
Gemini CLI 内で、/mcp auth コマンドを使用します。
# List servers and their auth status
/mcp auth
# Authenticate with PipesHub (opens browser for login)
/mcp auth pipeshub
# Re-authenticate if tokens expire
/mcp auth pipeshub
初回接続時、Gemini は 401 応答を自動的に検出し、OAuth エンドポイントを見つけて、ログイン用のブラウザーを開きます。トークンは ~/.gemini/mcp-oauth-tokens.json に安全に保存され、自動的に更新されます。
サーバーを管理する
# List all configured servers
gemini mcp list
# Remove the server
gemini mcp remove pipeshub
# Temporarily disable/enable
gemini mcp disable pipeshub
gemini mcp enable pipeshub
| プロパティ | 必須 | 説明 |
|---|---|---|
clientId | はい | PipesHub の OAuth 2.0 クライアント ID |
clientSecret | いいえ | OAuth 2.0 クライアントシークレット(機密クライアント向け) |
scopes | いいえ | リクエストする OAuth スコープ |
authorizationUrl | いいえ | 認可エンドポイントを上書きします(デフォルトでは自動検出されます) |
tokenUrl | いいえ | トークンエンドポイントを上書きします(デフォルトでは自動検出されます) |
redirectUri | いいえ | リダイレクト URI を上書きします(デフォルトは http://localhost:7777/oauth/callback です) |
注: OAuth にはローカルブラウザーが必要です。ヘッドレス環境、X11 転送を使用しないリモート SSH、またはブラウザーにアクセスできないコンテナーでは動作しません。
Codex CLI
Codex CLI(OpenAI Codex)は、Streamable HTTP 経由でリモート MCP サーバーに接続します。~/.codex/config.toml(またはプロジェクト単位で設定する場合はプロジェクトルートの .codex/config.toml)にある [mcp_servers.<name>] テーブルで設定します。Codex の HTTP トランスポートは、環境変数から読み込んだベアラートークンで認証するため、PipesHub の JWT ベアラートークンを渡します。
[mcp_servers.pipeshub]
url = "PIPESHUB_INSTANCE_URL/mcp"
bearer_token_env_var = "PIPESHUB_BEARER_TOKEN"
bearer_token_env_var は、トークンを保持する環境変数の名前です。Codex を起動する前にエクスポートしてください。
export PIPESHUB_BEARER_TOKEN="YOUR_BEARER_TOKEN"
トークンは生の JWT であり、
Bearerキーワードは含めません。
または、CLI で追加します。
codex mcp add pipeshub \
--url PIPESHUB_INSTANCE_URL/mcp \
--bearer-token-env-var PIPESHUB_BEARER_TOKEN
--bearer-token-env-varに指定するのは、トークンの値ではなく、トークンを保持する環境変数の名前です。
確認
# List configured MCP servers
codex mcp list
# Inside the Codex TUI, view server status and available tools
/mcp
Claude.ai(Web)
Claude.ai は、リモート MCP サーバーを介したカスタムコネクターに対応しています。これにより、ローカルで設定を行わずに、Claude.ai の Web インターフェースから PipesHub のツールを直接使用できます。
注: この機能は現在ベータ版です。無料プランでは、カスタムコネクターは 1 つまで利用できます。


個人ユーザー向け(Pro / Max プラン)
- claude.ai にアクセスし、設定 > コネクター に移動します
- コネクターセクションの下部にある カスタムコネクターを追加 をクリックします
- MCP サーバーの URL を入力します。
PIPESHUB_INSTANCE_URL/mcp - 詳細設定 をクリックし、OAuth 認証情報を入力します。
- OAuth クライアント ID:
YOUR_CLIENT_ID - OAuth クライアントシークレット:
YOUR_CLIENT_SECRET
- OAuth クライアント ID:
- 追加 をクリックします
- 認証して権限を付与するため、PipesHub のログインページにリダイレクトされます
- 認証が完了するとコネクターが有効になり、Claude.ai の会話で PipesHub のツールを利用できるようになります
チーム/エンタープライズプラン向け
組織オーナーは、最初にコネクターを追加する必要があります。
- 組織の設定 > コネクター に移動します
- カスタムコネクターを追加 をクリックします
- MCP サーバーの URL を入力します:
PIPESHUB_INSTANCE_URL/mcp - 詳細設定 をクリックし、OAuth クライアント ID とクライアントシークレットを入力します
- 追加 をクリックします
その後、チームメンバーが接続できます。
- 設定 > コネクター に移動します
- PipesHub コネクター(「カスタム」ラベル付き)を見つけます
- 接続 をクリックし、PipesHub の OAuth ログインで認証します
リダイレクト URI
Claude.ai は OAuth に次のリダイレクト URI を使用します。
https://claude.ai/api/mcp/auth_callback
これを、PipesHub OAuth アプリで許可されるリダイレクト URI として登録してください。
セキュリティに関する注意事項
- 信頼できる MCP サーバーにのみ接続してください
- OAuth 認証フローで要求される権限を確認してください
- Claude.ai は付与された OAuth トークンを使用して、ユーザーに代わって PipesHub とやり取りします。パスワードが共有されることはありません
LibreChat
LibreChat は、カスタムコネクターの UI を介した OAuth 認証付きのリモート MCP サーバーに対応しています。これにより、PipesHub のツールを LibreChat インスタンスで利用可能な任意のモデルに接続できます。

設定
- LibreChat インスタンスにログインします
- MCP Servers 設定パネルに移動します
- Add をクリックして、新しいカスタム MCP コネクターを作成します
- コネクターの詳細を入力します:
- Name:
Pipeshub(または任意の名前) - MCP Server URL:
PIPESHUB_INSTANCE_URL/mcp - Transport:Streamable HTTPS を選択します
- Authentication:OAuth を選択します
- Name:
- OAuth 認証情報を入力します:
- Client ID:
YOUR_CLIENT_ID - Client Secret:
YOUR_CLIENT_SECRET - Authorization URL:
PIPESHUB_INSTANCE_URL/api/v1/oauth2/authorize - Token URL:
PIPESHUB_INSTANCE_URL/api/v1/oauth2/token - Scope:
openid email(または必要に応じて追加のスコープ)
- Client ID:
- I trust this application にチェックを入れます
- Add をクリックしてコネクターを保存します
- 追加後、LibreChat によって Redirect URI が生成され、コネクターの設定パネル(コピーボタンの横)に表示されます。形式は次のとおりです:
http://localhost:3080/api/mcp/<server-identifier>/oauth/callback - Redirect URI をコピーし、PipesHub OAuth アプリで許可されたリダイレクト URI として登録します(手順 1 を参照)。
- LibreChat のコネクターに戻り、Update をクリックして OAuth フローを開始します。認証してアクセス許可を付与するため、PipesHub のログインページにリダイレクトされます。
リダイレクト URI
LibreChat は、コネクターの作成後にリダイレクト URI を生成します。URI の形式は次のとおりです:
http://localhost:3080/api/mcp/<server-identifier>/oauth/callback
<server-identifier> は、LibreChat によって割り当てられる一意の識別子です(コネクター設定の上部に「Unique Server Identifier」として表示されます)。認証する前に、この URI をコピーして PipesHub OAuth アプリの許可されたリダイレクト URI に追加する必要があります。
注: LibreChat インスタンスが別のホストまたはポートで実行されている場合、URI にはそのホストまたはポートが反映されます(例:
https://chat.example.com/api/mcp/pipeshub/oauth/callback)。
スコープ
LibreChat では、Scope フィールドに OAuth スコープを指定できます。スペース区切りのリストを使用します:
openid email
PipesHub 固有のスコープをリクエストするには、スコープフィールドに追加します:
openid email org:read kb:read kb:write semantic:read conversation:read conversation:write conversation:chat agent:read agent:execute
注: サインインで付与されるのは、PipesHub の OAuth アプリで許可されたリクエスト済みのスコープのみです。そのため、アプリに付与されたスコープをリクエストしてください。詳しくは、デフォルトのスコープをカスタマイズするを参照してください。
ローカル MCP サーバー(Stdio)
PipesHub のリモート MCP エンドポイントに接続する代わりに、@pipeshub-ai/mcp npm パッケージを使用して、MCP サーバーを stdio プロセスとしてローカルで実行できます。ローカル環境を利用したい場合や、リモート MCP エンドポイントへの直接 HTTP 接続が現実的でない環境で作業する場合に便利です。
前提条件
- Node.js 18+ がインストールされていること
- PipesHub インスタンスの URL
- 自分として動作し、自分の権限に応じた結果を取得するための認証情報。次のいずれかを使用します:
- 設定にトークンを指定しない場合:
pipeshub loginを一度実行します(npm i -g @pipeshub-ai/mcp。セルフホストの場合は--url <origin>を指定します)。--bearer-authを指定しない場合、startはそのサインイン情報を使用し、トークンを更新します(デバイスログインの更新トークンが発行される PipesHub バージョンではトークンを更新し、それ以外では有効期間は 1 時間です)。また、--server-urlの既定値にはサインインしたインスタンスが使用されます。さらに、環境変数PIPESHUB_TOKENも読み取ります。このトークンは--server-urlまたはPIPESHUB_BASE_URLに対してのみ送信されます。 - パーソナルアクセストークン(
phpat_…):PipesHub の Developer Settings で発行し、以下の例のように--bearer-authとして渡します。
- 設定にトークンを指定しない場合:
pipeshub login を使用する場合、Claude Desktop のエントリーは次のとおりです:
{
"mcpServers": {
"pipeshub": {
"command": "npx",
"args": ["@pipeshub-ai/mcp", "start"]
}
}
}
プレースホルダー
以下のすべての設定で置き換えてください。
| プレースホルダー | 説明 | 例 |
|---|---|---|
PIPESHUB_INSTANCE_URL | PipesHub インスタンスの URL | https://app.pipeshub.com |
YOUR_BEARER_TOKEN | 個人用アクセストークン | phpat_... |
Claude Desktop
Claude Desktop の設定(claude_desktop_config.json)で設定します。
{
"mcpServers": {
"pipeshub": {
"command": "npx",
"args": [
"@pipeshub-ai/mcp",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN"
]
}
}
}
Cursor(ローカル)
Cursor Settings > Tools and Integrations > New MCP Server を開くか、プロジェクトの .cursor/mcp.json を編集します。
{
"mcpServers": {
"pipeshub": {
"command": "npx",
"args": [
"@pipeshub-ai/mcp",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN"
]
}
}
}
Claude Code CLI(ローカル)
claude mcp add pipeshub -- npx -y @pipeshub-ai/mcp start \
--server-url PIPESHUB_INSTANCE_URL \
--bearer-auth YOUR_BEARER_TOKEN
Gemini CLI(ローカル)
gemini mcp add pipeshub -- npx -y @pipeshub-ai/mcp start \
--server-url PIPESHUB_INSTANCE_URL \
--bearer-auth YOUR_BEARER_TOKEN
Codex CLI(ローカル)
個人用アクセストークンを使って、MCP サーバーをローカルの stdio プロセスとして実行します。~/.codex/config.toml(またはプロジェクトのルートにある .codex/config.toml)を編集します。
[mcp_servers.pipeshub]
command = "npx"
args = [
"-y",
"@pipeshub-ai/mcp",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN",
]
VS Code
コマンドパレット > MCP: Open User Configuration を開き、次を追加します。
{
"mcpServers": {
"pipeshub": {
"command": "npx",
"args": [
"@pipeshub-ai/mcp",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN"
]
}
}
}
Windsurf
Windsurf Settings > Cascade > Manage MCPs > View raw config を開き、次を追加します。
{
"mcpServers": {
"pipeshub": {
"command": "npx",
"args": [
"@pipeshub-ai/mcp",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN"
]
}
}
}
ソースから実行(開発)
npm パッケージの代わりに、クローンしたリポジトリからローカルの MCP サーバーを実行するには、次のようにします。
git clone https://github.com/pipeshub-ai/pipeshub-ai.git
cd pipeshub-ai
npm install
npm run build
node ./bin/mcp-server.js start --server-url PIPESHUB_INSTANCE_URL --bearer-auth YOUR_BEARER_TOKEN
MCP クライアントの設定では、npx @pipeshub-ai/mcp を node ./bin/mcp-server.js に置き換えます。
{
"mcpServers": {
"pipeshub": {
"command": "node",
"args": [
"./bin/mcp-server.js",
"start",
"--server-url",
"PIPESHUB_INSTANCE_URL",
"--bearer-auth",
"YOUR_BEARER_TOKEN"
]
}
}
}
MCP Inspector を使ってデバッグするには、次のようにします。
npx @modelcontextprotocol/inspector node ./bin/mcp-server.js start --server-url PIPESHUB_INSTANCE_URL --bearer-auth YOUR_BEARER_TOKEN
CLI ヘルプ
サーバー引数の一覧については、次を実行してください。
npx @pipeshub-ai/mcp --help
再試行とタイムアウト
ローカルサーバー(start と serve)は、429、502、503、または 504 で拒否された PipesHub リクエストを再試行します。Retry-After ヘッダーで指定された時間だけ待機し、ヘッダーがない場合は、0.5 秒、続いて 1 秒のバックオフを行います。合計 3 回で再試行を停止し、最後の応答をそのまま渡します。Retry-After が 30 秒を超える場合は待機せず、その応答をすぐに渡します。ツールのエラーには、PipesHub が指定した待機時間が示されます。再試行されるのは、繰り返しても安全なリクエスト(GET、HEAD、OPTIONS、PUT、DELETE)のみです。検索とチャットは POST であり、再試行すると検索や回答が重複するため、再試行されません。
60 秒以内に応答がないリクエストは中断されます。この制限の対象は、PipesHub が応答を開始するまでの待機時間であり、回答全体ではありません。そのため、すでにストリーミング中の長いチャット応答が途中で打ち切られることはありません。
どちらも環境変数で設定します。MCP クライアントの env ブロックに指定するか、--env NAME=VALUE を使います。
| 変数 | デフォルト | 説明 |
|---|---|---|
PIPESHUB_MCP_MAX_ATTEMPTS | 3 | リクエストあたりの試行回数。初回を含み、1 から 10 まで指定できます。1 にすると再試行は無効になります。 |
PIPESHUB_MCP_TIMEOUT_MS | 60000 | PipesHub が応答を開始するまで待機するミリ秒数。0 にするとタイムアウトは無効になります。 |
読み取り専用モード
書き込みを行うツールは pipeshub_create_collection と pipeshub_upload の 2 つです。これらはコレクションとドキュメントを追加します(削除や上書きは行いません)。このツールには kb:write と kb:upload のスコープが必要です。ローカルサーバーで読み取りツールのみを提供するには、start または serve に --scope read を渡します。リモートの /mcp では、これらのスコープを持たないトークンには書き込みツールが提供されません。
pipeshub_chat を含めない
サーバーは11種類すべてのツールを提供しており、指示とツールの説明では、エージェントにまず pipeshub_search と pipeshub_get_record_content を使って回答するよう案内しています。pipeshub_chat は PipesHub 独自のアシスタントを実行する任意のツールです。ツールを呼び出せるエージェントの場合、精度は向上せず、コストと時間が増えるだけです。PipesHub の評価(質問100件、エージェントに Claude Opus を使用)では、検索と読み取りだけで事実の88%を見つけ、費用は0.54ドル、回答あたりの中央値は78秒でした。チャットも追加した場合も見つかった事実は88%でしたが、費用は約0.73ドル、所要時間は97秒でした。詳しい数値は TOOLS.md をご覧ください。
選択しない限り、何も変わりません。デフォルトでは、すべてのツールが有効なままです。エージェントに検索と読み取りだけを使わせるには、チャット用にエージェントを選ぶだけの pipeshub_agents とともに、pipeshub_chat を含めないようにします。
-
ローカル stdio サーバー: MCP クライアントの設定にあるサーバーの
envブロックでPIPESHUB_MCP_CHAT=offを設定するか、startまたはserveに--env PIPESHUB_MCP_CHAT=offを渡します。これにより、サーバーがマウントするツールは9種類になり、指示にもチャットやエージェントへの言及がなくなります。未設定またはonの場合は現在の動作を維持します。それ以外の値を指定すると、受け付け可能な値を示すエラーでサーバーが停止します。"env": { "PIPESHUB_MCP_CHAT": "off" }ツールを1つずつ選ぶ場合は、残すツールを
--toolで指定します(例:--tool pipeshub_search --tool pipeshub_get_record_content)。--toolを指定しても指示は変わりません。 -
リモートエンドポイント(
/mcp): クライアント側でツールをオフにします。Claude Code では、pipeshubがサーバーに付けた名前の場合、claude --disallowedTools "mcp__pipeshub__pipeshub_chat,mcp__pipeshub__pipeshub_agents"を実行するか、同じエントリを.claude/settings.jsonのpermissions.denyリストに追加します。他のクライアントでは、MCP 設定にツールごとの切り替え機能があれば、それを使用します。
クライアントが独自のツールループを実行できない場合、PipesHub のアシスタントに回答を作成させたい場合、設定済みの PipesHub エージェントと対話したい場合、またはユーザーが接続したツールを通じて操作を実行したい場合は、pipeshub_chat を有効にしておきます。
仕組み
アーキテクチャ
AI Client (Cursor / Claude Code / Gemini CLI / Codex CLI / Claude.ai / LibreChat)
│
│ HTTP POST (JSON-RPC)
│ Authorization: Bearer <token>
▼
PIPESHUB_INSTANCE_URL/mcp
│
│ StreamableHTTP Transport
│ (stateless, per-request MCP server)
▼
PipesHub API (curated tool set — see TOOLS.md)
OAuth 保護リソースの検出
PipesHub は、次の場所で OAuth 保護リソースの検出機能を公開しています。
PIPESHUB_INSTANCE_URL/.well-known/oauth-protected-resource/mcp
ここから、すべての OAuth エンドポイントを自動的に取得できます。
- 認可:
PIPESHUB_INSTANCE_URL/api/v1/oauth2/authorize - トークン:
PIPESHUB_INSTANCE_URL/api/v1/oauth2/token - 失効:
PIPESHUB_INSTANCE_URL/api/v1/oauth2/revoke - JWKS:
PIPESHUB_INSTANCE_URL/.well-known/jwks.json
トラブルシューティング
「互換性のない認証サーバー:動的クライアント登録に対応していません」
これは、クライアントが事前設定済みの認証情報を使わず、動的登録を試みていることを意味します。--client-id と --client-secret(Claude Code)、または auth オブジェクト(Cursor)を正しく渡したことを確認してください。
認証に失敗する/リダイレクトエラー
- OAuth アプリの Redirect URI が、クライアントで使用される URI と完全に一致していることを確認してください。
- Cursor:
cursor://anysphere.cursor-mcp/oauth/callback - Claude Code:
http://localhost:<callbackPort>/callback - Claude.ai:
https://claude.ai/api/mcp/auth_callback - Gemini CLI:
http://localhost:7777/oauth/callback - LibreChat:
http://localhost:3080/api/mcp/<server-identifier>/oauth/callback
- Cursor:
- PipesHub で OAuth アプリが有効(停止されていない)であることを確認してください。
MCP エンドポイントに接続できない
- エンドポイントにアクセスできることを確認してください:
curl -X POST PIPESHUB_INSTANCE_URL/mcp(接続エラーではなく、401 が返るはずです) - PipesHub インスタンスで MCP が有効になっていることを確認してください。
MCP Inspector によるデバッグ
npx @modelcontextprotocol/inspector
次に、Bearer トークンを使って PIPESHUB_INSTANCE_URL/mcp に接続し、エンドポイントを直接テストしてください。
FAQ
MCP インテグレーションのスコープを更新するにはどうすればよいですか?
- PipesHub インスタンスの
MCP_SCOPES環境変数を更新し、クライアントに付与するスコープを含めます。検出では、MCP ツールが使用するスコープのみが一覧表示されます。 - PipesHub で OAuth アプリのスコープを更新します:Settings > Developer Settings > OAuth Apps に移動し、OAuth アプリを選択して、必要に応じてスコープを追加または削除します。
- クライアントを再認証します。既存のトークンには以前のスコープが含まれているため、更新後のスコープを含む新しいトークンを取得するには、再認証が必要です。例:
- Cursor:MCP サーバーを削除して再追加するか、キャッシュされた OAuth トークンを消去して再接続します。
- Claude Code:
/mcpを実行し、ブラウザーのログインフローをもう一度完了します。 - Gemini CLI:
/mcp auth pipeshubを実行して再認証します。 - Codex CLI:
PIPESHUB_BEARER_TOKENを新しいトークンに更新し、Codex を再起動します。 - Claude.ai:Settings > Connectors でコネクターを切断し、再接続します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
