PassportMCP について
PassportMCP(ppmcp)は、任意のウェブサイト向けの MCP サーバーを構築する Python SDK で、ブラウザの認証状態を自動で同期します。公開 API がないサイトや、レート制限を避けたい場合に適し、認証情報はローカルマシンに保存されます。
主な機能
- 01ブラウザの認証状態の自動同期
- 02FastMCP ベースのツール作成
- 03Cookie とヘッダーの自動付与
- 04BrowserPassport HTTP クライアント
- 05認証情報のローカル保存
活用シーン
- 01公開 API のないサイト向け MCP ツールの構築
- 02有料の開発者 API を使わずログイン済みサイトへアクセス
- 03BrowserPassport による認証付き HTTP リクエストの送信
MCP 対応
本プロジェクトは MCP サーバーを構築するもので、生成されたサーバーはブラウザの Cookie とヘッダーを送信リクエストに付与し、MCP クライアントから呼び出せるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PassportMCP
PassportMCP(ppmcp)を使うと、ブラウザーの認証情報を自動で同期し、あらゆるウェブサイト向けの MCP サーバーを構築できます。どのウェブサイトでも利用できます。FastMCP をラップし、ブラウザーの認証ヘッダーや Cookie を自動的に送信リクエストに追加します。ブラウザーからログインするだけで、すぐに使用できます。開発者向け API(例:twitter/X)への支払い、レート制限、承認待ちを避けたい場合や、API がないサイトで利用したい場合にも便利です。
MCP サーバーを構築する予定がない場合は、超軽量の BrowserPassport HTTP クライアントを利用できます!下にスクロール
特長
- 🔐 ブラウザーの認証情報を自動同期
- 🛠️ 通常の MCP ツール作成
- 🌐 あらゆるウェブサイトで動作
- 🔄 常に最新の認証状態を使用
- 🍪 Cookie とヘッダーに対応
- 🔒 すべての認証情報をお使いのマシン内に保持
クイックスタート
- パッケージをインストール
pip install ppmcp
- ネイティブメッセージングと認証同期を設定
ppmcp setup # Sets up with Chrome Web Store extension
-
リクエストの監視を有効化
- Chrome の PassportMCP 拡張機能アイコンをクリックします
- 「Monitor Requests」をオンにします
- 対象のウェブサイトにアクセスしてログインします
-
最初の MCP ツールを作成
from passportmcp import PassportMCP
# Create an MCP instance
mcp = PassportMCP("example", "example.com")
# Define a tool
@mcp.tool()
async def get_data():
response = mcp.client.get("https://example.com/api/data")
return response.json()
インストール方法
方法 1:Chrome ウェブストアの拡張機能(推奨)
pip install ppmcp
ppmcp setup
方法 2:ローカル開発
- 拡張機能をビルド
git clone https://github.com/joshmayerr/passport-mcp.git
cd extension
npm install
npm run build # or npm run dev for watch mode
-
Chrome に読み込む
- Chrome を開き、
chrome://extensionsにアクセスします - 右上の「Developer mode」を有効にします
- 「Load unpacked」をクリックし、
extension/distディレクトリを選択します - Chrome に表示される拡張機能 ID(拡張機能名の下に表示)を控えます
- Chrome を開き、
-
ネイティブメッセージングを設定
ppmcp setup --local --extension-id=your_extension_id
# OR
ppmcp setup --local # You'll be prompted for the ID
CLI コマンド
ppmcp setup- ネイティブメッセージングを設定ppmcp doctor- インストール状態を確認ppmcp uninstall- PassportMCP を削除
仕組み
PassportMCP は、主に次の 3 つのコンポーネントで構成されています。
-
Chrome 拡張機能
- ウェブリクエストを監視
- 認証状態を取得
- ネイティブホストに送信
-
ネイティブホスト
- 拡張機能からデータを受信
- 認証状態を保存
- SDK にデータを提供
-
SDK
- PassportMCP:高レベルの MCP ツール作成
- BrowserPassport:低レベルの認証処理
高度な例:LinkedIn API
from passportmcp import PassportMCP
mcp = PassportMCP("linkedin", "linkedin.com")
@mcp.tool()
async def search_linkedin(query: str):
response = mcp.client.get(
"https://www.linkedin.com/voyager/api/graphql",
params={
"includeWebMetadata": "true",
"variables": "()",
"queryId": "voyagerDashMySettings.7ea6de345b41dfb57b660a9a4bebe1b8"
}
)
return response.json()
BrowserPassport HTTP クライアント
MCP ツールを必要としない、よりシンプルな用途では、軽量な BrowserPassport HTTP クライアントを直接使用できます。
from passportmcp import BrowserPassport
# Initialize the client
client = BrowserPassport()
# Make authenticated requests
response = client.get("https://api.example.com/data")
data = response.json()
特長
- 🔄 ブラウザーから認証情報を自動注入
- 🌳 パスベースの認証情報継承
- 🛠️ すべての HTTP メソッドに対応(GET、POST、PUT、DELETE)
- 🔒 認証情報をローカルに保存
- 🚀 最新の HTTP 機能を備えた
httpx上に構築
高度な使い方
# Custom configuration
client = BrowserPassport(
storage_path="~/custom/path/creds.json",
timeout=60.0,
verify=True # SSL verification
)
# Custom headers/cookies (override stored ones)
response = client.post(
"https://api.example.com/data",
headers={"Custom-Header": "value"},
cookies={"custom_cookie": "value"},
json={"key": "value"}
)
セキュリティ
- ✅ 認証情報がマシンの外部に出ることはありません
- ✅ クラウドへの保存や送信はありません
- ✅ 許可されたドメインのみに制限
- ✅ LLM が認証情報を見ることはありません
クラウド上でアカウントを自動操作する Anon や Rabbit などのサービスとは異なり、PassportMCP はすべての処理をローカルで行い、安全に保ちます。
開発
SDK の開発については、次を参照してください。
cd sdks/python
pip install -e .
プロジェクト構成
passport-mcp/
├── extension/ # Chrome extension
├── sdks/
│ ├── python/ # Python SDK
│ └── typescript/ # TypeScript SDK (coming soon)
└── shared/
└── native-host/ # Native messaging host
ロードマップ
- TypeScript SDK
- Firefox 拡張機能
- Safari 拡張機能
- 認証状態の共有
- エンタープライズ機能
- 他の言語向け SDK
ライセンス
MIT License。詳細はLICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。