mcpField
P
pline.ai

pline.ai

ローカル
github.comブラウザ自動化10今日更新

pline.ai について

pline.ai は、ホスト型 API に接続してウェブデータを扱う MCP サーバーです。MCP クライアントがローカルで起動し、ユーザーの API キーを使って HTTPS 経由でリクエストします。

主な機能

  1. 01ページのスクレイピングと内容抽出
  2. 02一括スクレイピングとジョブ管理
  3. 03サイトのクロールと URL 検出
  4. 04サイトマップ作成とウェブ検索
  5. 05結果の保存と成果物のダウンロード

活用シーン

  1. 01単一ページの内容抽出
  2. 02複数ページの一括処理
  3. 03サイト内の関連 URL の発見
  4. 04後続分析に向けたウェブ検索

MCP 対応

スクレイピング、一括スクレイピング、クロール、サイトマップ作成、検索のツールを MCP クライアントに提供します。クライアントは stdio でローカルサーバーを起動でき、Streamable HTTP モードも利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"grepsr-pline-api": {
"command": "npx",
"args": [
"-y",
"pline-api"
],
"env": {
"PLINE_BASE_URL": "<PLINE_BASE_URL>",
"PLINE_API_KEY": "<PLINE_API_KEY>"
}
}
}
}
起動コマンドnpx -y pline-api
設定が必要な環境変数
PLINE_BASE_URLpline.ai API base URL. Optional; defaults to https://apix.pline.ai/v1.
PLINE_API_KEYシークレットYour own pline.ai API key. Sent to the API as the x-api-key header.

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

パッケージ
npmpline-api0.3.10
ocighcr.io/grepsr/pline-mcp:0.3.10

ツール

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

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

詳細

pline.ai MCP サーバー

この MCP サーバーをご自身のマシンで実行すると、ホストされている pline.ai API を通じて、ページのスクレイピング、サイトのクロール、URL の検出、検索ができます。各ユーザーがそれぞれ自分の API キーを用意します。

Your MCP client → local MCP process (stdio) → hosted pline.ai API (HTTPS)

スクレイピングのバックエンドは pline.ai のインフラストラクチャ上で稼働します。オーケストレーター、ブラウザーフェッチャー、Redis、Temporal をローカルで実行する必要はありません。

npx で実行する

サーバーは pline-api として npm に公開されています。これは、オプションの依存関係から使用中のプラットフォーム向け(macOS arm64/x64、Linux x64/arm64、Windows x64)のビルド済みバイナリを選択する小さなランチャーです。該当するものがない場合は、チェックサムを検証したうえで GitHub Release からダウンロードします。必要なのは Node.js 18+ だけです。

{
  "mcpServers": {
    "pline.ai": {
      "command": "npx",
      "args": ["-y", "pline-api"],
      "env": {
        "PLINE_BASE_URL": "https://apix.pline.ai/v1",
        "PLINE_API_KEY": "your-own-api-key"
      }
    }
  }
}

引数はバイナリにそのまま渡されます(npx -y pline-api --http 127.0.0.1:8080)。PLINE_MCP_BINARY=/path/to/pline-mcp を指定すると、ランチャーはご自身でビルドしたバイナリを実行します。ランチャーのソースは ../npm にあり、プラットフォームごとのパッケージ名は pline-api-<os>-<cpu> です。

ビルド済みバイナリをインストールする

プラットフォーム別のダウンロードとチェックサムの手順については、リポジトリのセットアップガイドを参照してください。pline-mcp(Windows では pline-mcp.exe)を展開し、以下の絶対パスを使って MCP クライアントを設定します。ビルド済みバイナリをインストールする場合、Rust、Cargo、リポジトリのチェックアウトは不要です。

Docker イメージを実行する

各リリースは、マルチプラットフォームイメージとして ghcr.io/grepsr/pline-mcp(linux/amd64 および linux/arm64)にも公開されています。これは、MCP Registry のエントリー io.github.grepsr/pline-api が参照するパッケージです。Docker をインストールすると、MCP クライアントはバイナリをダウンロードせずに、stdio 経由でサーバーを実行できます。

{
  "mcpServers": {
    "pline.ai": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "PLINE_BASE_URL", "-e", "PLINE_API_KEY",
               "ghcr.io/grepsr/pline-mcp:0.3.9", "--stdio"],
      "env": {
        "PLINE_BASE_URL": "https://apix.pline.ai/v1",
        "PLINE_API_KEY": "your-own-api-key"
      }
    }
  }
}

値を指定せずに -e NAME とすると、クライアントから渡された環境変数がコンテナに引き継がれるため、キーがコマンドラインに表示されることはありません。イメージは非特権ユーザーとして実行され、ファイルシステムにはアクセスできないため、ボリュームをマウントしない限り save_dir と download_dir は使用できません。タグにはリリースバージョンを指定してください。latest は更新されます。同じイメージで、--stdio を指定せずに起動すると Streamable HTTP も利用できます。

docker run --rm -p 8080:8080 -e PLINE_BASE_URL=https://apix.pline.ai/v1 ghcr.io/grepsr/pline-mcp:0.3.9

Git からビルドする

Git、Cargo を含む最新の安定版 Rust ツールチェーン、API キーが必要です。PLINE_BASE_URL で上書きしない限り、サーバーは公開 API https://apix.pline.ai/v1 を呼び出します。

リポジトリのルートから実行します。

git clone https://github.com/grepsr/pline-api.git
cd pline-api
cargo build --manifest-path mcp-server/Cargo.toml --release --locked
cp .env.example .env

.env に API URL とご自身のキーを設定し、MCP クライアントを起動する前に読み込みます。

set -a
. ./.env
set +a

これらの環境変数読み込みコマンドは POSIX シェル向けです。他のプラットフォームでは、シェルまたは MCP クライアントの設定で同じ 2 つの環境変数を設定してください。サーバーは .env を自動的に読み込みません。このファイルは Git の追跡対象外です。

PLINE_BASE_URL は任意で、デフォルトは公開 API の https://apix.pline.ai/v1 です。内部デプロイ用のアドレスには、ユーザーのマシンからアクセスできません。

MCP クライアントに接続する

mcpServers JSON 設定を使うクライアントでは、以下のエントリーを追加します。バイナリのパス、API URL、キーはご自身の値に置き換えてください。Windows の場合、バイナリには .exe 拡張子が付きます。

{
  "mcpServers": {
    "pline.ai": {
      "command": "/absolute/path/to/pline-mcp",
      "args": ["--stdio"],
      "env": {
        "PLINE_BASE_URL": "https://apix.pline.ai/v1",
        "PLINE_API_KEY": "your-own-api-key"
      }
    }
  }
}

クライアントが任意の作業ディレクトリから起動できるように、バイナリには絶対パスを指定してください。ソースからビルドした場合、実行ファイルはチェックアウト内の mcp-server/target/release/pline-mcp にあります。実際の認証情報は、コミットする設定ファイルではなく、ローカルのクライアント設定に保存してください。

リポジトリのルートから起動した Claude Code では、ルートにある .mcp.json が Cargo 経由でサーバーを実行し、シェルから 2 つの環境変数を展開します。最初のリリースビルドには時間がかかることがあります。あらかじめビルドしておくと、クライアントの接続時に待たずに済みます。

MCP クライアントが stdio プロセスを起動して管理します。HTTP リスナーを起動したり、ポートを公開したりする必要はありません。ログは stderr に出力されます(詳細を表示するには RUST_LOG=debug を指定します)。

更新

ビルド済みのものをインストールしている場合は、新しいアーカイブをダウンロードしてチェックサムを検証し、実行ファイルを置き換えてください。 ソースからビルドする場合:

git pull --ff-only
cargo build --manifest-path mcp-server/Cargo.toml --release --locked

再ビルドしたバイナリを読み込むには、MCP クライアントを再起動するか、再接続してください。

ツール

ツールエンドポイント
scrapePOST /scrape
batch_scrape_start / batch_scrape_status / batch_scrape_cancel/batch/scrape
crawl_start / crawl_status / crawl_cancel/crawl
map_sitePOST /map
searchGET /serp
sessions_listローカル:この呼び出し元用に記憶されたホストとセッションの対応表

ツールの結果には、構造化された JSON が含まれます。API エラーでは、HTTP ステータスとサービスの detail メッセージが返されます。クライアントは、設定された API に x-api-key としてキーを送信します。

scrape は、プロセスの実行中、呼び出し元とホストごとにセッションを記憶します。同じホストへの 2 回目のスクレイプでは、 session_id を渡すか new_session=true を設定しない限り、同じセッションが再利用されます。同じホストへのスクレイプはローカルで順次実行されます。記憶されたセッションで 4xx レスポンスが返された場合、そのセッションは破棄され、次回の呼び出しでは使用されません。

stdio では、save_dir を指定するとスクレイプ結果がローカルファイルシステムに書き込まれ、パスが返されます。指定しない場合、 結果は max_chars(デフォルトは 60000)で切り詰められ、切り詰められたフィールドは truncated_outputs に一覧表示されます。 stdio では、ステータスツールを使って完了したジョブの成果物をローカルの download_dir にダウンロードできます。 save_dir または download_dir を指定した HTTP リクエストは、API に接続する前に拒否されます。

使用方法のガイダンスは pline://guide、API フィールドと制約事項は pline://reference を参照してください。 ドキュメントは docs/guide.md と docs/reference.md でもご覧いただけます。

ホスト型 OAuth 接続

リモート MCP エンドポイントでは、エージェントのユーザー全員に API キーを貼り付けてもらう代わりに、Pline のサインインを利用できます。 サインイン後、各ユーザーはワークスペースと有効な API キーを選択します。Pline の Web アプリとホストを設定するには、 docs/oauth-hosting.md に従ってください。

設定

実行ファイルは pline-mcp で、公開 MCP ID は pline.ai です。 ローカルで stdio を使用するには、PLINE_BASE_URL と PLINE_API_KEY を設定してください。 HTTP モードでは、PLINE_MCP_HTTP_ADDR でリスナーのアドレスを設定し、 PLINE_MCP_ALLOWED_HOSTS に許可するホストをカンマ区切りで指定します。OAuth モードでは、 PLINE_PLATFORM_BASE_URL(Pline Web アプリのオリジン)、PLINE_SUPABASE_URL(Supabase プロジェクトのオリジン)、 PLINE_MCP_PUBLIC_URL(公開 MCP のオリジン)も使用します。

このサーバーの掲載先

このサーバーは公式 MCP Registry に io.github.grepsr/pline-api として公開されており、上記の npm パッケージと GHCR イメージがパッケージとして登録されています。また、リポジトリのルートは Claude Code プラグイン(pline-ai)としてインストールでき、npm パッケージを実行します。ルートにある .cursor/mcp.json と .vscode/mcp.json は、Cursor と VS Code のワークスペース向けに npx -y pline-api を設定します。PUBLISHING.md では、それぞれの掲載方法と最新状態を保つ方法について説明しています。

HTTP モード

バイナリは Streamable HTTP もサポートしており、たとえばローカルのトランスポート開発に利用できます。

PLINE_BASE_URL=https://apix.pline.ai/v1 \
  ./mcp-server/target/release/pline-mcp --http 127.0.0.1:8080

/health は稼働状況を報告します。/mcp は、Authorization: Bearer または x-api-key を通じて呼び出し元の API キーを受け付けます。従来の /<key>/mcp ルートも ありますが、認証情報が URL やアクセスログに含まれます。サーバーは stdio の環境変数キーを 使用せず、呼び出し元ごとのキーを転送します。プラットフォームと OAuth 環境変数が設定されて いる場合は、Supabase OAuth アクセストークンも受け付けます。ユーザーは Pline の OAuth 同意 画面で有効なワークスペース API キーを選択し、サーバーは認証済みの Pline プラットフォームを 通じて各リクエストのキーを解決します。MCP プロセスは共有 API キーを保持しません。

Supabase OAuth 2.1 では、動的クライアント登録を有効にし、認可 UI のパスとして /oauth/consent を設定してください。ホスト型エンドポイントを有効にする前に、 pline-hades-api-service リポジトリから uv run alembic upgrade head を実行して API サービスのマイグレーションを適用してください。

HTTP トランスポートはステートレスです。Mcp-Session-Id は発行されず、単独の GET ストリームと DELETE セッションリクエストは 405 を返します。各 POST はそれぞれの API キーを 使用します。記憶されたスクレイプセッションも、そのキーにスコープされます。HTTP モードでは、 セッションのリプレイと MCP キャンセル通知はサポートされません。上記の Git インストールでは stdio を使用します。

開発

mcp-server/ から実行します。

cargo test --locked
cargo clippy --locked --all-targets --all-features -- -D warnings
cargo fmt --check

ガイドとリファレンスは include_str! で埋め込まれています。編集後は再ビルドしてください。

コメント

MCP は初めてですか?

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

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