KushBitx MCP
An official MCP server providing safety checks for AI agents paying on Base, including free SpendGuard policy evaluation and paid transaction preflight, token risk, and payment verification tools.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://kushbitx.com/mcpWhat you can do with it
- Evaluate USDC spending policies against agent budgets
- Simulate transactions to get ALLOW, REVIEW, or BLOCK verdicts
- Screen Base tokens for sellability and market risks
- Verify Base USDC transfer confirmations
Source and maintenance
Protocol and capabilities
- Server
- kushbitx-agentproof 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
spendguard_evaluate — SpendGuard policy check
Free. Check a proposed Base USDC payment against a spending policy you supply (per-transaction limit, daily budget, human-approval threshold, allowed recipients) before money moves. Returns APPROVE, HUMAN_APPROVAL or BLOCK with findings. Advisory only: it never signs, holds keys or moves funds.
{
"type": "object",
"required": [
"agentId",
"requestId",
"chain",
"asset",
"recipient",
"amount",
"policy"
],
"properties": {
"asset": {
"enum": [
"USDC"
],
"type": "string"
},
"chain": {
"enum": [
"base"
],
"type": "string"
},
"amount": {
"type": "string"
},
"policy": {
"type": "object",
"required": [
"maxPerTransaction",
"remainingDailyBudget",
"requireHumanAbove",
"maxRepeats",
"allowedRecipients",
"blockUnknownRecipients"
],
"properties": {
"maxRepeats": {
"type": "integer",
"minimum": 1
},
"allowedRecipients": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
}
},
"maxPerTransaction": {
"type": "string"
},
"requireHumanAbove": {
"type": "string"
},
"remainingDailyBudget": {
"type": "string"
},
"blockUnknownRecipients": {
"type": "boolean"
}
},
"additionalProperties": false
},
"agentId": {
"type": "string"
},
"context": {
"type": "object",
"properties": {
"repeatCount": {
"type": "integer",
"minimum": 0
},
"agentProofDecision": {
"enum": [
"ALLOW",
"WARN",
"BLOCK",
"INCOMPLETE",
"UNKNOWN"
],
"type": "string"
}
},
"additionalProperties": false
},
"recipient": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"requestId": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "SpendGuard policy check",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}quick_check — Quick Check
Fast pre-payment sanity check for agents on Base: confirms the RPC reports Base mainnet (chain ID 8453) and that the official USDC contract has deployed code. No request body. Returns PASS or FAIL with both checks and a timestamp. It is not a token-risk report, transaction simulation or payment proof. Paid tool: 0.001 USDC per call on Base via x402 (exact scheme). An unpaid call returns the payment requirement and charges nothing.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Quick Check",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}token_risk — Token Risk
Token-risk report for one Base ERC-20 contract. Checks whether the token can be sold (honeypot simulation), buy/sell/transfer tax, owner privileges (mint, pause, blacklist, balance changes, proxy upgrades), holder concentration and DEX liquidity. Returns ALLOW, WARN, BLOCK or INCOMPLETE with scored findings and per-check coverage. INCOMPLETE means required evidence was unavailable, never zero risk. Read-only: never signs or trades. Paid tool: 0.001 USDC per call on Base via x402 (exact scheme). An unpaid call returns the payment requirement and charges nothing.
{
"type": "object",
"required": [
"chain",
"address"
],
"properties": {
"chain": {
"enum": [
"base"
],
"type": "string",
"description": "Blockchain network."
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Base token contract address."
}
},
"additionalProperties": false
}{
"title": "Token Risk",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}preflight — Transaction Preflight
Simulate one unsigned Base transaction before an agent signs it. Runs eth_call and gas estimation on current chain state, decodes the intent (ERC-20 transfer, approve, NFT setApprovalForAll), flags unlimited approvals, calldata sent to a non-contract, zero-address targets, reverts and destination risk labels such as phishing or sanctions. Returns ALLOW, WARN, BLOCK or INCOMPLETE with findings. No key or signed transaction is requested. Paid tool: 0.001 USDC per call on Base via x402 (exact scheme). An unpaid call returns the payment requirement and charges nothing.
{
"type": "object",
"required": [
"chain",
"to"
],
"properties": {
"to": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Transaction destination."
},
"data": {
"type": "string",
"pattern": "^0x([a-fA-F0-9]{2})*$",
"description": "Unsigned calldata."
},
"from": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Optional sender used for simulation."
},
"chain": {
"enum": [
"base"
],
"type": "string"
},
"valueWei": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Native ETH value in wei."
}
},
"additionalProperties": false
}{
"title": "Transaction Preflight",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}verify_payment — Payment Proof
Verify one Base USDC payment onchain before an agent releases goods or credit. Reads the transaction receipt and checks the official USDC Transfer logs against the expected recipient, amount and optional sender. Returns VERIFIED, MISMATCH, FAILED or PENDING_OR_NOT_FOUND with block number, confirmations, the matching transfer and a Basescan link. Read-only: never moves funds. Paid tool: 0.00288 USDC per call on Base via x402 (exact scheme). An unpaid call returns the payment requirement and charges nothing.
{
"type": "object",
"required": [
"chain",
"txHash",
"expectedTo",
"expectedAmount"
],
"properties": {
"chain": {
"enum": [
"base"
],
"type": "string"
},
"txHash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"expectedTo": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"expectedFrom": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"expectedAmount": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]{1,6})?$",
"description": "Expected USDC amount."
}
},
"additionalProperties": false
}{
"title": "Payment Proof",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}kushbitx_preflight — KushBitx Preflight
One check before money moves on Base. Simulates the unsigned transaction, decodes approvals and transfers, screens the token and the recipient or spender, and applies a protected SpendGuard policy when given. Returns ALLOW, REVIEW or BLOCK with sourced findings. Fail-closed: no ALLOW unless every check ran. Does not detect prompt injection; use Protected SpendGuard for that. Paid tool: 0.005 USDC per call on Base via x402 (exact scheme). An unpaid call returns the payment requirement and charges nothing.
{
"type": "object",
"required": [
"chainId",
"to"
],
"properties": {
"to": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Transaction destination (contract or wallet)."
},
"data": {
"type": "string",
"pattern": "^0x([a-fA-F0-9]{2})*$",
"description": "Unsigned calldata."
},
"from": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Wallet that will sign. Required in practice: without it the verdict is REVIEW (sender_unknown), because the transaction cannot be simulated from the signing wallet."
},
"value": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Native ETH value in wei."
},
"amount": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]{1,18})?$",
"description": "Amount in token units, for the record."
},
"intent": {
"enum": [
"swap",
"transfer",
"approve",
"buy_token",
"contract_call"
],
"type": "string",
"description": "What the agent means to do."
},
"policy": {
"type": "object",
"required": [
"policyId",
"agentId",
"requestId"
],
"properties": {
"agentId": {
"type": "string"
},
"policyId": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"description": "Protected SpendGuard policy (send the agent key as Authorization: Bearer). Base USDC transfers only.",
"additionalProperties": false
},
"chainId": {
"enum": [
8453
],
"type": "integer",
"description": "Base mainnet."
},
"minAmountOut": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]{1,36})?$",
"description": "Swap: smallest acceptable output, in token units (for example 25.5)."
},
"tokenAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Token to screen, when it is not the transaction destination (for example the token being bought)."
},
"expectedTokenOut": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Swap: token the swap must deliver; 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native ETH. For buy_token, tokenAddress is used when this is absent."
},
"expectedRecipient": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Swap: who must receive the output. Default: from."
}
},
"additionalProperties": false
}{
"title": "KushBitx Preflight",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 364 ms
- 95th percentile latency
- 364 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 364 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http kushbitx-mcp https://kushbitx.com/mcpCodex
codex mcp add kushbitx-mcp --url https://kushbitx.com/mcpCursor
{
"mcpServers": {
"kushbitx-mcp": {
"url": "https://kushbitx.com/mcp"
}
}
}Cline
{
"mcpServers": {
"kushbitx-mcp": {
"type": "streamableHttp",
"url": "https://kushbitx.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"kushbitx-mcp": {
"type": "http",
"url": "https://kushbitx.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http kushbitx-mcp https://kushbitx.com/mcpClaude Desktop
{
"mcpServers": {
"kushbitx-mcp": {
"url": "https://kushbitx.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"kushbitx-mcp": {
"serverUrl": "https://kushbitx.com/mcp"
}
}
}Let your agent find its tools
Find servers like KushBitx MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run KushBitx MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.