Koskamo

SafeRoute MCP

SafeRoute provides noncustodial payment control and pre-transaction safety infrastructure for AI agents on Base. It enables agents to safely swap assets, verify transactions, and pay x402 resources without holding funds or signing transactions on behalf of users.

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.

SafeRoute MCP logo, by Nature's PotentCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Nature's Potent
MCP endpoint (Streamable HTTP)
https://api.usesaferoute.com/mcp
Vendor documentation

What its tools do

13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

13 of 13 have a description · 0 of 13 declare behavior hints · 0 of 12 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Safely pay an x402 resource
  • Swap WETH to USDC on Base
  • Check token risk before buying
  • Simulate a transaction before signing

Source and maintenance

Community listingRegistry 0.18.1
Maintenance checked

Protocol and capabilities

Server
saferoute 0.18.1
MCP protocol negotiated in check
2025-11-25
Tools
13 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

13 advertised

protect_payment
Advertised by the server during the last successful anonymous check.

One automatic x402 payment-safety front door: pre-payment ALLOW/BLOCK, duplicate-safe ID binding, policy risk reasons, and optional mined-settlement verification. Free and rate-limited; the buyer signs and pays.

protect_payment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "idempotencyKey",
    "payment"
  ],
  "properties": {
    "payment": {
      "type": "object",
      "required": [
        "payer",
        "paymentRequired"
      ],
      "properties": {
        "payer": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "policy": {
          "type": "object",
          "properties": {
            "allowedHosts": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100
            },
            "allowedPayees": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^0x[a-fA-F0-9]{40}$"
              },
              "maxItems": 100
            },
            "blockedPayees": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^0x[a-fA-F0-9]{40}$"
              },
              "maxItems": 100
            },
            "maxAmountAtomic": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "reviewAboveAmountAtomic": {
              "type": "string",
              "pattern": "^\\d+$"
            }
          },
          "additionalProperties": false
        },
        "referralCode": {
          "type": "string",
          "maxLength": 64,
          "minLength": 3
        },
        "sourceAgentId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        },
        "paymentRequired": {
          "type": "object",
          "required": [
            "x402Version",
            "resource",
            "accepts"
          ],
          "properties": {
            "accepts": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "scheme",
                  "network",
                  "asset",
                  "amount",
                  "payTo",
                  "maxTimeoutSeconds"
                ],
                "properties": {
                  "asset": {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]{40}$"
                  },
                  "payTo": {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]{40}$"
                  },
                  "amount": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  },
                  "scheme": {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 1
                  },
                  "network": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 1
                  },
                  "maxTimeoutSeconds": {
                    "type": "integer",
                    "maximum": 3600,
                    "minimum": 1
                  }
                },
                "additionalProperties": {}
              },
              "maxItems": 20,
              "minItems": 1
            },
            "resource": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": {}
            },
            "x402Version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            }
          },
          "additionalProperties": {}
        }
      },
      "additionalProperties": false
    },
    "settlement": {
      "type": "object",
      "properties": {
        "transactionHash": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{64}$"
        },
        "paymentResponseHeader": {
          "type": "string",
          "maxLength": 8192,
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9._:-]+$",
      "maxLength": 128,
      "minLength": 16
    }
  }
}
check_base_swap
Advertised by the server during the last successful anonymous check.

Wallet-free approved-token Base swap safety preflight. Costs $0.001 USDC.

check_base_swap input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to",
    "amount"
  ],
  "properties": {
    "to": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "amount": {
      "type": "string"
    },
    "intentId": {
      "type": "string"
    },
    "referralCode": {
      "type": "string"
    },
    "sourceAgentId": {
      "type": "string"
    },
    "discoverySource": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_.:-]{1,80}$"
    }
  }
}
get_safe_swap_quote
Advertised by the server during the last successful anonymous check.

Safety-checked noncustodial Base swap quote. Costs $0.01 USDC; the buyer signs and broadcasts.

get_safe_swap_quote input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to",
    "amount",
    "wallet"
  ],
  "properties": {
    "to": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "amount": {
      "type": "string"
    },
    "wallet": {
      "type": "string"
    },
    "intentId": {
      "type": "string"
    },
    "referralCode": {
      "type": "string"
    },
    "executionMode": {
      "enum": [
        "standard",
        "gasless"
      ],
      "type": "string"
    },
    "sourceAgentId": {
      "type": "string"
    },
    "discoverySource": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_.:-]{1,80}$"
    }
  }
}
prove_safe_action
Advertised by the server during the last successful anonymous check.

Create a signed pre-sign ALLOW, BLOCK, or REVIEW receipt. Costs $0.05 USDC.

prove_safe_action input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "action"
  ],
  "properties": {
    "to": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "token": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "action": {
      "enum": [
        "trade",
        "transaction",
        "token"
      ],
      "type": "string"
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(?:\\.\\d+)?$"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "transaction": {
      "type": "object",
      "required": [
        "from",
        "to",
        "data"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "data": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]+$"
        },
        "from": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "value": {
          "type": "string",
          "pattern": "^\\d+$"
        }
      }
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "executionMode": {
      "type": "string",
      "const": "standard"
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
check_wallet_risk
Advertised by the server during the last successful anonymous check.

Read-only Base wallet account-posture check. Costs $0.01 USDC.

check_wallet_risk input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "wallet"
  ],
  "properties": {
    "wallet": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
check_token_risk
Advertised by the server during the last successful anonymous check.

Approved Base token risk and liquidity check. Costs $0.03 USDC.

check_token_risk input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
preflight_transaction
Advertised by the server during the last successful anonymous check.

Decode and simulate approved Base ERC-20 calldata or SafeRoute's exact official ERC-8004 registration. Costs $0.05 USDC.

preflight_transaction input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "transaction"
  ],
  "properties": {
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "transaction": {
      "type": "object",
      "required": [
        "from",
        "to",
        "data"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "data": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]+$"
        },
        "from": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "value": {
          "type": "string",
          "pattern": "^\\d+$"
        }
      }
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
prepare_token_transfer
Advertised by the server during the last successful anonymous check.

Prepare a bounded, simulated unsigned Base token transfer. Costs $0.10 USDC.

prepare_token_transfer input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "token",
    "amount",
    "sender",
    "recipient"
  ],
  "properties": {
    "token": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(?:\\.\\d+)?$"
    },
    "sender": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "recipient": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
guard_base_trade
Advertised by the server during the last successful anonymous check.

Complete pre-sign trade guard with route and simulation evidence. Costs $0.12 USDC.

guard_base_trade input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to",
    "amount",
    "wallet"
  ],
  "properties": {
    "to": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "USDC",
        "WETH",
        "EURC",
        "CBETH",
        "CBBTC",
        "VIRTUAL",
        "AERO"
      ],
      "type": "string"
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(?:\\.\\d+)?$"
    },
    "wallet": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "executionMode": {
      "type": "string",
      "const": "standard"
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    }
  }
}
verify_transaction_intent
Advertised by the server during the last successful anonymous check.

Compare a mined Base transaction with buyer intent. Costs $0.05 USDC.

verify_transaction_intent input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "transactionHash",
    "intent"
  ],
  "properties": {
    "intent": {
      "type": "object",
      "required": [
        "sender",
        "recipient",
        "sellToken",
        "buyToken",
        "sellAmount",
        "minimumBuyAmount"
      ],
      "properties": {
        "sender": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "buyToken": {
          "enum": [
            "USDC",
            "WETH",
            "EURC",
            "CBETH",
            "CBBTC",
            "VIRTUAL",
            "AERO"
          ],
          "type": "string"
        },
        "recipient": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "sellToken": {
          "enum": [
            "USDC",
            "WETH",
            "EURC",
            "CBETH",
            "CBBTC",
            "VIRTUAL",
            "AERO"
          ],
          "type": "string"
        },
        "sellAmount": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$"
        },
        "expectedTarget": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "minimumBuyAmount": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$"
        },
        "expectedBuyAmount": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$"
        },
        "expectedCalldataHash": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{64}$"
        }
      }
    },
    "intentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 16
    },
    "referralCode": {
      "type": "string",
      "maxLength": 64,
      "minLength": 3
    },
    "sourceAgentId": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "transactionHash": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{64}$"
    }
  }
}
verify_swap_execution
Advertised by the server during the last successful anonymous check.

Verify a standard-mode SafeRoute Base execution against its signed receipt. Free; referral payouts remain disabled.

verify_swap_execution input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "transactionHash",
    "receipt",
    "receiptSignature"
  ],
  "properties": {
    "receipt": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "transactionHash": {
      "type": "string"
    },
    "receiptSignature": {
      "type": "string"
    }
  }
}
route_agent_payment
Advertised by the server during the last successful anonymous check.

Prepare a bounded, simulated exact-buy route to a payer-owned Base USDC target covering the x402 payment and optional buffer. Costs $0.05 USDC; buyer confirms funding, then retries standard x402 once.

route_agent_payment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request"
  ],
  "properties": {
    "request": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  }
}
list_supported_assets
Advertised by the server during the last successful anonymous check.

List SafeRoute's seven approved Base assets, limits, fees, and execution modes. Free.

list_supported_assets input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
956 ms
95th percentile latency
956 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 956 ms · metadata changed · 13 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http saferoute-mcp https://api.usesaferoute.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add saferoute-mcp --url https://api.usesaferoute.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable saferoute-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "saferoute-mcp": {
      "url": "https://api.usesaferoute.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "saferoute-mcp": {
      "type": "streamableHttp",
      "url": "https://api.usesaferoute.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start saferoute-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "saferoute-mcp": {
      "type": "http",
      "url": "https://api.usesaferoute.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http saferoute-mcp https://api.usesaferoute.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.usesaferoute.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "saferoute-mcp": {
      "serverUrl": "https://api.usesaferoute.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SafeRoute MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.