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.
| Group | Tools | Key | Scope | Network |
|---|---|---|---|---|
| Free lookups | get_price, list_price_symbols, list_models, chat_free | No | Free; none | No payment |
| Chat, paid per call, no extra scope, USDC on Base or Solana | chat | Yes; paid | No extra scope | USDC on Base or Solana |
| Your account, free and read-only, needs a key | get_balance, get_limits, get_receipts | Yes; free, read-only | Account read; no paid-tool scope | Account data |
| Web, paid per call, search scope, USDC on Base or Solana | web_search, read_page | Yes; paid | search | USDC on Base or Solana |
| Market and data, paid per call, tools scope, Base accounts for now | get_weather, get_singit_risk_check, get_x_profile, get_crypto_news, get_hyperliquid_market, get_funding_rates, resolve_ens, get_token_price | Yes; paid | tools | USDC 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
kind | string | required | crypto, metal, fx | What kind of price to look up. |
symbol | string | optional | None | Ticker for crypto or metal, e.g. BTC, XAU. |
base | string | optional | None | Base currency for fx, e.g. USD. |
quote | string | optional | None | Quote 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
kind | string | optional | chat, images, audio | Defaults 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
prompt | string | optional | None | The question, as one user message. Send exactly one of prompt or messages. |
messages | array | optional | None | A whole conversation instead of prompt: text messages, oldest first. |
model | string | optional | None | A free model id such as deepseek-v4.1-flash; the free/ prefix is added if missing. Defaults to free/deepseek-v4.1-flash. |
max_tokens | integer | optional | None | Longest 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
prompt | string | optional | None | The question, as one user message. Send exactly one of prompt or messages. |
messages | array | optional | None | A whole conversation instead of prompt: text messages, oldest first. |
model | string | optional | None | A SingIt model id from list_models, without a free/ prefix. Omit it for SingIt's default model. |
max_tokens | integer | optional | None | Longest answer, in tokens (1 to 8192, default 1024). Reasoning models think inside this budget, so leave room. minimum: 1; maximum: 8192 |
system | string | optional | None | An 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
limit | integer | optional | None | How many, newest first. Defaults to 10. minimum: 1; maximum: 50 |
kind | string | optional | charge, topup, refund | charge (default): what this key spent; topup: money added to the account; refund. |
before | integer | optional | None | Only 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
web_search
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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
query | string | required | None | What to search the web for. |
numResults | integer | optional | None | Defaults to a few. minimum: 1; maximum: 10 |
type | string | optional | auto, 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
url | string | required | None | The 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
username | string | required | None | Twitter/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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
asset | string | required | None | Perpetual 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
symbol | string | required | None | Market 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
input | string | required | None | .eth name or Ethereum address. |
network | string | optional | None | Ethereum 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.
| Name | Type | Required/optional | Allowed values | Description and bounds |
|---|---|---|---|---|
symbol | string | required | None | Token ticker, e.g. ETH, BTC, SOL. |
Key needed? Yes; paid; scope: tools; network: USDC on Base only for now; readOnlyHint: true; idempotentHint: false.
Continue with MCP setup, the singit-mcp repository or llms.txt.