M2M Sentinel MCP server
online · 100% uptimeio.github.M2M-Sentinel/m2m-sentinel-sdk·v1.2.5·2 starsBase bytecode capability observations, proxy resolution, gas, DEX, and transfer telemetry.
2 stars41 downloads/wk
Reviews
Write oneNobody has reviewed M2M Sentinel yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
M2M Sentinel tools (6)
write = sends, deletes, buys or postsm2m_audit_contractFreeInspect static bytecode capabilities (e.g. mint, pause, freeze, upgradeability slots), common proxy target resolution, and coverage index for a single Base contract address. Factual capability observation only, not a safety or exploitability guarantee. Distinguishable from m2m_get_service_status (infrastructure status) and legacy score-only endpoints.
m2m_get_dex_liquidityFreeFetch aggregate pool reserve, depth, and volume metrics across tracked Base DEX liquidity pools. Reports tracked-pool metrics only and does not filter by individual trading pair; contrast with m2m_get_token_price, which observes token spot prices.
m2m_get_gas_metricsFreeFetch current Base gas price in wei/gwei with RPC provenance for the upstream observation. Read-only telemetry; does not inspect contract code, return token/DEX pricing, or authorize or submit transactions.
m2m_get_service_statusFreeFetch operational status, upstream Base RPC quorum status, and persistence availability for M2M Sentinel infrastructure. Does not return blockchain or market telemetry.
m2m_get_token_priceFreeFetch the median Base DEX spot price in USD across up to five deepest indexed pools, with contract address, decimals, and pool provenance for one allowlisted token symbol (e.g. USDC, WETH, AERO). Does not return historical price series; contrast with m2m_get_dex_liquidity, which returns aggregate pool reserve depth rather than an asset price.
m2m_get_whale_signalsFreeFetch up to 50 tracked recent high-value ERC-20 transfer signals on Base with transaction hashes, token/sender/receiver addresses, amounts, and valuation provenance. Observes large on-chain transfer events without query parameter limits; does not inspect contract bytecode or query DEX pricing.
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan16 source files scanned25/25
- Live reliabilityremote reachable in 691ms20/20
- Tool poisoning6 tool descriptions checked15/15
- Auth qualityAPI key sent as a header8/15
- Maintenancelast push 10 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
How M2M Sentinel compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 90/100
- higher than 83% of 48,243 servers
- Tools
- 6
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 198 ms
- faster than 67% of 30,027 servers
- GitHub stars
- 2
- more than 75% of 28,706 servers
- Downloads a week
- 41
- more than 31% of 12,306 servers with a package
What its tools let an agent do: 6 read
Install M2M Sentinel in Claude Code, Cursor or VS Code
claude mcp add --transport http m2m-sentinel-sdk https://api.m2msentinel.com/mcp
What the publisher says
From the M2M Sentinel repository's README, as published. We do not edit it. Read it on GitHub
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.
⚡ 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
npx -y @smithery/cli mcp add M2M-Sentinel/m2m-sentinel-sdk --client claudeOption B: Local Stdio (claudedesktopconfig.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
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
npm install m2m-sentinel-sdkconst { 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/baseaccountpaymaster_guard.js for a no-network fixture.
🐍 4. Python Client
pip install m2m-sentinelfrom 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
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
M2M Sentinel: common questions
- Is M2M Sentinel MCP server safe?
- Yes, by our scan: it is graded A (90/100). Read the M2M Sentinel safety report
- How do I install M2M Sentinel?
- It runs remotely at api.m2msentinel.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does M2M Sentinel need an API key?
- Yes. The registry entry asks for
M2M_SENTINEL_API_KEY,x-api-key,PAYMENT-SIGNATURE. - Is M2M Sentinel maintained?
- The last commit was 30 days ago (2026-10-06). The latest release is v1.2.5.
- Is M2M Sentinel up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does M2M Sentinel compare with other MCP servers?
- safety score 90/100 (higher than 83% of 48,243 servers); tools 6 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.