DEV Community

nerosaa
nerosaa

Posted on

Free USDT Payment-Check MCP for Claude and Cursor (No Paid APIs)

If you invoice in USDT, the awkward part is not sending the address — it is answering “did the payment actually land?” without opening five explorers.

I open-sourced a small stdio MCP server that does exactly that for freelancers paid in crypto.

Repo: nerosaa/usdt-agent-skills-lite (MIT)

Glama: usdt-agent-skills-lite

What it does

Two tools, stdlib-only Python, free public endpoints:

Tool Purpose
validate_address Basic format check before you publish an invoice address
check_usdt_payment Look for inbound USDT on tron / bsc / ethereum / solana

Optional explorer keys (BSCSCAN_API_KEY, ETHERSCAN_API_KEY) improve rate limits but are not required. The server never asks for private keys or seed phrases.

Why MCP instead of another CLI

With MCP wired into Claude Desktop or Cursor, you can stay in the same chat where you drafted the invoice:

Validate this TRON address, then check whether at least 25 USDT arrived since this morning.

The model calls the tools and returns paid / not_paid / error plus the best matching tx hash.

Install in one minute

git clone https://github.com/nerosaa/usdt-agent-skills-lite.git
Enter fullscreen mode Exit fullscreen mode

MCP config (absolute path required):

{
  "mcpServers": {
    "usdt-payment-check": {
      "command": "python3",
      "args": ["/absolute/path/to/usdt-agent-skills-lite/mcp-usdt-payment-check/server.py"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

CLI smoke test (no MCP client needed):

python3 mcp-usdt-payment-check/server.py validate tron TYourAddressHere
python3 mcp-usdt-payment-check/server.py check bsc 0xYourAddressHere 25
Enter fullscreen mode Exit fullscreen mode

One prompt to use

You have the usdt-payment-check MCP. First call validate_address with chain and address. If ok, call check_usdt_payment with the same chain/address, min_amount set to the invoice total in USDT, and optional since_ms (unix ms) so older transfers are ignored. Reply with status (paid / not_paid / error), match count, and the best matching tx hash. Never ask for private keys.

Example:

Check BSC for inbound USDT to 0xYourAddressHere of at least 25 USDT. Summarize status and the best matching transaction.

Paid packs (optional)

The lite MCP stays free and MIT. Feedback and issues welcome on GitHub.

Free helpers (no checkout): USDT network fees · tool site home

Disclaimer: Read-only public chain data. Not financial, tax, or legal advice. Re-check large amounts on the official explorer UI.

Top comments (0)