Check stablecoin and x402 payments before an AI agent pays: approve, hold or reject.
Connect Runs on your machine
claude mcp add sra-riskgate-mcp -e SRA_BASE_URL=<SRA_BASE_URL> -e SRA_MODEL=<SRA_MODEL> -e SRA_MAX_AMOUNT=<SRA_MAX_AMOUNT> -e SRA_ALLOWED_TOKENS=<SRA_ALLOWED_TOKENS> -e SRA_EXTRA_TOKENS=<SRA_EXTRA_TOKENS> -e SRA_EXTRA_TOKENS_FILE=<SRA_EXTRA_TOKENS_FILE> -e SRA_KNOWN_RECIPIENTS=<SRA_KNOWN_RECIPIENTS> -e SRA_KNOWN_RECIPIENTS_FILE=<SRA_KNOWN_RECIPIENTS_FILE> -e SRA_BLOCKED_ADDRESSES=<SRA_BLOCKED_ADDRESSES> -e SRA_BLOCKED_ADDRESSES_FILE=<SRA_BLOCKED_ADDRESSES_FILE> -e SRA_MAX_AUTH_VALIDITY_SECONDS=<SRA_MAX_AUTH_VALIDITY_SECONDS> -e SRA_API_KEY=<SRA_API_KEY> -e SRA_TIMEOUT=<SRA_TIMEOUT> -e SRA_DEPEG_HOLD_PCT=<SRA_DEPEG_HOLD_PCT> -e SRA_DEPEG_REJECT_PCT=<SRA_DEPEG_REJECT_PCT> -e SRA_MAX_GATEWAY_VALIDITY_SECONDS=<SRA_MAX_GATEWAY_VALIDITY_SECONDS> -e SRA_CIRCLE_WALLETS=<SRA_CIRCLE_WALLETS> -e SRA_CIRCLE_USDC_TOKEN_IDS=<SRA_CIRCLE_USDC_TOKEN_IDS> -e SRA_EXPECTED_DELEGATES=<SRA_EXPECTED_DELEGATES> -e SRA_EXPECTED_DELEGATES_FILE=<SRA_EXPECTED_DELEGATES_FILE> -e SRA_EXPECTED_PAYMASTERS=<SRA_EXPECTED_PAYMASTERS> -e SRA_EXPECTED_PAYMASTERS_FILE=<SRA_EXPECTED_PAYMASTERS_FILE> -e SRA_EXPECTED_SPENDERS=<SRA_EXPECTED_SPENDERS> -e SRA_EXPECTED_SPENDERS_FILE=<SRA_EXPECTED_SPENDERS_FILE> -e SRA_MAX_ALLOWANCE=<SRA_MAX_ALLOWANCE> -e SRA_ALLOW_ACCOUNT_DEPLOYMENT=<SRA_ALLOW_ACCOUNT_DEPLOYMENT> -- uvx sra-riskgate-mcp==0.15.0
{
"mcpServers": {
"sra-riskgate-mcp": {
"command": "uvx",
"args": [
"sra-riskgate-mcp==0.15.0"
],
"env": {
"SRA_BASE_URL": "<SRA_BASE_URL>",
"SRA_MODEL": "<SRA_MODEL>",
"SRA_MAX_AMOUNT": "<SRA_MAX_AMOUNT>",
"SRA_ALLOWED_TOKENS": "<SRA_ALLOWED_TOKENS>",
"SRA_EXTRA_TOKENS": "<SRA_EXTRA_TOKENS>",
"SRA_EXTRA_TOKENS_FILE": "<SRA_EXTRA_TOKENS_FILE>",
"SRA_KNOWN_RECIPIENTS": "<SRA_KNOWN_RECIPIENTS>",
"SRA_KNOWN_RECIPIENTS_FILE": "<SRA_KNOWN_RECIPIENTS_FILE>",
"SRA_BLOCKED_ADDRESSES": "<SRA_BLOCKED_ADDRESSES>",
"SRA_BLOCKED_ADDRESSES_FILE": "<SRA_BLOCKED_ADDRESSES_FILE>",
"SRA_MAX_AUTH_VALIDITY_SECONDS": "<SRA_MAX_AUTH_VALIDITY_SECONDS>",
"SRA_API_KEY": "<SRA_API_KEY>",
"SRA_TIMEOUT": "<SRA_TIMEOUT>",
"SRA_DEPEG_HOLD_PCT": "<SRA_DEPEG_HOLD_PCT>",
"SRA_DEPEG_REJECT_PCT": "<SRA_DEPEG_REJECT_PCT>",
"SRA_MAX_GATEWAY_VALIDITY_SECONDS": "<SRA_MAX_GATEWAY_VALIDITY_SECONDS>",
"SRA_CIRCLE_WALLETS": "<SRA_CIRCLE_WALLETS>",
"SRA_CIRCLE_USDC_TOKEN_IDS": "<SRA_CIRCLE_USDC_TOKEN_IDS>",
"SRA_EXPECTED_DELEGATES": "<SRA_EXPECTED_DELEGATES>",
"SRA_EXPECTED_DELEGATES_FILE": "<SRA_EXPECTED_DELEGATES_FILE>",
"SRA_EXPECTED_PAYMASTERS": "<SRA_EXPECTED_PAYMASTERS>",
"SRA_EXPECTED_PAYMASTERS_FILE": "<SRA_EXPECTED_PAYMASTERS_FILE>",
"SRA_EXPECTED_SPENDERS": "<SRA_EXPECTED_SPENDERS>",
"SRA_EXPECTED_SPENDERS_FILE": "<SRA_EXPECTED_SPENDERS_FILE>",
"SRA_MAX_ALLOWANCE": "<SRA_MAX_ALLOWANCE>",
"SRA_ALLOW_ACCOUNT_DEPLOYMENT": "<SRA_ALLOW_ACCOUNT_DEPLOYMENT>"
}
}
}
}
{
"mcpServers": {
"sra-riskgate-mcp": {
"command": "uvx",
"args": [
"sra-riskgate-mcp==0.15.0"
],
"env": {
"SRA_BASE_URL": "<SRA_BASE_URL>",
"SRA_MODEL": "<SRA_MODEL>",
"SRA_MAX_AMOUNT": "<SRA_MAX_AMOUNT>",
"SRA_ALLOWED_TOKENS": "<SRA_ALLOWED_TOKENS>",
"SRA_EXTRA_TOKENS": "<SRA_EXTRA_TOKENS>",
"SRA_EXTRA_TOKENS_FILE": "<SRA_EXTRA_TOKENS_FILE>",
"SRA_KNOWN_RECIPIENTS": "<SRA_KNOWN_RECIPIENTS>",
"SRA_KNOWN_RECIPIENTS_FILE": "<SRA_KNOWN_RECIPIENTS_FILE>",
"SRA_BLOCKED_ADDRESSES": "<SRA_BLOCKED_ADDRESSES>",
"SRA_BLOCKED_ADDRESSES_FILE": "<SRA_BLOCKED_ADDRESSES_FILE>",
"SRA_MAX_AUTH_VALIDITY_SECONDS": "<SRA_MAX_AUTH_VALIDITY_SECONDS>",
"SRA_API_KEY": "<SRA_API_KEY>",
"SRA_TIMEOUT": "<SRA_TIMEOUT>",
"SRA_DEPEG_HOLD_PCT": "<SRA_DEPEG_HOLD_PCT>",
"SRA_DEPEG_REJECT_PCT": "<SRA_DEPEG_REJECT_PCT>",
"SRA_MAX_GATEWAY_VALIDITY_SECONDS": "<SRA_MAX_GATEWAY_VALIDITY_SECONDS>",
"SRA_CIRCLE_WALLETS": "<SRA_CIRCLE_WALLETS>",
"SRA_CIRCLE_USDC_TOKEN_IDS": "<SRA_CIRCLE_USDC_TOKEN_IDS>",
"SRA_EXPECTED_DELEGATES": "<SRA_EXPECTED_DELEGATES>",
"SRA_EXPECTED_DELEGATES_FILE": "<SRA_EXPECTED_DELEGATES_FILE>",
"SRA_EXPECTED_PAYMASTERS": "<SRA_EXPECTED_PAYMASTERS>",
"SRA_EXPECTED_PAYMASTERS_FILE": "<SRA_EXPECTED_PAYMASTERS_FILE>",
"SRA_EXPECTED_SPENDERS": "<SRA_EXPECTED_SPENDERS>",
"SRA_EXPECTED_SPENDERS_FILE": "<SRA_EXPECTED_SPENDERS_FILE>",
"SRA_MAX_ALLOWANCE": "<SRA_MAX_ALLOWANCE>",
"SRA_ALLOW_ACCOUNT_DEPLOYMENT": "<SRA_ALLOW_ACCOUNT_DEPLOYMENT>"
}
}
}
}
{
"servers": {
"sra-riskgate-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"sra-riskgate-mcp==0.15.0"
],
"env": {
"SRA_BASE_URL": "<SRA_BASE_URL>",
"SRA_MODEL": "<SRA_MODEL>",
"SRA_MAX_AMOUNT": "<SRA_MAX_AMOUNT>",
"SRA_ALLOWED_TOKENS": "<SRA_ALLOWED_TOKENS>",
"SRA_EXTRA_TOKENS": "<SRA_EXTRA_TOKENS>",
"SRA_EXTRA_TOKENS_FILE": "<SRA_EXTRA_TOKENS_FILE>",
"SRA_KNOWN_RECIPIENTS": "<SRA_KNOWN_RECIPIENTS>",
"SRA_KNOWN_RECIPIENTS_FILE": "<SRA_KNOWN_RECIPIENTS_FILE>",
"SRA_BLOCKED_ADDRESSES": "<SRA_BLOCKED_ADDRESSES>",
"SRA_BLOCKED_ADDRESSES_FILE": "<SRA_BLOCKED_ADDRESSES_FILE>",
"SRA_MAX_AUTH_VALIDITY_SECONDS": "<SRA_MAX_AUTH_VALIDITY_SECONDS>",
"SRA_API_KEY": "<SRA_API_KEY>",
"SRA_TIMEOUT": "<SRA_TIMEOUT>",
"SRA_DEPEG_HOLD_PCT": "<SRA_DEPEG_HOLD_PCT>",
"SRA_DEPEG_REJECT_PCT": "<SRA_DEPEG_REJECT_PCT>",
"SRA_MAX_GATEWAY_VALIDITY_SECONDS": "<SRA_MAX_GATEWAY_VALIDITY_SECONDS>",
"SRA_CIRCLE_WALLETS": "<SRA_CIRCLE_WALLETS>",
"SRA_CIRCLE_USDC_TOKEN_IDS": "<SRA_CIRCLE_USDC_TOKEN_IDS>",
"SRA_EXPECTED_DELEGATES": "<SRA_EXPECTED_DELEGATES>",
"SRA_EXPECTED_DELEGATES_FILE": "<SRA_EXPECTED_DELEGATES_FILE>",
"SRA_EXPECTED_PAYMASTERS": "<SRA_EXPECTED_PAYMASTERS>",
"SRA_EXPECTED_PAYMASTERS_FILE": "<SRA_EXPECTED_PAYMASTERS_FILE>",
"SRA_EXPECTED_SPENDERS": "<SRA_EXPECTED_SPENDERS>",
"SRA_EXPECTED_SPENDERS_FILE": "<SRA_EXPECTED_SPENDERS_FILE>",
"SRA_MAX_ALLOWANCE": "<SRA_MAX_ALLOWANCE>",
"SRA_ALLOW_ACCOUNT_DEPLOYMENT": "<SRA_ALLOW_ACCOUNT_DEPLOYMENT>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
SRA_BASE_URLOptional | OpenAI-compatible endpoint serving SRA-RiskGate-4B (default: Ollama at http://localhost:11434/v1) |
SRA_MODELOptional | Model name on that endpoint (default: sriram1983007/sra-riskgate) |
SRA_MAX_AMOUNTOptional | Rule ceiling in whole tokens of the stablecoin paid; larger payments are held (default: 1000) |
SRA_ALLOWED_TOKENSOptional | Stablecoins the payment checks may approve: USDC, USDT, USDB, USDG (comma-separated). Default: USDC only |
SRA_EXTRA_TOKENSOptional | US-dollar stablecoins the SDK does not list, as JSON: [{"symbol", "chain_id", "contract", "decimals", "eip3009"}]. Enable payments in them with SRA_ALLOWED_TOKENS |
SRA_EXTRA_TOKENS_FILEOptional | Path to a JSON file in the SRA_EXTRA_TOKENS format |
SRA_KNOWN_RECIPIENTSOptional | Verified payee addresses, comma-separated; payments to anyone else are held (default: check off) |
SRA_KNOWN_RECIPIENTS_FILEOptional | File with one verified payee address per line, added to SRA_KNOWN_RECIPIENTS |
SRA_BLOCKED_ADDRESSESOptional | Addresses to always reject, comma-separated |
SRA_BLOCKED_ADDRESSES_FILEOptional | File with one address to reject per line, added to SRA_BLOCKED_ADDRESSES |
SRA_MAX_AUTH_VALIDITY_SECONDSOptional | Longest an x402 authorization may stay valid before it is held (default: 3600) |
SRA_API_KEYOptional, secret | API key for the model endpoint, if it needs one |
SRA_TIMEOUTOptional | Seconds to wait for the model (default: 120) |
SRA_DEPEG_HOLD_PCTOptional | Hold payments when USDC is this many percent off $1.00 (default: 1) |
SRA_DEPEG_REJECT_PCTOptional | Reject payments when USDC is this many percent off $1.00 (default: 5) |
SRA_MAX_GATEWAY_VALIDITY_SECONDSOptional | Longest a Circle Gateway batched payment may stay valid before it is held (default: 691200, 8 days) |
SRA_CIRCLE_WALLETSOptional | Circle Wallets the agent may use, as walletId=0xaddress pairs, comma-separated; any other wallet is held |
SRA_CIRCLE_USDC_TOKEN_IDSOptional | Circle token ids confirmed to be USDC, for transfers by tokenId, comma-separated |
SRA_EXPECTED_DELEGATESOptional | EIP-7702 delegate contracts your wallet uses on purpose, comma-separated; with account_code, any other delegation is held |
SRA_EXPECTED_DELEGATES_FILEOptional | File with one expected delegate address per line, added to SRA_EXPECTED_DELEGATES |
SRA_EXPECTED_PAYMASTERSOptional | Paymasters your smart account uses on purpose (comma/space separated). When set, a UserOperation with any other paymaster is held. |
SRA_EXPECTED_PAYMASTERS_FILEOptional | File with one expected paymaster address per line. |
SRA_EXPECTED_SPENDERSOptional | Contracts your wallet approved on purpose (comma/space separated). check_allowances holds an allowance to any other spender. |
SRA_EXPECTED_SPENDERS_FILEOptional | File with one expected spender address per line. |
SRA_MAX_ALLOWANCEOptional | The most any one spender may be allowed, in whole tokens. check_allowances holds anything larger. |
SRA_ALLOW_ACCOUNT_DEPLOYMENTOptional | Set to 1 to allow a UserOperation that also deploys the smart account (initCode/factory). Default: held. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.github.sriram1983007-dev/sra-riskgate-mcp |
More finance and crypto servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
