SingIt MCP tools reference

All 18 tools at https://app.singitai.app/mcp: remote Streamable HTTP, JSON only. See MCP setup and get a key.

Tool groups
GroupToolsKeyScopeNetwork
Free lookupsget_price, list_price_symbols, list_models, chat_freeNoFree; noneNo payment
Chat, paid per call, no extra scope, USDC on Base or SolanachatYes; paidNo extra scopeUSDC on Base or Solana
Your account, free and read-only, needs a keyget_balance, get_limits, get_receiptsYes; free, read-onlyAccount read; no paid-tool scopeAccount data
Web, paid per call, search scope, USDC on Base or Solanaweb_search, read_pageYes; paidsearchUSDC on Base or Solana
Market and data, paid per call, tools scope, Base accounts for nowget_weather, get_singit_risk_check, get_x_profile, get_crypto_news, get_hyperliquid_market, get_funding_rates, resolve_ens, get_token_priceYes; paidtoolsUSDC on Base only for now

How this list was checked

This reference is generated from the repository's tool list (18 tools, including the free chat_free and the paid chat). The live server keeps listing the earlier 16 tools at version 0.1.3 until the gateway is restarted with this release; nothing here was checked against it again.

Spending limits

The key's daily and per-request caps are enforced by SingIt's server for calls made with that key to SingIt's MCP and the same key's /v1 endpoint. They do not limit what an agent spends anywhere else. SingIt's contracts do not protect other people's agents' own wallets.

Paid calls are charged to the key's own limits in USDC. A refused call returns isError true and nothing is charged. Repeating a paid call charges again. Read-only tools can still cost money. get_limits shows what is spent and left today. See MCP key setup and agent spending limits.

Free lookups

get_price

Current price of a major cryptocurrency, gold or silver (Chainlink on Base), or an exchange rate between two currencies. Use for quick quotes of well-known assets; call list_price_symbols when unsure a symbol is covered. Free, no key needed.

get_price parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
kindstringrequiredcrypto, metal, fxWhat kind of price to look up.
symbolstringoptionalNoneTicker for crypto or metal, e.g. BTC, XAU.
basestringoptionalNoneBase currency for fx, e.g. USD.
quotestringoptionalNoneQuote currency for fx, e.g. EUR.

Key needed? No; scope: Free; none; network: No payment; readOnlyHint: true; idempotentHint: true.

list_price_symbols

Every crypto, metal and currency symbol get_price supports. Call it before get_price when unsure a symbol is covered. Free, no key needed.

Parameters: None

Key needed? No; scope: Free; none; network: No payment; readOnlyHint: true; idempotentHint: true.

list_models

The AI models (chat, images or audio) available through SingIt, with their prices. Chat models can be called with chat or through SingIt's OpenAI-compatible API at https://app.singitai.app/v1. Free, no key needed.

list_models parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
kindstringoptionalchat, images, audioDefaults to chat.

Key needed? No; scope: Free; none; network: No payment; readOnlyHint: true; idempotentHint: true.

chat_free

Free model answers, no key needed. Answers are short (400 tokens), with a small daily allowance shared per network and a shared daily budget that can run out. To pay for a model answer with your key use chat with the same model without the free/ prefix.

chat_free parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
promptstringoptionalNoneThe question, as one user message. Send exactly one of prompt or messages.
messagesarrayoptionalNoneA whole conversation instead of prompt: text messages, oldest first.
modelstringoptionalNoneA free model id such as deepseek-v4.1-flash; the free/ prefix is added if missing. Defaults to free/deepseek-v4.1-flash.
max_tokensintegeroptionalNoneLongest answer, in tokens (1 to 400, default 400). minimum: 1; maximum: 400

Key needed? No; scope: Free; none; network: No payment; readOnlyHint: true; idempotentHint: false.

Chat, paid per call, no extra scope, USDC on Base or Solana

chat

Paid per call from your key's SingIt balance and limits in USDC. The server enforces per-request and daily caps; a call over a cap is refused before anything is charged. Use list_models for model ids and prices, get_limits for what remains, and get_receipts for the charge. Pass max_tokens high enough for reasoning models: thinking uses the same budget.

chat parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
promptstringoptionalNoneThe question, as one user message. Send exactly one of prompt or messages.
messagesarrayoptionalNoneA whole conversation instead of prompt: text messages, oldest first.
modelstringoptionalNoneA SingIt model id from list_models, without a free/ prefix. Omit it for SingIt's default model.
max_tokensintegeroptionalNoneLongest answer, in tokens (1 to 8192, default 1024). Reasoning models think inside this budget, so leave room. minimum: 1; maximum: 8192
systemstringoptionalNoneAn optional system message; only together with prompt.

Key needed? Yes; paid; scope: No extra scope; network: USDC on Base or Solana; readOnlyHint: true; idempotentHint: false.

Your account, free and read-only, needs a key

get_balance

Your SingIt API balance: available and held USDC, auto top-up and pending top-ups. Use to check funds before paid calls. Free, but needs your API key.

Parameters: None

Key needed? Yes; free, read-only; scope: Account read; no paid-tool scope; network: Account data; readOnlyHint: true; idempotentHint: true.

get_limits

What your API key may still spend: its daily and per-request caps, spent and remaining today, scopes and expiry, plus your account's balance and, on Base, your allowance limiter (caps, left today, approved from your wallet, paused = emergency stop, expired). Read-only: it cannot change a limit. Use before a paid call to see whether it fits. Free, but needs your API key.

Parameters: None

Key needed? Yes; free, read-only; scope: Account read; no paid-tool scope; network: Account data; readOnlyHint: true; idempotentHint: true.

get_receipts

Your recent receipts, newest first: for each, its id, time, model, USDC charged, tokens and the upstream reference (kind charge, this key only), or the account's top-ups and refunds with their transaction and network. Read-only; page back with `before`. Free, but needs your API key.

get_receipts parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
limitintegeroptionalNoneHow many, newest first. Defaults to 10. minimum: 1; maximum: 50
kindstringoptionalcharge, topup, refundcharge (default): what this key spent; topup: money added to the account; refund.
beforeintegeroptionalNoneOnly entries older than this receipt id: pass the last id of the previous page. minimum: 1

Key needed? Yes; free, read-only; scope: Account read; no paid-tool scope; network: Account data; readOnlyHint: true; idempotentHint: true.

Web, paid per call, search scope, USDC on Base or Solana

Searches the web through Exa and returns titles, URLs and snippets of matching pages. Use for current or niche information, then read_page for a full page. Paid per call from your key's SingIt limits in USDC on Base or Solana; needs the key's "search" scope.

web_search parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
querystringrequiredNoneWhat to search the web for.
numResultsintegeroptionalNoneDefaults to a few. minimum: 1; maximum: 10
typestringoptionalauto, fast, neural, keyword

Key needed? Yes; paid; scope: search; network: USDC on Base or Solana; readOnlyHint: true; idempotentHint: false.

read_page

The readable text of one web page (up to 8000 characters), through Exa. Use after web_search, or when you already have a URL. Paid per call from your key's SingIt limits in USDC on Base or Solana; needs the key's "search" scope.

read_page parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
urlstringrequiredNoneThe http(s) page to read.

Key needed? Yes; paid; scope: search; network: USDC on Base or Solana; readOnlyHint: true; idempotentHint: false.

Market and data, paid per call, tools scope, Base accounts for now

get_weather

A sample weather forecast from GoPlausible's x402 demo service on Algorand. Takes no location and returns a fixed example, so it is mainly useful to try a paid call end to end. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

Parameters: None

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_singit_risk_check

SingIt's risk check on Bankr x402 Cloud, run on a fixed sample payment request (no input). Mainly useful to try a paid call end to end. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

Parameters: None

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_x_profile

Public profile data for an X (Twitter) account by username, from twit.sh's x402 API. Use to check who is behind a handle. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

get_x_profile parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
usernamestringrequiredNoneTwitter/X screen name without @.

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_crypto_news

Latest crypto market headlines with sentiment, from Otto AI. Use to see what is moving the market today; takes no input. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

Parameters: None

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_hyperliquid_market

One Hyperliquid perpetual market (e.g. BTC): price, funding, open interest, max leverage and size rules, from Otto AI. Use for Hyperliquid's own contract details; use get_funding_rates to compare venues. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

get_hyperliquid_market parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
assetstringrequiredNonePerpetual market ticker, e.g. BTC, ETH, SOL.

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_funding_rates

Funding rates for one symbol across exchanges, with open interest, long/short ratio, large positions and liquidations, from Otto AI. Use to compare venues or gauge positioning; use get_hyperliquid_market for one Hyperliquid contract. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

get_funding_rates parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
symbolstringrequiredNoneMarket ticker, e.g. BTC, ETH, SOL.

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

resolve_ens

Turns an ENS name (e.g. vitalik.eth) into its address, or an address into its primary ENS name. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

resolve_ens parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
inputstringrequiredNone.eth name or Ethereum address.
networkstringoptionalNoneEthereum network, defaults to ethereum.

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.

get_token_price

USD price of a major token by symbol from a paid x402 price API. get_price is free and covers the same majors, so prefer it; use this as a second source. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.

get_token_price parameters
NameTypeRequired/optionalAllowed valuesDescription and bounds
symbolstringrequiredNoneToken ticker, e.g. ETH, BTC, SOL.

Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.