M2M Sentinel

io.github.M2M-Sentinelv1.2.5更新于 Sep 29, 2026

Base bytecode capability observations, proxy resolution, gas, DEX, and transfer telemetry.

已验证Streamable HTTP可网页运行Other

安装

在 SourceWeft 中

  1. 打开 控制台中的 M2M Sentinel,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "m2m-sentinel-sdk": {
      "type": "http",
      "url": "https://api.m2msentinel.com/mcp"
    }
  }
}

README

M2M Sentinel SDK & MCP Server

Official multi-language client library, Model Context Protocol (MCP) server, and Coinbase AgentKit ActionProvider for M2M Sentinel — deterministic EVM bytecode capability observations and common-proxy resolution for autonomous applications operating on Base. Callers own transaction policy.

[npm version] [PyPI version] [License: MIT] [Smithery]


⚡ 1. Model Context Protocol (MCP) Server

Connect M2M Sentinel directly to Claude Desktop, Cursor, Windsurf, or any MCP-compliant LLM agent.

Option A: 1-Click via Smithery

bash
npx -y @smithery/cli mcp add M2M-Sentinel/m2m-sentinel-sdk --client claude

Option B: Local Stdio (claude_desktop_config.json)

json
{  "mcpServers": {    "m2m-sentinel": {      "command": "npx",      "args": ["-y", "m2m-sentinel-sdk"],      "env": {        "M2M_SENTINEL_API_KEY": ""      }    }  }}

Option C: Remote Streamable HTTP

  • Current MCP endpoint: https://api.m2msentinel.com/mcp
  • Legacy HTTP+SSE compatibility: https://api.m2msentinel.com/sse with messages at https://api.m2msentinel.com/messages

🤖 2. Coinbase AgentKit Integration

typescript
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 Client

bash
npm install m2m-sentinel-sdk
javascript
const { M2MSentinelClient } = require('m2m-sentinel-sdk');
const client = new M2MSentinelClient();
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 Guard

The public SDK includes guardWalletSendCalls, a customer-side execution-identity boundary for Base Account / EIP-5792 batches. It preflights the anchor call and evaluates its caller policy before scheduling any remaining call, then pins remaining calls to the first trusted block identity in waves of at most four. Each settled wave is validated and policy-checked in ascending request-index order before a later wave starts; a failure or rejection stops later scheduling. The original detached request is forwarded only after all checks pass. It does not sign, broadcast, custody funds, infer inner UserOperation semantics, or make a safety claim. See examples/base_account_paymaster_guard.js for a no-network fixture.


🐍 4. Python Client

bash
pip install m2m-sentinel
python
from m2m_sentinel import M2MSentinelClient
client = M2MSentinelClient()audit = client.audit_contract("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")print("Proxy detected:", audit["audit"]["proxyResolution"]["isProxy"])print("Proxy target:", audit["audit"]["proxyResolution"].get("targetAddress"))print("Capabilities:", audit["audit"]["verdict"]["executableCapabilities"])print("Evidence:", audit["audit"]["dissection"]["capabilities"])

Transaction-specific preflight example

The public repository includes a standalone, mock-only transaction boundary example at examples/transaction_preflight.js. From this repository root, run:

bash
node examples/transaction_preflight.js

It observes one caller-supplied Base transaction, passes the observation to a caller-owned policy, and reaches only a mock signing/send callback. It refuses to continue on unverified evidence, unresolved execution, an observation mismatch, or a missing Diamond selector mapping. It never signs or sends a transaction; optional live mode uses only a caller-supplied API-key header and remains the caller's responsibility.


💳 5. Autonomous x402 Micropayments (Headless M2M)

typescript
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");

📜 License

MIT License. Copyright (c) 2026 M2M Sentinel.

来源:README.md,提交 becb3f7

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v1.2.5最新Sep 16, 2026