Performs security audits for MCP servers to detect prompt injection and tool poisoning while providing on-chain DeFi and crypto data via x402 payments.
Also known as rezearcher/x402-data-api, x402-data-api, greyridge-x402-tools
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.1.7
- Last commit
- Nov 14, 2026
- License
- MIT
What is tech-risk MCP?
tech-risk performs security audits for MCP servers to detect prompt injection and tool poisoning while providing on-chain DeFi and crypto data via x402 payments.
Summary generated from the project's README
About tech-risk MCP server
Developers building AI agents that interact with decentralized finance can use this server to access real-time crypto data and perform security audits. It provides specialized tools for fetching spot token prices, cross-venue funding rates, DeFi yields, and Polymarket prediction market data. It also includes Base-native on-chain primitives like gas prices, transaction details, and EIP-7702 delegated-EOA detection.
Security is a core focus, offering audits to detect prompt injection and tool poisoning in other MCP servers. Users can perform these scans via a URL or use a zero-egress method by posting a tools/list JSON array to keep private server details local. The service operates using the x402 payment protocol on Base mainnet, allowing agents to pay per call in USDC starting from $0.001 without needing traditional API keys or subscriptions.
Integration is handled through a remote streamable-http endpoint or a local stdio companion package. While discovery and preview tools are free, paid tools require an x402 wallet private key configured in the environment to settle transactions automatically.
What you can do with it
- 1Analyze DeFi yield trendsRetrieve top lending and liquidity provider yields including APY trends and stability forecasts.
- 2Verify on-chain token safetyGet a pre-trade decision for a swap on Base to determine if a token is safe to trade.
- 3Monitor crypto funding ratesAccess cross-venue perpetual funding rates and identify arbitrage signals between different venues.
Written from the project's README. Every use case is checked against a quote from it.
How to install tech-risk MCP
Formats verified 10 Nov 2026Install tech-risk MCP in Claude Code
$ claude mcp add x402-data-api -- uvx greyridge-x402-toolsInstall tech-risk MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"x402-data-api": {
"command": "uvx",
"args": [
"greyridge-x402-tools"
]
}
}
}Install tech-risk MCP in VS Code
.vscode/mcp.json
{
"servers": {
"x402-data-api": {
"type": "stdio",
"command": "uvx",
"args": [
"greyridge-x402-tools"
]
}
}
}Install tech-risk MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"x402-data-api": {
"command": "uvx",
"args": [
"greyridge-x402-tools"
]
}
}
}Install tech-risk MCP in Codex
~/.codex/config.toml
[mcp_servers.x402-data-api] command = "uvx" args = ["greyridge-x402-tools"]
Install tech-risk MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"x402-data-api": {
"command": "uvx",
"args": [
"greyridge-x402-tools"
]
}
}
}Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablerezearcher/x402-data-api is public and reachablegithub.com/rezearcher/x402-data-api ↗Pass
- Package names this repository as its sourcegreyridge-x402-tools names https://github.com/rezearcher/greyridge-x402-tools as its sourcepypi.org/project/greyridge-x402-tools/ ↗Finding
- Build provenance (Sigstore attestation)Sigstore attestation for greyridge-x402-toolspypi.org/project/greyridge-x402-tools/ ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/rezearcher/x402-data-api ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from greyridge-x402-toolsPass
- No critical advisory in the package or its dependencies6 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeinitialize answered with protocol 2025-06-18 in 362 msPass
README
View on GitHubGrey Ridge Signals — Agent-Native x402 Data & Security APIs
Pay-per-call crypto, DeFi, prediction-market, and on-chain data for AI agents — plus MCP security scanning — over the x402 payment protocol on Base mainnet.
No account, no API key, no subscription. An agent pays inline in USDC (from $0.001/call) and gets the data back in the same request. Every data endpoint has a free preview so an agent can taste the payload before paying.
- Base URL:
https://x402-data-api.sigrunner.workers.dev - MCP endpoint (streamable-http):
https://x402-data-api.sigrunner.workers.dev/mcp - Canonical domain:
https://x402-data-api.sigrunner.workers.dev(same API) - Discovery:
/.well-known/x402·/openapi.json·/llms.txt - Network: Base mainnet (
eip155:8453), USDC. Settles via the non-custodial xpay facilitator — no Coinbase/CDP account needed. Also listed on the CDP x402 Bazaar.
Two flagships — what agents actually pay for
- MCP server security scan (
/scan/mcp, $0.05) — a prompt-injection / tool-poisoning audit of an MCP server's tools (OWASP LLM01/LLM08). Zero-egress: for private/OAuth-gated servers you POST only thetools/listJSON — nothing else leaves your side. There is no free equivalent for this (unlike token-safety, where free multi-chain scanners exist). Free preview:POST /scan/mcp/preview. CI gate (on the GitHub Marketplace):uses: rezearcher/greyridge-x402-tools@v0.3.2. - Pre-trade decision gate (
/gate/swap, $0.008 ·/chain/token-report, $0.01) — a decision (GO/HOLD/BLOCK, SAFE/CAUTION/AVOID) sized to your trade, not raw flags your agent has to interpret. Base-native; if you trade other chains, keep your multi-chain scanner and use this on Base.
Everything below is the full catalog (crypto/DeFi data, on-chain reads, LLM, enrichment). Measured reliability at /status (not an SLA).
Endpoints
Crypto & DeFi data
| Endpoint | Price | Returns |
|---|---|---|
GET /crypto/prices?coins=bitcoin,ethereum,solana |
$0.001 | Spot token prices (DefiLlama), keyless. Up to 25 CoinGecko ids. |
GET /crypto/funding?limit=20 |
$0.001 | Cross-venue perp funding rates (Hyperliquid + OKX, graceful fallback) with the funding spread + best long/short venue — the arb signal, not just a single-venue list. |
GET /defi/yields?limit=20&project=&chain=&stable= |
$0.001 | Top DeFi lending/LP yields (DefiLlama) with APY breakdown, 7d/30d APY trend, IL risk, and DefiLlama's stability forecast — decision-grade, not a raw list. |
GET /pm/markets?query=&limit=20 |
$0.005 | Live Polymarket prediction markets: question, outcomes, prices, volume, liquidity, end date. |
Base on-chain (JSON-RPC read primitives)
Base-native, multi-provider RPC with automatic failover (never fails a paid call on one provider's rate limit).
| Endpoint | Price | Returns |
|---|---|---|
GET /chain/block-number |
$0.001 | Current Base block number |
GET /chain/gas-price |
$0.001 | Current gas price (wei + gwei) |
GET /chain/balance?address= |
$0.001 | Native ETH balance |
GET /chain/token-balance?address=&token= |
$0.001 | ERC-20 token balance |
GET /chain/tx?hash= |
$0.001 | Transaction details |
GET /chain/receipt?hash= |
$0.001 | Transaction receipt (status, gas used, logs) |
GET /chain/code?address= |
$0.001 | Contract-code check — is it a contract, and EIP-7702 delegated-EOA detection (is_eip7702_delegate / delegate_address) |
GET /chain/wallet?address= |
$0.003 | Bundle: ETH balance + tx count + contract flag in one call, EIP-7702 delegated-EOA aware (is_eip7702_delegate / delegate_address) |
Agent trading gates (new)
| Endpoint | Price | Returns |
|---|---|---|
GET /gate/swap?token=0x…&side=buy|sell¬ional_usd=N |
$0.008 | Pre-trade go/hold/block decision for any Base ERC-20: safety verdict, risk score, pool liquidity and price-impact of your size, flags. One call before an agent swaps. Free live sample: /gate/swap/preview |
GET /chain/token-report?token=0x… |
see /openapi.json |
Full token due-diligence report (security + liquidity + metadata) in one call |
Security
| Endpoint | Price | Returns |
|---|---|---|
GET /scan/mcp?url= |
$0.05 | Security audit of a target MCP server: tool-poisoning / prompt-injection / exfiltration / dangerous-capability / hidden-unicode (OWASP LLM01/LLM08) + risk score |
POST /scan/mcp {"tools":[…]} |
$0.05 | Zero-egress audit — paste your own tools/list array; same itemized findings, nothing leaves your side and we never fetch/call your server. For OAuth-gated or private MCP servers that won't expose a URL |
GET /enrich/tech-risk?domain= |
$0.05 | Tech-stack fingerprint → CVE (NVD) + EPSS + CISA-KEV attack-surface risk |
GET /enrich/domain?domain= |
$0.01 | Firmographic + tech-stack enrichment, incl. full subdomain enumeration (subdomains[]) via crt.sh certificate-transparency logs, RDAP, DoH, HTTP fingerprint |
x402 payment verification (before and after your agent pays)
| Endpoint | Price | Returns |
|---|---|---|
GET /x402/preflight?url= |
$0.001 | Pre-pay check on any x402 endpoint: will it settle, is the payee safe (OFAC / scam lists), price accuracy, delivery readiness, liveness → PAY / CAUTION / AVOID |
GET /x402/receipt-verify?tx=&url= |
$0.004 | Post-pay proof: reads the Base settlement tx from two independent RPCs and reconciles the USDC Transfer against the endpoint's own live 402 (payTo + amount) → SETTLED / UNDERPAID / WRONG_RECIPIENT / NO_TRANSFER / REVERTED / NOT_FOUND / UNVERIFIED |
Free in MCP: x402_receipt_verify_preview (tx + payto, no payment).
Python agents, no key or wallet: uvx --from greyridge-x402-tools greyridge-x402-verify runs a local stdio MCP server (PyPI 0.6.0) with free x402_preflight and x402_receipt_verify tools. Add it to Claude Desktop/Cursor as command uvx, args --from greyridge-x402-tools greyridge-x402-verify.
Try it now, no key: curl "https://api.greyridgesignals.ai/x402/preflight/preview?url=https://api.greyridgesignals.ai/defi/yields" returns verdict: PAY, will_settle: true with the per-check detail (reachability, challenge, accepts, price accuracy, delivery).
Drop-in safe pay wrapper (free preflight, refuses AVOID, then dual-RPC receipt check on the settlement tx):
- Python:
pip install greyridge-x402-tools(0.7.0),from greyridge_x402.safe_fetch import safe_fetch - Node:
npm install github:rezearcher/greyridge-x402-tools,import { safeFetch, PreflightBlocked } from "greyridge-x402-tools"(pass your own x402 fetch, e.g.wrapFetchWithPayment)
Already paying with @x402/fetch, wrapFetchWithPayment or a payer MCP such as Crypto APIs' x402_pay? Those pay and hand back the response body; none of them checks that the settlement tx actually moved the advertised amount to the advertised payTo. Keep your payer, and add the verify step after it: pass the tx hash from the X-PAYMENT-RESPONSE header and the URL you paid to x402_receipt_verify. It returns SETTLED, UNDERPAID, WRONG_RECIPIENT, NO_TRANSFER, REVERTED or NOT_FOUND. The x402 FAQ tells buyers to check the transaction themselves; this is that check, in one call.
How x402_receipt_verify differs from the read-only verifier @tensorfeed/x402-base-mcp (verify_x402_settlement, checked against its 0.2.1 README): theirs matches a Transfer against a recipient and amount the caller types in. Ours can pull payTo and amount from the endpoint's live 402 (?url=), so a wrong or stale expectation doesn't pass, and it compares two RPC providers and fails closed if they disagree. Theirs is a good fit if you just want generic Base reads (balances, eth_call) in the same server; ours only does verification.
Free previews: GET /crypto/prices/preview, /crypto/funding/preview, /defi/yields/preview, /chain/block-number/preview, /chain/gas-price/preview (full live data, not truncated), /scan/mcp/preview?url=. Zero-egress MCP scan (for private/OAuth-gated servers): POST /scan/mcp/preview with {"tools":[…]} is the free counts-only preview; POST /scan/mcp with the same body is the paid itemized scan — nothing leaves your side. One-liner: examples/mcp-scan-preview.sh.
MCP server (the pull channel)
Add one remote MCP server and your agent gets the whole toolset. initialize and tools/list
are free so agents can discover the tools; paid tools/call returns an x402 challenge.
tools/list advertises 22 tools: crypto_prices, crypto_funding, defi_yields, pm_markets,
chain_block_number, chain_gas_price, chain_balance, chain_token_balance, chain_tx,
chain_wallet, chain_token_security (paid Base RPC + data, EIP-7702 delegated-EOA aware),
crypto_prices_preview, crypto_funding_preview, defi_yields_preview, pm_markets_preview,
chain_block_number_preview, chain_gas_price_preview, chain_token_security_preview (free),
and scan_mcp_server, scan_mcp_preview, enrich_tech_risk, enrich_domain (security).
// add to your MCP client config
{
"mcpServers": {
"grey-ridge-x402": {
"type": "streamable-http",
"url": "https://x402-data-api.sigrunner.workers.dev/mcp"
}
}
}
MCP client (mcp-client/ — the stdio companion)
For stdio-only MCP clients (Claude Desktop, Cursor, CLI agents), the repo ships a
companion package, x402-data-api-mcp, in mcp-client/. It runs on
the agent's own machine, speaks MCP over stdio, and proxies to the same Worker
/mcp endpoint — it adds no data surface, just a transport + x402 payment shim so
stdio-only clients can reach the same tools (22 tools, including paid ones when a
wallet key is configured).
Install / run (local path). The package is not yet published to npm, so run it from the repo:
cd mcp-client
npm install
npm run build # tsc → dist/server.js
node dist/server.js # start (or: npm start)
Published path (one line, no clone): npx @grey-ridge/x402-data-api-mcp — the package is
live on npm; its bin target is
dist/server.js, so npx runs the same server.
Configuration. Copy mcp-client/.env.example to
.env in mcp-client/: WORKER_BASE_URL defaults to the deployed Worker (set it
only to point at your own mirror), and X402_WALLET_PRIVATE_KEY is optional — set it
to auto-settle paid tools (HTTP 402) via x402; leave it empty to run only the
free/preview tools. The client reads both straight from process.env at startup.
// stdio client config (local path)
{
"mcpServers": {
"grey-ridge-x402-local": {
"command": "node",
"args": ["/absolute/path/to/mcp-client/dist/server.js"]
}
}
}
Call it (HTTP)
BASE=https://x402-data-api.sigrunner.workers.dev
# free preview — real sample, no payment
curl -s "$BASE/crypto/funding/preview"
# paid — returns HTTP 402 with an x402 payment-required challenge until you attach payment
curl -i "$BASE/crypto/funding?limit=10"
Any x402-capable client (e.g. the x402 libraries)
handles the 402 → sign → retry automatically.
Measured status
Uptime and latency per safety route are measured from a probe cron and published in docs/STATUS.md (regenerated hourly; window stated in the file, not an SLA).
How it runs
A single Cloudflare Worker implements every HTTP endpoint and the MCP server
behind a method-aware x402 gate. All upstreams are free/keyless public APIs (DefiLlama,
Hyperliquid, OKX, Polymarket Gamma, Base JSON-RPC, NVD/EPSS/CISA-KEV, crt.sh/RDAP/DoH); every
address/hash/domain input is validated and SSRF-guarded (fixed upstream hosts, no user-supplied
targets except the explicitly-scoped /scan/mcp and enrichment endpoints).
License
MIT — see LICENSE.
Agent-framework plugins (published)
Pre-trade token guard (/gate/swap, $0.008 USDC via x402 on Base) — drop-in, fails closed, pays inline per call (no API key, no account). Free sample: curl "https://x402-data-api.sigrunner.workers.dev/gate/swap/preview?token=degen"
| Framework | Install | Source |
|---|---|---|
| ElizaOS | npm i github:rezearcher/plugin-swap-gate |
integrations/elizaos-plugin-swap-gate |
| LangChain.js | npm i github:rezearcher/langchain-swap-gate @langchain/core zod |
integrations/langchain-swap-gate |
| Vercel AI SDK | npm i github:rezearcher/vercel-ai-swap-gate ai zod |
integrations/vercel-ai-sdk-swap-gate |
Install from git — this always pulls the current build (keyless free preview + inline x402, fails closed only if both are unreachable) and compiles on install via prepare. Each also exposes a tokenReport tool wrapping /chain/token-report for standalone token screening. Minimal copy-paste examples live under docs/examples/{swap-gate,langchain,elizaos}/.
Market-data buyer (for agents that buy a price and must not present stale data as real-time — the Decision402 pattern): examples/market-data-decision-buyer.mjs. Runs the full agentic loop — reads the live 402 quote, enforces a per-call USDC budget, proves the feed via the free preview, pays /crypto/prices ($0.001 on Base), then rejects any row older than MAX_AGE_SECONDS. Steps 1-3 run with zero npm installs: node examples/market-data-decision-buyer.mjs bitcoin,ethereum.
Python / LangChain / CrewAI
pip install "git+https://github.com/rezearcher/greyridge-x402-tools" — token_report() and swap_gate() helpers (free preview by default, paid x402 mode optional) plus LangChain tools. Guides: https://rezearcher.github.io/greyridge-x402-tools/
Try it on YOUR token, free
curl "https://x402-data-api.sigrunner.workers.dev/chain/token-report/preview?token=0xYourBaseToken" returns the same full-depth report as the paid route ($0.01). /gate/swap/preview?token=0x… gives 3 free real-token GO/HOLD/BLOCK checks/day/IP.
Agent skill (drop-in SKILL.md for OpenClaw/Hermes-style agents): https://github.com/rezearcher/greyridge-token-safety-skill
CI gate for MCP servers
uses: rezearcher/greyridge-x402-tools@v0.3.3 with url: runs the free MCP tool-poisoning preview in CI and fails on a block verdict. Every run also emits a copy-paste README injection-security badge (badge-markdown output / step summary; commit-badge: true auto-commits it between <!-- grsg-badge:start --> markers, degrade-open) — the OWASP-MCP (LLM01/LLM08) dimension generic repo-quality badges omit, re-checked on every CI run and linked to the server's live security report. Listed on the GitHub Marketplace. See actions/mcp-scan/README.md.
Python note: the default
Python-urllibUser-Agent is rejected with 403 at the Cloudflare edge. Userequests/httpx, or set any customUser-Agentheader.
tech-risk MCP questions
How do I add tech-risk MCP to Claude Code?
Run claude mcp add x402-data-api -- uvx greyridge-x402-tools in your terminal. Add --scope user to make it available in every project.
How do I add tech-risk MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What security vulnerabilities does the MCP scan cover?
The scan audits for prompt injection, tool poisoning, exfiltration, dangerous capabilities, and hidden unicode, covering OWASP LLM01 and LLM08.
Do I need an account or API key to use this service?
No, there is no account, API key, or subscription required; agents pay inline using USDC via the x402 protocol.