Send the roach in first: Solana token holder checks for agents. Pay per call, no key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer rk_live_... key from app.stillroach.com/watch for paid tools. The basic check runs without it.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Alerts (bagwatch.alert.v1) across your watched coins and wallets, oldest first, after the given cursor. Pass next_cursor back to page. Requires a Watch plan key. Free.
next_cursor from a previous call; omit for the start
Alerts (bagwatch.alert.v1) across your watched coins and wallets, oldest first, after the given cursor. Pass next_cursor back to page. Requires a Watch plan key. Free.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| cursor | string | next_cursor from a previous call; omit for the start |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
},
"cursor": {
"type": "string",
"description": "next_cursor from a previous call; omit for the start"
}
},
"additionalProperties": false
}Full Bag Check (bagcheck.v1): verdict with reasons, shell/rug checks, top-holder behaviour (never sold / sold / churn / fresh), bundles, callers. 1 credit for a fresh scan, 0 if a scan newer than max_data_age_seconds exists. Requires an API key. Not financial advice.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Solana token mint address (base58) |
| idempotency_key | string | retry-safe key: a repeat returns the first result at no cost |
| max_data_age_seconds | integer | reuse a cached scan up to this age (free) |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana token mint address (base58)"
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"description": "retry-safe key: a repeat returns the first result at no cost"
},
"max_data_age_seconds": {
"type": "integer",
"default": 600,
"maximum": 3600,
"minimum": 0,
"description": "reuse a cached scan up to this age (free)"
}
},
"additionalProperties": false
}Free: verdict, token facts, shell check and holder summary for a Solana mint if it was scanned in the last hour. Returns status=not_cached otherwise. No key needed.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Solana token mint address (base58) |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana token mint address (base58)"
}
},
"additionalProperties": false
}Lite read (bagcheck.lite.v1): verdict, top-10 holder %, dev stake, launch buy / dev sold, KOL wallets holding, basic flags. Free for 3 fresh reads per day, then 1 credit; cached reads are free. Requires an API key. Not financial advice.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Solana token mint address (base58) |
| max_data_age_seconds | integer | reuse a cached lite read up to this age (free) |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana token mint address (base58)"
},
"max_data_age_seconds": {
"type": "integer",
"default": 600,
"maximum": 3600,
"minimum": 0,
"description": "reuse a cached lite read up to this age (free)"
}
},
"additionalProperties": false
}Free, no key: credit pack prices (100 credits for 0.05 SOL, 5 USDC, or $STILL at 20% off; Solana only, no cards) and the keyless x402 pay-per-call option (USDC on Solana: lite 0.02, full 0.08 fresh / 0.02 cached, AI +0.04). Read-only: never moves funds. Ask the user before any payment.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Credits left in your 30-day cycle (pool_resets_at = next refill) for your key, where they come from (free / Watch / Roach tier), and the per-key daily cap. Free.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Current Bag Watch snapshot and recent alerts (bagwatch.report.v1) for a coin on your Watch list. Requires a key for a wallet with an active Watch plan. Free.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Solana token mint address (base58) |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana token mint address (base58)"
}
},
"additionalProperties": false
}