Skip to main content
Glama

Groundlane

English | 繁體中文

AIエージェントのための信頼できるWebアクセス層。

Groundlaneは、AIエージェントにパブリックWebへの制御されたアクセスを提供する、オープンソースでベンダーに依存しないリモートMCPサーバーです。検索、取得、決定的な抽出のための単一の安定したインターフェースを提供し、検索を置き換え可能なプロバイダーにルーティングし、困難なMarkdown読み取りは、隔離されたローカルまたはBrowserlessブラウザーを使用する前に、オプションのJina Readerを通じてエスカレーションします。

[!IMPORTANT] Groundlaneは初期プレビュー版です。ツール契約とデプロイメントモデルはまだ進化中です。現在のリリースをホスト型サービスや普遍的なアンチボット回避手段として扱わないでください。

Groundlaneを選ぶ理由

  • モデルに依存しない: モデルベンダーの組み込みWebツールに依存する代わりに、任意のStreamable HTTP MCPクライアントを接続できます。

  • プロバイダーに依存しない: 毎月無料枠が繰り返し付与される検索APIを、1つの正規化された結果契約の背後でルーティングできます。

  • HTTPファースト、必要なときだけブラウザー: 通常の読み取りは高速に保ち、ChromiumはJavaScript、待機条件、サポートされているフォールバックシグナル用に予約します。

  • 決定的な抽出: CSSセレクターでフィールドを選択し、暗黙のLLMステップなしで構造化JSONを受け取ります。

  • セキュリティファースト: MCPエンドポイントを認証し、URL、リダイレクト、ネットワーク、期限、バイト数、出力、同時実行数の制限を適用します。

  • 自己管理型デプロイメント: Cloudflare WorkersやContainersを含む、自身の環境でコントロールプレーンとブラウザーワークロードを実行できます。

Related MCP server: Wick

MVPツール

ツール

目的

現在のスコープ

web_fetch

URLをMarkdown、テキスト、またはHTMLとして取得

制限付きHTTP、オプションのJina Reader、その後のブラウザーフォールバック

web_search

設定済みプロバイダーを通じて検索

7つのプロバイダー間の明示的または自動ルーティング

web_extract

ページから名前付きフィールドを抽出

CSSセレクター; テキスト、HTML、または属性値

ブラウザー自動化はGroundlane Browserと呼ばれる内部実装の詳細です。GroundlaneはMVPでは永続的なブラウザーセッションを公開しません。

クイックスタート

前提条件

  • Node.js 22以降

  • pnpm 10

  • ブラウザーフォールバック用のChromium

  • web_searchを使用する場合は、サポートされている月間無料検索プロバイダーキーが少なくとも1つ(Tavily、Exa、Parallel、Browserbase、Brave、Firecrawl、またはSerpApi)

ローカルで実行

このリポジトリをクローンして、次を実行します:

pnpm install
pnpm exec playwright install chromium
cp .env.example .env
set -a
source .env
set +a
pnpm dev

.envに強力なGROUNDLANE_AUTH_TOKENを設定します。検索を有効にするには、サポートされているプロバイダーキーを1つ以上追加します。ローカルサーバーは設定されたPORTでリッスンし、以下を提供します:

  • POST /mcp — 認証付きStreamable HTTP MCPエンドポイント

  • GET /healthz — プロセスの生存確認

  • GET /readyz — Containerの到達可能性とサービス設定の準備完了確認

MCPクライアントを接続

サーバーURLとベアラートークンを指定して、Streamable HTTP MCPクライアントを設定します。クライアント設定の形式は異なりますが、接続値は次のとおりです:

URL: http://localhost:8080/mcp
Authorization: Bearer <GROUNDLANE_AUTH_TOKEN>

トークンをクエリ文字列に入れたり、ソース管理にコミットしたりしないでください。

サーバーが実行されている状態で、別のシェルを開き、同じ.envを読み込んで、MCPハンドシェイクとパブリックHTTPパスを検証します:

set -a
source .env
set +a
pnpm smoke

ブラウザーパスを含めるには、GROUNDLANE_SMOKE_BROWSER=1を設定します。

設定

Groundlaneは環境変数から設定を読み取ります。完全なローカルテンプレートについては.env.exampleを参照してください。

変数

目的

デフォルト/例

GROUNDLANE_AUTH_TOKEN

/mcpで必要なベアラートークン

必須

SEARCH_PROVIDER_ORDER

自動ルーティングの候補(順序付き)

tavily,exa,parallel,browserbase,brave,firecrawl,serpapi

SEARCH_MONTHLY_REQUEST_BUDGETS

インスタンスごとのプロバイダー試行上限。毎月UTCでリセット

控えめな無料プランのデフォルト

TAVILY_API_KEY

Tavilyアダプターの認証情報

オプション

EXA_API_KEY

Exaアダプターの認証情報

オプション

FIRECRAWL_API_KEY

Firecrawl Searchアダプターの認証情報

オプション

SERPAPI_API_KEY

SerpApi Google Searchアダプターの認証情報

オプション

BROWSERBASE_API_KEY

Browserbase Searchアダプターの認証情報

オプション

PARALLEL_API_KEY

Parallel Searchアダプターの認証情報

オプション

BRAVE_API_KEY

Brave Searchアダプターの認証情報

オプション

READER_BACKEND

Markdown Readerフォールバック: disabledまたはjina

デフォルトはdisabled

BROWSER_BACKEND

ブラウザー機能: disabled、local、またはbrowserless

デフォルトはdisabled; ローカルテンプレートはlocalを使用

BROWSERLESS_TOKEN

Browserless /contentの認証情報

browserlessの場合のみ必須

BROWSERLESS_REGION

Browserlessエンドポイントのリージョン: sfo、lon、またはams

sfo

REQUEST_TIMEOUT_MS

エンドツーエンドのリクエスト期限

ローカルでは30000

MAX_RESPONSE_BYTES

アップストリーム応答の最大バイト数

ローカルでは2000000

MAX_OUTPUT_CHARS

返されるテキストの最大文字数

ローカルでは100000

MAX_CONCURRENCY

アクティブなリクエストの最大数

ローカルでは4

MAX_QUEUE

キューに入るリクエストの最大数

ローカルでは16

検索認証情報がなくても、web_fetchやweb_extractは動作します。ただし、対応する検索プロバイダーは利用できなくなります。

月間予算は、再試行可能な失敗を含むプロバイダーへの試行リクエストをカウントし、実行中のGroundlaneインスタンスが設定された上限に達した後にプロバイダーを選択するのを防ぎます。これらは意図的に控えめに設定されていますが、請求の真実ではありません。Containersは再起動され、複数のインスタンスはカウンターを共有せず、一部のプロバイダーは変動するクレジットを請求します。プロバイダー側の支出制限を有効にしたまま、実際のプランに合わせて予算を上書きしてください。

アーキテクチャ

MCP client
    |
    v
Cloudflare Worker / Node HTTP edge
    |  authentication, limits, request identity
    v
tool registry
    |-- web_search  -> monthly-free provider router (7 adapters)
    |-- web_fetch   -> safe HTTP -> optional Jina Reader -> browser fallback
    `-- web_extract -> fetch pipeline -> deterministic DOM extraction

コアポリシーと契約は、プロバイダーやブラウザーランタイムに依存しません。アダプターは狭いインターフェースの背後に配置されます。ブラウザーバックエンドは、ContainerローカルのPlaywrightまたはBrowserless /contentにすることができます。engineおよびbackend出力フィールドは、公開されているMCPツールを変更せずに、どのパスが結果を生成したかを開示します。ホスト型バックエンドは要求されたパブリックURLを受け取るため、黙示のデフォルトではなくオプトインになります。

コンポーネントの境界、リクエストフロー、設計上の決定については、Architectureをお読みください。

セキュリティ

Web取得はSSRFに敏感な機能です。Groundlaneは、ユーザーURL、リダイレクト、ブラウザーのサブリソース、検索プロバイダーURLを信頼できないものとして扱います。デプロイメントでは、認証を有効にし、アウトバウンドネットワークポリシーを使用し、デフォルトのリソース制限を維持する必要があります。

このプロジェクトは、普遍的なCAPTCHA解決、目に見えない自動化、または取得を許可されていないコンテンツへのアクセスを約束するものではありません。オペレーターは、ターゲットサイトの利用規約、robotsポリシー、プライバシー義務、および適用される法律に対して責任を負います。

セキュリティモデルと非公開の脆弱性報告プロセスについては、SECURITY.mdを参照してください。

デプロイメント

想定される本番トポロジーは、Cloudflare Workerをパブリックコントロールプレーンとして、Cloudflare ContainerをNode/Playwrightブラウザーワークロードとして使用します。前提条件、シークレット、デプロイメント手順、検証については、Deploying on Cloudflareを参照してください。

ロードマップ

  • ベンダーに依存しないweb_fetch、web_search、決定的なweb_extractサーフェスを定義

  • 出所情報付きのオプトインJina ReaderおよびBrowserless取得バックエンドを追加

  • MCP契約を安定化し、互換性フィクスチャを公開

  • Cloudflare Worker + Containerデプロイメントと運用テレメトリーを強化

  • キャッシュアダプターとプロバイダーの健全性/コストを考慮したルーティングを追加

  • 明示的な予算付きのオプトインバッチ/クロールプリミティブを追加

  • ステートフルブラウザーセッションを、ライフサイクル安全な別の機能として評価

ロードマップは方向性を示すものであり、リリースの約束ではありません。現在のスコープの根拠となる証拠については、研究アーカイブを参照してください。

ドキュメント

コントリビューション

Issueとプルリクエストを歓迎します。コントリビュートする前に、CONTRIBUTING.mdと行動規範をお読みください。セキュリティの脆弱性は、SECURITY.mdに記載されているように非公開で報告する必要があります。

ライセンス

GroundlaneはApache License 2.0の下でライセンスされています。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that enables AI assistants to fetch web content in multiple formats (HTML, JSON, text, Markdown) with intelligent content extraction, chunk management, and browser automation support.
    6
    658 npm
    15
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides browser-grade web access for AI agents, using Chrome's actual network stack to bypass anti-bot protections and return clean markdown.
    9
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A public MCP server that lets AI agents read live web pages as clean Markdown, with tools to fetch, search, extract metadata, and extract links from URLs.
    1
    MIT