ブラウザ使用のMCPサーバー
ブラウザ用のMCPサーバー。
概要
このリポジトリには、ブラウザ用ライブラリ用のサーバーが含まれています。このサーバーは、AIエージェントが自然言語を介してWebブラウザと対話できるようにする強力なブラウザ自動化システムを提供します。このサーバーはAnthropicのモデルコンテキストプロトコル(MCP)に基づいて構築されており、ブラウザ用ライブラリとのシームレスな統合を提供します。
特徴
- ブラウザコントロール
- 自然言語によるブラウザインタラクションの自動化
- ナビゲーション、フォーム入力、クリック、スクロール機能
- タブ管理とスクリーンショット機能
- クッキーと状態の管理
- エージェントシステム
- custom_agent.py でのカスタムエージェントの実装
- 視覚ベースの要素検出
- アクションに対する構造化されたJSONレスポンス
- メッセージ履歴の管理と要約
- 構成
- APIキーと設定の環境ベースの構成
- Chromeブラウザの設定(デバッグポート、永続性)
- モデルプロバイダーの選択とパラメータ
依存関係
このプロジェクトは次の Python パッケージに依存しています。
パッケージ | バージョン | 説明 |
---|---|---|
枕 | >=10.1.0 | Python インタープリターに画像処理機能を追加する Python Imaging Library (PIL) フォーク。 |
ブラウザの使用 | ==0.1.19 | AIエージェントが自然言語でウェブブラウザと対話できるようにする強力なブラウザ自動化システム。このプロジェクトのブラウザ自動化機能を支えるコアライブラリです。 |
ファスタピ | >=0.115.6 | Python 3.7以降で標準のPython型ヒントに基づいてAPIを構築するための、最新の高速(高パフォーマンス)ウェブフレームワークです。エージェントの機能を公開するサーバーの作成に使用されます。 |
ファストmcp | >=0.4.1 | MCP (Model Context Protocol) サーバーを構築するための FastAPI をラップするフレームワーク。 |
インストラクター | >=1.7.2 | OpenAIモデルを用いた構造化出力のプロンプトと検証のためのライブラリ。モデルの応答から構造化データを抽出できます。 |
ランチェーン | >=0.3.14 | 大規模言語モデル(LLM)を用いたアプリケーション開発のためのフレームワーク。異なる言語モデルコンポーネントを連結し、様々なAPIやデータソースと連携するためのツールを提供します。 |
langchain-google-genai | >=2.1.1 | Google GenAI モデル用の LangChain 統合により、LangChain フレームワーク内で Google の生成 AI 機能を使用できるようになります。 |
langchain-openai | >=0.2.14 | LangChainとOpenAIのモデルとの統合。LangChainフレームワーク内でOpenAIモデル(GPT-4など)の使用を可能にします。本プロジェクトでは、OpenAIの言語モデルおよびビジョンモデルとの連携に使用されます。 |
ランチェイン・オラマ | >=0.2.2 | Ollama の Langchain 統合により、LLM のローカル実行が可能になります。 |
オープンアイ | >=1.59.5 | OpenAI APIの公式Pythonクライアントライブラリ。OpenAIのモデルと直接やり取りするために使用します(必要に応じてLangChainに加えて)。 |
Python-dotenv | >=1.0.1 | .env ファイルからキーと値のペアを読み取り、環境変数として設定します。ローカル開発と構成管理を簡素化します。 |
ピダンティック | >=2.10.5 | Python型アノテーションを用いたデータ検証と設定管理。実行時の型強制と自動モデル作成機能を提供します。エージェント内で構造化データモデルを定義するために不可欠です。 |
パイパークリップ | 1.9.0以上 | クリップボードのコピーと貼り付け機能用のクロスプラットフォーム Python モジュール。 |
ウビコーン | >=0.22.0 | Python用のASGIウェブサーバー実装。FastAPIアプリケーションを提供するために使用されます。 |
コンポーネント
リソース
サーバーは、次のブラウザ自動化システムを実装します。
- 高度なブラウザ制御のためのブラウザ使用ライブラリとの統合
- カスタムブラウザ自動化機能
- 視覚機能を備えたエージェントベースのインタラクションシステム
- 永続的な状態管理
- カスタマイズ可能なモデル設定
要件
- オペレーティング システム (Linux、macOS、Windows。Docker または Microsoft WSL についてはテストしていません)
- Python 3.11以上
- uv (高速 Python パッケージ インストーラー)
- Chrome/Chromiumブラウザ
- クロードデスクトップ
クイックスタート
クロードデスクトップ
MacOS の場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows の場合: %APPDATA%/Claude/claude_desktop_config.json
Smithery経由でインストール
Smithery経由で Claude Desktop の Browser Use を自動的にインストールするには:
環境変数
主要な環境変数:
発達
設定
- リポジトリをクローンします。
- 仮想環境を作成してアクティブ化します。
- 依存関係をインストールします:
- サーバーを起動する
デバッグ
デバッグには、 MCP Inspectorを使用します。
インスペクターにはデバッグ インターフェイスの URL が表示されます。
ブラウザアクション
サーバーは自然言語によるさまざまなブラウザアクションをサポートします。
- ナビゲーション: URL に移動、戻る/進む、更新
- インタラクション: クリック、入力、スクロール、ホバー
- フォーム: フォームに入力し、送信し、オプションを選択します
- 状態: ページコンテンツを取得し、スクリーンショットを撮る
- タブ: タブの作成、閉じる、タブ間の切り替え
- 視覚: 視覚的な外観で要素を見つける
- クッキーとストレージ: ブラウザの状態を管理する
安全
Chromeの設定によっては、ブラウザをサーバー側で制御できるように設定されているものがあることにご注意ください。これはセキュリティリスクとなるため、注意して使用してください。このサーバーは本番環境での使用を想定していません。
セキュリティの詳細: SECURITY.MD
貢献
このプロジェクトへの貢献を歓迎します。以下の手順に従ってください。
- このリポジトリをフォークします。
- 機能ブランチを作成します:
git checkout -b my-new-feature
。 - 変更をコミットします:
git commit -m 'Add some feature'
。 - ブランチにプッシュします:
git push origin my-new-feature
。 - プルリクエストを送信します。
大きな変更については、まず問題を開いて変更内容についてご相談ください。変更内容を反映し、必要に応じてテストを更新してください。
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
AI エージェントが自然言語を使用して Web ブラウザーと対話できるようにします。自動ブラウジング、フォーム入力、ビジョンベースの要素検出、構造化された JSON 応答による体系的なブラウザー制御などの機能を備えています。
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- AsecurityAlicenseAqualityAI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.Last updated -11PythonMIT License
- -securityAlicense-qualityEmpowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.Last updated -4PythonApache 2.0
- -securityFlicense-qualityEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.Last updated -TypeScript