M2M Sentinel について
M2M Sentinelは、Base上の自律アプリケーション向けにEVMバイトコードの機能観測とプロキシ解決を提供します。SDK、MCPサーバー、Coinbase AgentKit ActionProviderを備え、取引方針は呼び出し側が担います。
主な機能
- 01EVMバイトコードの機能を観測
- 02一般的なプロキシコントラクトを解決
- 03JavaScript、TypeScript、Pythonクライアント
- 04Coinbase AgentKit ActionProvider
- 05Base Account呼び出しの事前確認
活用シーン
- 01取引前にコントラクトの機能証拠を確認
- 02アプリケーションでプロキシ先を照会
- 03MCPクライアントからBaseの分析にアクセス
MCP 対応
MCPサーバーはローカルstdioまたはリモートStreamable HTTPで、Claude Desktop、Cursor、WindsurfなどのMCPクライアントに接続し、M2M Sentinelの分析機能を提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.m2msentinel.com/mcpclaude mcp add --transport http m2m-sentinel-m2m-sentinel-sdk https://api.m2msentinel.com/mcp{"mcpServers":{"m2m-sentinel-m2m-sentinel-sdk":{"type":"http","url":"https://api.m2msentinel.com/mcp"}}}Cursor で開く{"servers":{"m2m-sentinel-m2m-sentinel-sdk":{"type":"http","url":"https://api.m2msentinel.com/mcp"}}}VS Code で開く{"mcpServers":{"m2m-sentinel-m2m-sentinel-sdk":{"type":"http","url":"https://api.m2msentinel.com/mcp"}}}{"mcpServers":{"m2m-sentinel-m2m-sentinel-sdk":{"serverUrl":"https://api.m2msentinel.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://api.m2msentinel.com/mcp認証が必要https://api.m2msentinel.com/sse認証が必要ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| address | string | はい |
詳細
M2M Sentinel SDK と MCP サーバー
M2M Sentinel の公式多言語クライアントライブラリ、Model Context Protocol(MCP)サーバー、および Coinbase AgentKit ActionProvider です。Base 上で稼働する自律型アプリケーション向けに、EVM バイトコードの機能を決定論的に観測し、一般的なプロキシを解決します。トランザクションポリシーは呼び出し側が管理します。
このエクスポートでは、npm 1.2.8 を検証済みの公開成果物ではなく、ローカルのリリース候補として扱っています。この候補バージョンは、レジストリへの公開やインストール可能であることを示すものではありません。以下のインストールコマンドでは、最後に検証された npm リリース 1.2.7 を使用しています。
ウォレットや API キーなしで Base USDC を試す
このクイックスタートでは、公開済みの許可リスト登録済みサンプルである Base USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 を使用します。レスポンスには、事実に基づく機能の根拠と制限が含まれますが、安全性の保証やトランザクションに関する助言は含まれません。ライブデモはレート制限(Retry-After を伴う HTTP 429)を受けることがあり、上流の根拠情報ソースに障害がある場合は利用できないことがあります(HTTP 503)。
curl --fail-with-body https://api.m2msentinel.com/v1/demo/audit/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
npm install [email protected]
const { M2MSentinelClient } = require('m2m-sentinel-sdk');
(async () => {
const client = new M2MSentinelClient();
const result = await client.demoAudit('0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913');
console.log(JSON.stringify(result, null, 2));
})().catch((error) => { console.error(error.message); process.exitCode = 1; });
pip install m2m-sentinel==1.2.7
from m2m_sentinel import M2MSentinelClient
client = M2MSentinelClient()
result = client.demo_audit("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
print(result)
その他のアドレスでは、パブリックプレビューのみが返されます。完全な /v1/audit/:address
分析には、API キーまたは明示的に承認された x402
支払いが引き続き必要です。デモがサイレントに支払いを行うことはありません。デモでエラーが発生しても、クライアントは保護されたルートへの自動再試行やフォールバックを行いません。ソース SDK のエクスポートには、認証情報なしで実行可能な JavaScript の例 examples/try_public_demo.js が含まれます。
ただし、最後に検証された npm 1.2.7 の成果物には含まれていません。
⚡ 1. Model Context Protocol(MCP)サーバー
Claude Desktop、Cursor、Windsurf、または MCP 準拠の LLM エージェントに、M2M Sentinel を直接接続します。
オプション A:Smithery 経由のワンクリック
npx -y @smithery/cli mcp add M2M-Sentinel/m2m-sentinel-sdk --client claude
オプション B:ローカル Stdio(claude_desktop_config.json)
{
"mcpServers": {
"m2m-sentinel": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"M2M_SENTINEL_API_KEY": ""
}
}
}
}
オプション C:リモート Streamable HTTP
- 現在の MCP エンドポイント:
https://api.m2msentinel.com/mcp - レガシー HTTP+SSE 互換エンドポイント:
https://api.m2msentinel.com/sse。メッセージの送信先はhttps://api.m2msentinel.com/messagesです。
🤖 2. Coinbase AgentKit 統合
import { AgentKit } from "@coinbase/agentkit";
import { m2mSentinelActionProvider } from "m2m-sentinel-sdk";
const agentKit = await AgentKit.from({
walletProvider,
actionProviders: [
m2mSentinelActionProvider({
apiKey: process.env.M2M_SENTINEL_API_KEY
})
]
});
📦 3. JavaScript / TypeScript クライアント
認証済み SDK のクイックスタート
npm install [email protected]
const { M2MSentinelClient } = require('m2m-sentinel-sdk');
const client = new M2MSentinelClient({ apiKey: process.env.M2M_SENTINEL_API_KEY });
async function main() {
const audit = await client.auditContract('0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913');
console.log('Proxy Detected:', audit.audit.proxyResolution.isProxy);
console.log('Proxy Target:', audit.audit.proxyResolution.targetAddress);
console.log('Capabilities:', audit.audit.verdict.executableCapabilities);
console.log('Evidence:', audit.audit.dissection.capabilities);
}
main().catch(console.error);
🛡️ Base Account wallet_sendCalls ガード
パブリック SDK には、Base Account / EIP-5792 バッチ向けの、顧客側の実行アイデンティティ境界である guardWalletSendCalls が含まれています。アンカーコールを事前チェックし、残りのコールをスケジュールする前に呼び出し元のポリシーを評価します。その後、最大 4 件のウェーブに分けて、残りのコールを最初に信頼されたブロックアイデンティティに固定します。各ウェーブが確定すると、次のウェーブを開始する前に、リクエストインデックスの昇順で検証とポリシーチェックが行われます。失敗または拒否が発生すると、それ以降のスケジューリングは停止します。すべてのチェックに合格した場合に限り、元のデタッチ済みリクエストが転送されます。署名、ブロードキャスト、資金の管理、内部の UserOperation セマンティクスの推測、安全性の主張は行いません。ネットワーク接続なしで使えるフィクスチャについては、examples/base_account_paymaster_guard.js を参照してください。
🐍 4. Python クライアント
pip install m2m-sentinel==1.2.7
from m2m_sentinel import M2MSentinelClient
client = M2MSentinelClient()
result = client.demo_audit("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
print(result)
トランザクション固有の事前確認の例
公開リポジトリには、スタンドアロンでモックのみを使用するトランザクション境界の例が examples/transaction_preflight.js に含まれています。
このリポジトリのルートから、次を実行します。
node examples/transaction_preflight.js
呼び出し元から渡された Base トランザクションを 1 件監視し、その監視結果を呼び出し元が所有するポリシーに渡して、モックの署名/送信コールバックのみを実行します。検証されていない証拠、未解決の実行、監視結果の不一致、または Diamond のセレクターマッピングがない場合は、処理の続行を拒否します。トランザクションへの署名や送信は一切行いません。任意のライブモードでは、呼び出し元から渡された API キーヘッダーのみを使用し、その責任は引き続き呼び出し元にあります。
💳 5. 自律型 x402 マイクロペイメント(ヘッドレス M2M)
import { x402SignerClient } from "m2m-sentinel-sdk";
const client = new x402SignerClient({
walletSigner: myAgentWallet,
baseUrl: "https://api.m2msentinel.com"
});
const result = await client.request("/v1/audit/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
📜 ライセンス
MIT License。Copyright (c) 2026 M2M Sentinel。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。