mcpField
T
Taprun

Taprun

リモート
taprun.devブラウザ自動化1811 週間前に更新
リポジトリ公式サイト

Taprun について

Taprunはブラウザー操作を決定論的な`.flow.json`プログラムに変換し、繰り返し実行しながらサイトの変化を検出します。ログインが必要なサイトや例外の多い処理を、ユーザーのブラウザーまたはPlaywrightで扱うエージェント向けです。

主な機能

  1. 01ブラウザー操作を`.flow.json`にコンパイル
  2. 02コンパイル済みプログラムの決定論的な再実行
  3. 03スナップショットでサイトの変化を検出
  4. 04ChromeまたはPlaywrightで実行
  5. 05ウェブサイトの読み取り、書き込み、監視
  6. 06オンデマンドで自動化を作成

活用シーン

  1. 01ウェブサイトから情報を抽出
  2. 02ログイン後のブラウザーワークフローを自動化
  3. 03サイトの構造変化を監視
  4. 04実行ごとのLLMトークン消費なしでブラウザー操作を反復

MCP 対応

対応するMCPホストからブラウザー自動化を作成するためのMCPサーバーを提供します。コンパイル済みプログラムはブラウザーランタイムで実行され、再実行のたびにLLMを必要としません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.taprun.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@taprun/cli0.29.2
pypitaprun0.29.2

ツール

4
パラメーター型必須説明
urlstringいいえ
intentstringいいえ

詳細

Taprun

Taprun

エージェントがログイン済みの自分のブラウザーで操作するアクションレイヤーです。クリーンな API では対応できない、例外が多くコンプライアンスが重要な最後の 20%を担います。一度コンパイルすれば、LLM トークンを消費せず、何度でも再生できます。

ホームページ  |  ブログ  |  検証済みの主張  |  📬 ドリフトアラート  |  中文

CI リリース スター ライセンス Chrome ウェブストア

Taprun:AI が Hacker News の tap を 0.42 ドルで一度コンパイルし、その後は実行ごとに 0 ドルで何度でも再生します


ブラウザー向けの、エージェントのクローズドループ型アクションレイヤーです。クリーンな API やクラウドエージェントでは対応できない、ログイン必須で例外が多く、コンプライアンスが重要な最後の 20%を担います。自分の Chrome で操作し、一度記録すれば、LLM トークンを消費せず何度でも再生できます。

API が壁に阻まれ、従量課金されるようになるにつれて、残された作業はログイン、OTP の壁、人間のジェスチャーを必要とするゲートの向こう側にあります。つまり、クラウドエージェントではアーキテクチャ上対応できない例外処理、承認、コンプライアンス手順です。Taprun は、まさにそのためのアクションレイヤーです。エージェントが実際にログイン済みの自分の Chrome を操作してループを完了し(操作 → 効果を検証 → ドリフト時に再実行)、自分で管理できる決定論的なリプレイを生成します。

ほかのブラウザーエージェントはすべて、実行のたびにライブ LLM を再実行し、トークンを再び消費します。Taprun の AI エージェントはページを一度だけ調べて、決定論的な .flow.json プログラムを生成します。それ以降のリプレイはすべて純粋なデータのディスパッチとなり、毎回同じ結果が得られ、トークン消費は 0 ドルで、エージェントは介在しません。実際の Chrome で動作するため、設計上、Cookie とログインセッションは自分のマシン上にとどまります。tap verify が破損を検出し、データが古くなる前に知らせます。

Claude Code、CodeBuddy、Cursor、Cline、Windsurf、およびあらゆる MCP ホストで利用できます。チャットウィンドウから直接インストールできます。カタログは不要で、任意の URL から必要に応じて tap を作成できます。

Capture: AI inspects the site → compiles a .flow.json program     (one-time cost)
Run:     The program executes instantly, same result every time   ($0, zero AI)
Verify:  tap verify checks the snapshot equivalence predicate     (catches drift)
Repair:  re-run capture against the same site/name; the next      (only when needed)
         verify rebaselines after human review

Taprun の比較

TaprunAI ブラウザーエージェント従来のスクレイパー
1 回の実行あたりの AI コスト$0(1 回コンパイルするだけ)実行のたびにトークンを消費無料
正確性決定論的実行ごとに変動決定論的
サイレントな失敗の検出タップごとの CEL snapshot_equivalent 述語 + 4 種類の判定なしなし
故障の診断tap verify — 変更箇所の正確な差分なし手動でのスポットチェック
検出リスク低い(実際のブラウザーセッション)高い高い
ランタイム2(Chrome 拡張機能 + Playwright)11
コードの検査可能性.flow.json — プレーンな JSON、18 個の操作からなる閉じた語彙、git diffブラックボックス/一時的壊れやすいスクリプト
MCP ネイティブはい(作成レイヤーのみ — 実行時のトークン消費はゼロ)いいえいいえ

はじめに

1. チャットウィンドウからエージェントに接続する

Claude Code / CodeBuddy — チャットに 2 行貼り付けるだけで、ほかには何も必要ありません。

/plugin marketplace add LeonTing1010/taprun
/plugin install tap@taprun

これにより、Taprun MCP サーバーに加えて、エージェントに使用タイミングを教えるスキルと、ウォールでブロックされた fetch を Taprun に振り分けるフックがインストールされます。ターミナルも設定ファイルも不要です。(CodeBuddy は起動時にのみプラグイン MCP サーバーを接続するため、インストール後に一度完全に再起動してください。Claude Code では /reload-plugins で読み込めます。)

その他の MCP ホスト(Cursor · VS Code · Claude Desktop)— コマンドを 1 つ実行するだけで、設定が書き込まれます。

npx -y @taprun/cli embed cursor   # or: vscode | claude-desktop | claude-code | codebuddy | qwen

バイナリは ~/.tap/bin に自動コピーされ、エージェントの MCP 設定が書き込まれます。tap embed --verify でいつでも確認できます。

この一覧にないコーディングエージェントを使っていますか? tap embed のターゲットはコードではなくデータです。~/.tap/embed-targets.json に行を追加すれば、新しいエージェントをすぐに使えます。エンジンのリリースは不要です。各行では、4 種類のインストール種別(Claude Code プラグイン対応ホスト用の cc-plugin、<cli> mcp add を備えた CLI 用の cli-mcp-add、ide-deeplink、desktop-bundle)のいずれかを指定します。例:[{"id":"kode","kind":"cc-plugin","display":"Kode CLI","tier":1,"cli":"kode"}]。Taprun のほかの部分と同じ方針です。エンジンは閉じたまま機械的に動作し、ローカルデータで拡張できます。

次にランタイムを選びます。拡張機能が必要なのは、現在ログイン中の Chrome をそのまま再利用する場合のみです。

  • 公開ページ/オープン API/CI — 追加のインストールは不要です。 MCP サーバーは npx 経由で動作するため、これで完了です。--no-extension を追加すると、専用の分離プロファイルを使った、完全にチャット内で完結する Playwright ランタイムになります(ブラウザー上の操作もクリックも不要です)。
  • ログインが必要なサイト(銀行/社内ダッシュボード/小紅書/知乎)— チャット内でエージェントに 「ログインが必要なサイト用に tap をセットアップして」と伝えるだけです。tap-setup スキルがチャットからブリッジ全体を設定します。エンジンがすでに npx でダウンロードした安定版バイナリを配置し(2 回目のダウンロードは不要)、ネイティブメッセージングのマニフェストを登録してから、拡張機能ページを開きます。必要な手順のうち、唯一チャット内で完結しないのは、Add to Chrome を 1 回クリックすることです。これは Taprun が既存のログイン状態を再利用するための信頼確認ゲートであり、完了すると処理中の呼び出しが自動的に再開します。
  • Claude Desktop:tap.mcpb をダウンロードし、ダブルクリックします。
その他のインストール方法(brew · curl · 手動での MCP JSON 設定 · 生のバイナリ)
brew install LeonTing1010/tap/taprun            # Homebrew (macOS / Linux)
curl -fsSL https://taprun.dev/install.sh | sh   # permanent binary
npx -y @taprun/cli --version                    # zero-install (any Node host)

自分で記述する場合の手動 MCP 設定:

{ "mcpServers": { "tap": { "command": "npx", "args": ["-y", "@taprun/cli", "mcp", "stdio"] } } }
プラットフォームダウンロード
macOS(Apple Silicon)tap-macos-arm64
macOS(Intel)tap-macos-x64
Linuxtap-linux-x64
Windowstap-windows-x64.exe
### 2. 動作を確認する(約2分、ログイン不要)

クレーム台帳の最初の項目を実行します。夜間CIで実行される検証とまったく同じです。

mkdir -p ~/.tap/flows/github
curl -fsSL https://raw.githubusercontent.com/LeonTing1010/tap-skills/main/claims/2026-07-11-github-trending-has-no-api/plan.json \
  -o ~/.tap/flows/github/trending-no-api.flow.json
tap github/trending-no-api

"state": "committed"と、今日のトレンドリポジトリがトークン消費ゼロで取得できれば、インストールが機能しており、主張も正しいことがわかります。

3. 独自のTapを作成する
tap capture https://news.ycombinator.com hn/front --intent "front-page stories with points"
tap hn/front        # replay forever, $0

または、AI エージェントにそのまま頼んでください。

You:   What's trending on GitHub today?
Agent: Here are today's top repos — React compiler hit 734 stars...

You:   Capture a tap for Douban top 250 movies
Agent: Done. Run `tap douban/top250` anytime — $0 per run.
オプション:独自のコード(TypeScript / Python)からバイナリを操作する

MCPを介さず、独自のループからtapバイナリを呼び出します。

tap capture <url> hackernews/top --intent "front-page top stories"
tap hackernews/top --args '{}'    # JSON-on-stdout, exit 0 on success
tap verify hackernews/top         # 3-arm verdict (live / drifted / unreachable)

CLIはJSONとしてToolResult<T>エンベロープを出力します。これはMCPインターフェースが返すものと同じ形式なので、サブプロセスライブラリがある言語ならどれでも操作できます。動詞の一覧はtap --helpを参照してください。

既存のPlaywright / Puppeteer / Stagehandスクリプトをお持ちですか?

書き直す必要はありません。オープンソースのアダプターを使って変換できます。既存のソースを入力すると、Taprun互換の.flow.jsonプランが出力されます。

# Existing Playwright script (47M weekly npm downloads — most likely the one you have)
npm install @taprun/from-playwright @taprun/spec
node -e "import('@taprun/from-playwright').then(m => console.log(m.playwrightToTap(require('fs').readFileSync('tests/login.spec.ts','utf8'), {site:'example', name:'login'})))"

# Or scaffold a new starter from scratch
npx create-tap-script github/trending https://github.com/trending
アダプターソース形式対応範囲
@taprun/from-playwright.ts/.js Playwrightテスト8つのpage.* API(goto/click/fill/type/press/waitForSelector/waitForTimeout/screenshot)
@taprun/from-puppeteer.ts/.js Puppeteerスクリプト7つのpage.* APIとpage.keyboard.press
@taprun/from-stagehand.ts/.js Stagehandスクリプトハイブリッド:決定論的なpage.*はプラン操作にマッピングされ、自然言語のact/extract/observeは、検証結果を誠実に判定するためのフラグが付けられます
create-tap-script(なし — スキャフォルダー)<site>/<name> <url>からスターター用の.flow.jsonエンベロープを生成します

形式自体のドキュメントは@taprun/specにあります。これは公開プロトコルインターフェースのパッケージで、v2 Plan用のTypeScript型(18種類の操作からなる閉じたユニオンと、判別可能な読み取り/書き込みPlanユニオン)と、taprun.dev/spec/plan-v1/schema.jsonで解決できる$idを含むJSON Schema 2020-12を提供します。両者のずれは双方向に防止されています。サードパーティ製ツール(IDEの$schemaオートコンプリート、Python/Ruby/Goのajv相当バリデーター、ガバナンスレイヤー、代替ランタイム、プランを認識した権限スコープ設定が可能なMCPホスト)は、独自仕様のTaprunエンジンに依存せず、このパッケージを基盤に構築できます。Plan-v1のリファレンス:taprun.dev/spec/plan-v1。5つのパッケージすべてのソースはpackages/にあります(ワークスペースの概要はpackages/README.mdを参照してください)。

何ができますか?

読み取り — あらゆるウェブサイトからデータを抽出します

tap reddit/hot                   # Reddit front page
tap bilibili/trending            # Bilibili trending
tap arxiv/search --keyword "LLM" # arXiv papers

書き込み — あらゆるウェブサイトを操作します

tap xiaohongshu/publish --title "My Note" --images photo.jpg
tap zhihu/publish --title "My Article" --content "..."

監視 — 変更を監視します

tap verify github/trending        # spot drift; schedule via cron / launchd

合成 — Unixパイプのように連結します

tap github/trending | tap filter --field stars --gt 500 | tap table

作成 — AIで新しい自動化を作成します

tap capture https://news.ycombinator.com hackernews/hot --intent "top stories"   # API detected — compiled without AI
tap capture https://example.com mysite/home --intent "..."                       # BYOK Claude / GPT for the long tail

モデルは自由に選べます。Claude、OpenAI、DeepSeek、またはOpenAI互換のあらゆるエンドポイントに対応しています。完全オフラインでの作成には、ローカルのOllama / LM Studioも使えます。

tap config set ai.baseUrl http://localhost:11434/v1
tap config set ai.key ollama
tap config set ai.model llama3.1
tap capture https://arxiv.org/list/cs.AI/recent arxiv/recent --intent "recent papers"  # 0 bytes leave your machine

仕組み

                        ┌─ Chrome extension  (your real browser sessions)
You → AI → Taprun ──────┤
     capture            └─ Playwright        (headless, server, CI/CD)
  1. 希望を説明します(URL × 自然言語の意図)
  2. AIがコンパイルします。.flow.jsonプログラム(JSONのみ、18種類の操作からなる閉じた語彙、バージョン管理可能)に変換します。
  3. Taprunが実行します。どちらのランタイムでも、ずっと無料で実行できます。

コンパイルが成功するたびに、次のコンパイルが速くなります。新しいサイト用のTapが必要ですか?エージェントがcaptureを使ってその場で作成するため、カタログは必要ありません。

検証済みの主張

tap-skills は、もはやスキルカタログではありません。主張台帳です。公開ウェブに関する、日付付きで反証可能な主張を掲載し、それぞれが独自の決定論的なプランを備えています。CI により毎晩、LLM トークンを一切使わずに再検証されます。変化が生じた主張は、その晩のうちに公開ステータスが 🟡 に変わります。

最初の主張をご自身で検証してみてください(約 2 分、ログインもブラウザーも不要です)。

mkdir -p ~/.tap/flows/github
curl -fsSL https://raw.githubusercontent.com/LeonTing1010/tap-skills/main/claims/2026-07-11-github-trending-has-no-api/plan.json \
  -o ~/.tap/flows/github/trending-no-api.flow.json
npx -y @taprun/cli github/trending-no-api

毎晩の CI とまったく同じ検証を実行できます。決定論的な再生により、同じ結果が得られます。140 個のスキルを収録した v1 カタログは、v1-archive ブランチにそのまま保存されています。事前構築されたカタログは陳腐化するだけなので、代わりに capture を使って必要に応じてプランを作成します。

tap verify <site>/<name>   # Snapshot equivalence — catches silent failures before your data goes stale
tap list                   # See everything available
tap show <site>/<name>     # Print the saved tap's plan as JSON

アーキテクチャからローカルファースト

トークンを一切使わない再生が最大の特徴であり、その基盤にあるのがローカルファーストという保証です。Taprun はお使いのブラウザーで動作します。Chrome 拡張機能は現在のログインセッションを再利用するため、Cookie、認証トークン、認証情報がお使いのマシンの外に出ることはありません。これはマーケティング上の主張ではなく、構造上の選択です。

懸念事項クラウドファーストのブラウザー SDKTaprun(ローカルファースト)
ログイン済みの Cookie はどこに保存されますか?クラウドベンダーのサーバーローカルブラウザー内のみ
AI は何を確認できますか?セッション全体とお客様のデータforge 時のページ DOM のみ
noindex / robots.txt / TOS への準拠ベンダーがお客様に代わって ToS に同意お客様のアカウントと利用規約が適用
社内/イントラネットのサイトVPN トンネリングが必要ページを開くだけ
サービス終了のリスクベンダーが停止するとスクレイパーも停止ローカルコードは動作を継続
レイヤー保護
サンドボックスプログラムは権限ゼロで実行されます。ファイル、ネットワーク、システムへのアクセスはできません
静的解析CI が危険なパターンをユーザーに届く前にブロックします
ローカル限定データ、セッション、API キーがお使いのマシンの外に出ることはありません。これはアーキテクチャによって保証されています

脅威モデルの詳細は SECURITY.md をご覧ください。

コントリビューション

最も簡単なコントリビューション方法は、新しい tap を作成することです。 必要なのは .flow.json ファイル 1 つだけです。

詳しくは CONTRIBUTING.md をご覧ください。

ロードマップ

  • コミュニティスキルカタログ — 主張台帳への移行に伴い、2026-07 に終了(v1 カタログはアーカイブ済み)
  • 2 つのランタイム — Chrome 拡張機能 + Playwright(ヘッドレス/CI)
  • Unix パイプ — tap A | tap B
  • 監視モード — 時間の経過に伴う変更を監視
  • 検証 — tap verify によるスナップショット同等性チェックと、4 種類のドリフト判定(equivalent / drifted / first_snapshot / unreachable)
  • 1 コマンドで起動できる MCP サーバー — 任意の MCP ホスト向けの tap mcp stdio(または tap mcp http)
  • Android ランタイム
  • iOS ランタイム
  • 並行制御 — 共有アカウントを並列で操作する M 個のエージェントを決定論的に調整

サポート

プライバシー

Taprun はアーキテクチャからローカルファーストです。お客様ご自身のマシン上でお客様ご自身のブラウザーを操作するため、認証情報、Cookie、ページデータが外に出ることはありません。エンジンはテレメトリーを送信せず、お客様が保存した tap で明示的に指定した通信(op:fetch)以外の外部ネットワーク通信も行いません。保存した tap、シークレット、トレースは、お客様のマシン上の ~/.tap/ にのみ保存されます。

ポリシー全文:taprun.dev/privacy。

ライセンス

Chrome 拡張機能とドキュメント:MIT。主張台帳:MIT。

Star の推移

Star History Chart

コメント

MCP は初めてですか?

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

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