PrepLayer.ai について
PrepLayer.aiは、AIエージェント向けに決定論的なテキスト処理ツールを提供するリモートMCPサーバーです。x402経由で呼び出しごとにUSDCで支払い、サービスのソースコードは非公開です。
主な機能
- 0112種類の決定論的テキストツール
- 02テキストの正規化と検証
- 03PIIのマスキングと文書の重複排除
- 04テキストの分割、差分、抽出、ハッシュ化
- 05x402経由のUSDC従量払い
活用シーン
- 01エージェント処理前のテキスト正規化
- 02ログ記録前のPIIマスキング
- 03RAG用のテキスト分割
- 04文書の重複排除やテキスト比較
MCP 対応
Streamable HTTPのMCPエンドポイントを通じてテキスト処理ツールを提供します。ツール呼び出しにはHTTP APIと同じx402決済フローが適用されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.maximusmediahouse.com/mcpclaude mcp add --transport http com-maximusmediahouse-preplayer https://api.maximusmediahouse.com/mcp{"mcpServers":{"com-maximusmediahouse-preplayer":{"type":"http","url":"https://api.maximusmediahouse.com/mcp"}}}Cursor で開く{"servers":{"com-maximusmediahouse-preplayer":{"type":"http","url":"https://api.maximusmediahouse.com/mcp"}}}VS Code で開く{"mcpServers":{"com-maximusmediahouse-preplayer":{"type":"http","url":"https://api.maximusmediahouse.com/mcp"}}}{"mcpServers":{"com-maximusmediahouse-preplayer":{"serverUrl":"https://api.maximusmediahouse.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
PrepLayer.ai
AI エージェント向けの x402 で支払う、決定論的なテキスト処理プリミティブ 12 種です。 USDC で呼び出しごとに支払います。API キー、アカウント、サインアップは不要です。
ベース URL: https://preplayer.maximusboomerus.workers.dev
ミラー URL(本番環境): https://api.maximusmediahouse.com
MCP エンドポイント: https://preplayer.maximus-boomerus.workers.dev/mcp (streamable-http, POST)
サービスバージョン: 0.2.0
これは何ですか
PrepLayer は、1 つの Cloudflare Worker で MCP サーバーを提供し、決定論的なテキスト処理プリミティブを 12 種公開します。各呼び出しの料金は数セントで、x402 プロトコルを介して通信時に支払われます。エージェントが USDC に対する TransferWithAuthorization
(EIP-3009) に署名し、Worker が Coinbase Developer
Platform のファシリテーターで署名を検証すると、呼び出しが実行されます。
これらのプリミティブは、エージェントが考える前に行う必要のある、地味なテキスト処理です。 空白の正規化、識別子の検証、キャッシュキー用のコンテンツのハッシュ化、ドキュメントセットの重複排除、ログ記録前の個人情報の秘匿化、RAG 用のチャンク分割、2 つのデータの差分比較などです。各 プリミティブは純粋関数です。同じ入力からは常に同じ出力が生成されるため、結果はコンテンツアドレス指定可能で、安全にキャッシュできます。
このリポジトリに含まれないもの
MCP サーバーと Worker のソースコードは、非公開の作業ツリーにあります。このリポジトリは、公開向けの案内ページです。サービスの発見、マニフェスト、ライセンス、セキュリティ連絡先、および支払者が有料の呼び出しを実行する方法を示す簡単な例を掲載しています。Worker をセルフホストしたい場合は、docs/METHODOLOGY.md でセットアップに必要なものをご確認ください。意図的に、シークレットはここに含めていません。
エンドポイント
すべての有料エンドポイントは POST で、x402 によって保護されています。支払いなしで最初に呼び出すと、PAYMENT-REQUIRED ヘッダー(base64 JSON)と、チャレンジを説明する PAYMENT-REQUIRED JSON 本文を含む 402 Payment Required が返されます。2 回目の呼び出しでは PAYMENT-SIGNATURE ヘッダー(base64 JSON)を送信し、200 が返されます。
テキスト処理プリミティブ 12 種
| エンドポイント | パス | 単価(Base) | 1 回あたり |
|---|---|---|---|
normalize | /v1/normalize | $0.002 | 2 000 atomic units |
validate | /v1/validate | $0.002 | 2 000 atomic units |
slugify | /v1/slugify | $0.002 | 2 000 atomic units |
hash | /v1/hash | $0.002 | 2 000 atomic units |
classify | /v1/classify | $0.003 | 3 000 atomic units |
validate_json | /v1/validate_json | $0.003 | 3 000 atomic units |
extract | /v1/extract | $0.005 | 5 000 atomic units |
redact | /v1/redact | $0.005 | 5 000 atomic units |
diff | /v1/diff | $0.005 | 5 000 atomic units |
chunk | /v1/chunk | $0.005 | 5 000 atomic units |
extract_custom | /v1/extract_custom | $0.005 | 5 000 atomic units |
dedupe | /v1/dedupe | $0.01 | 10 000 atomic units |
Polygon と Arbitrum One での価格は ×1.2、Base、
Base Sepolia、および Solana mainnet での価格は ×1.0 です。Atomic units は小数点以下 6 桁の USDC です。
追加エンドポイント 3 種
| エンドポイント | パス | 価格 | ステータス |
|---|---|---|---|
batch | /v1/batch | $0.40 / 10 calls(1 回あたり $0.04) | 実装済み — x402 の支払い 1 回で、最大 10 件のサブリクエストを実行 |
subscription | /v1/subscription | $200 / 10 000 calls / month | 仕様のみ — 501 を返します。設計は docs/METHODOLOGY.md に記載しています。D1 ストアが導入されるまでは、実際の USDC を請求しません |
priority | /v1/priority | 該当なし | 仕様のみ — 501 を返します。単一インスタンスの Worker では保証できないレイテンシ SLA に対し、2 倍の料金を請求することはありません |
無料エンドポイント(課金されません)
| パス | 用途 |
|---|---|
/.well-known/x402 | x402 Bazaar のサービス記述子(15 個のリソース、ネットワーク、価格) |
/v1/manifest.json | 完全な JSON-Schema とネットワークごとの価格を含む MCP ツール一覧 |
/server.json | MCP レジストリマニフェスト(このファイルに対応するもの) |
/landing | HTML ランディングページ |
/llms.txt, /llms-full.txt | LLM クローラー向けのプレーンテキスト資料 |
/robots.txt, /bazaar-extension.json | 検出を支援するファイル |
支払いフロー
PrepLayer は x402(HTTP の 402 Payment Required を実用化したもの)を通じて有料で利用できます。通信の流れは次のとおりです。
- ツールの JSON 本文を指定して、支払いヘッダーなしでエンドポイントに
POSTします。サーバーは、スキーム、ネットワーク、アセット、金額、トレジャリーアドレス、EIP-712 ドメインを記述したPAYMENT-REQUIREDヘッダー(base64 JSON チャレンジ)とともに402を返します。 - 呼び出し元は、選択したネットワーク上の USDC コントラクトに対する EIP-3009
TransferWithAuthorizationメッセージに署名し、生成されたPaymentPayloadを base64 エンコードしてPAYMENT-SIGNATUREヘッダーに含めます。 - そのヘッダーを付けて再度
POSTします。サーバーは CDP ファシリテーター(https://api.cdp.coinbase.com/platform/v2/x402)で署名を検証し、ツールを実行して、決済レシートを含むPAYMENT-RESPONSEヘッダーとともに200を返します。
通信時の v2 プロトコルは次のとおりです。
402のヘッダー:PAYMENT-REQUIRED(base64 JSON。Worker が出力するヘッダー名は小文字です)。200のヘッダー:PAYMENT-SIGNATURE(base64 JSON。同様です)。200のヘッダー(決済レシート):PAYMENT-RESPONSE(base64 JSON)。- スキーム:
exact。ネットワーク:eip155:8453、solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp、eip155:137、eip155:42161、eip155:84532(Base Sepolia、テスト専用)。 - アセット:
USDC。 - トレジャリー:
0x8cb59b1bffb39c130ab85a8177e93eae9ddbaf10。 - ファシリテーター:
https://api.cdp.coinbase.com/platform/v2/x402(Coinbase Developer Platform。このパスが重要です。/v2/x402は 404 となり、誤った URL です)。
例:プローブのみ(支払い不要)
以下のプローブは常に安全に実行できます。402 チャレンジを返すだけで、支払いは発生しません。接続、トレジャリーアドレス、ネットワークごとの価格を確認するために使用してください。
curl -i -X POST https://preplayer.maximus-boomerus.workers.dev/v1/normalize \
-H 'content-type: application/json' \
--data '{"text":"Hello\u200b, World!"}'
レスポンスは HTTP/2 402 で、次の内容が含まれます。
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6...
デコードすると、受け付け可能な(スキーム、ネットワーク、金額、アセット、payTo)を記述した JSON オブジェクトになります。base64 チャレンジをデコードして表示する実行可能な例については、examples/probe.mjs を参照してください。
例:有料呼び出し(Node.js、viem + @x402/core/evm)
実際の有料フローにはウォレットが必要です。curl だけで実行する正当な方法はありません。examples/paid-call.mjs には、検証済みの動作パターンが記載されています(@x402/evm/exact/client による EIP-3009 署名と、@x402/core/client の x402HTTPClient.encodePaymentSignatureHeader によるヘッダーのエンコード)。実行方法:
npm install viem @x402/core @x402/evm
PAYER_PRIVATE_KEY=0x<64 hex chars> node examples/paid-call.mjs
このスクリプトは /v1/dedupe への単一の呼び出しに署名し、EIP-712 署名の先頭 18 文字(キーや署名全体は表示しません)を表示します。成功すると、PAYMENT-RESPONSE の決済レシートも表示します。同じ仕組みで、ほかの 11 個のプリミティブと batch にも対応します。
PAYER_PRIVATE_KEY をコミット、ログ出力、貼り付けしないでください。 秘密鍵が漏洩すると、USDC を取り戻すことはできません。
MCP のインストール
streamable-http に対応する MCP クライアントであれば、接続先として以下を指定して PrepLayer を利用できます。
https://preplayer.maximus-boomerus.workers.dev/mcp
サーバーは tools/list でツール一覧(normalize、validate、extract、redact、classify、dedupe、diff、chunk、extract_custom、validate_json、slugify、hash、batch、subscription、priority)をすべて返します。ほかの HTTP 呼び出しと同様に、各ツール呼び出しは x402 を経由します。MCP レイヤーは薄いトランスポートです。
独自の MCP クライアントを作成する場合、initialize ハンドシェイクは Content-Type: application/json および Accept: application/json, text/event-stream を指定した HTTP POST による JSON-RPC 2.0 です。tools/call は有料リクエストで、通常の HTTP 経路と同じ 402/PAYMENT-SIGNATURE の往復処理を行います。
既知の制限事項(お読みください)
このサービスは、自身にできることとできないことを正直にお伝えします。
1. 文字の忠実性には、およそ10点中6.5点という上限があります
normalize、slugify、extract は、Unicode の文字を固定された ASCII 表現に折りたたみます。
これが目的そのものです。空白、スマートクォート、アクセント記号の違いがあってもコンテンツハッシュを安定させられますが、その代わりに、ダイアクリティカルマークは保持せず、削除します。元の状態に戻すことはできません。"naïve café" は "naive cafe" になります。Unicode を保持する正規化(たとえば、NFKD ではなく NFKC)が必要な場合、このツールは適していません。
2. 2つのティアは仕様のみで、まだ稼働していません
subscription($200 / 10 000 calls / month)と priority(X-Priority: high、価格は未公開)は、現在どちらも 501 Not Implemented を返します。マニフェストでは x402 ディレクトリにすべてのティアを表示するため、これらも案内していますが、Worker にはサブスクリプションを支える D1 ストアがなく、priority ティアの SLA もありません。現時点では、どちらにも支払わないでください。署名が有効かどうかにかかわらず、サーバーは呼び出しを拒否します。
3. Worker は単一インスタンスで、SLA はありません
Cloudflare Worker は1つだけで、Durable Object によるリクエストキューイングはありません。レイテンシの P99 は計測していませんが、デプロイ後に Worker がコールドスタートする可能性があり、問題のある呼び出し元が1つあるだけで、悪意のある正規表現を使った extract_custom により、CPU スロットが数秒間占有されることがあります(静的ガードと 10 KB の対象サイズ上限はありますが、それ以上の経済的なレート制限はありません)。ベータ版として扱ってください。研究用途には便利ですが、時間制約の厳しい本番パイプラインには、まだ適していません。
4. CDP ファシリテーターへの依存
決済は Coinbase Developer Platform の x402 エンドポイントを経由します。CDP ファシリテーターがダウンすると、署名の有効性にかかわらず、有料の呼び出しはすべて 503 になります。プロセス内のフォールバックはありません。ミラーのステータス:https://status.coinbase.com/.
5. ペイロードごとの nonce 以外に、リプレイ可能な期間を制限する仕組みはありません
正常に支払い済みの呼び出しは、同じエンドポイントに対してリプレイできません(Worker は支払い nonce をキーとする Durable Object を使用しており、並行実行時も厳密に一度だけ実行されます)。ただし、JSON 本文を変更して内容を合わせれば、同じ署名付き支払いを、Worker インスタンスごとに1回、異なるエンドポイントでリプレイできます。これを本番用途向けにフォークする場合は、ペイロードごとの nonce に加えて、ツールごとのリプレイ防止セットを追加してください。
6. レシートの内容は一度変更されており、今後も変更される可能性があります
0.1.0 から 0.2.0 の間に、レシートのフィールド一覧が変更されました(Phase 1 では facilitator フィールドは "mock-cdp" でしたが、現在は実際のファシリテーター URL になっています)。レシートをスクレイピングしてフィールド名を固定している場合、将来のマイナーバージョンで決済エンベロープが変更された際に、更新が必要です。
ディスカバリー
以下の URL では、課金もレート制限も行われません。
- MCP ツール一覧:https://preplayer.maximus-boomerus.workers.dev/v1/manifest.json
- x402 Bazaar ディスクリプター:https://preplayer.maximus-boomerus.workers.dev/.well-known/x402
- MCP レジストリマニフェスト:https://preplayer.maximus-boomerus.workers.dev/server.json
- プレーンテキストのリファレンス:https://preplayer.maximus-boomerus.workers.dev/llms-full.txt
- HTML ランディングページ:https://preplayer.maximus-boomerus.workers.dev/landing
ステータス
Worker は 0.2.0 です。有料の実 USDC を受け付ける前にレッドチームによる検証が実施され(プロジェクトのノートにある preplayer_redteam_2026-10-19.md)、決済のバイパス、リプレイ、ReDoS、価格ティアに関する指摘は解消済みです。2件の P3 項目(HEAD → 404 not 405、MCP の structuredContent における 402 の重複)は未解決のままです。Phase 2 以降、Worker は CDP ファシリテーターに対して、EIP-3009 署名付きの実 USDC 呼び出しを処理しています。
ライセンス
MIT — LICENSE を参照してください。サービスのソースコードは非公開ですが、このリポジトリと、ここで説明しているエンドポイントは MIT です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。