Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort to listen on. Cloud Run sets this itself.8080
PUBLIC_URLNoThe deployed service URL. Advertised as the OAuth issuer. Required for the Claude connector UI.
GMGN_WEIGHTNoComposite blend weight for GMGN.0.4
DEFAULT_POOLNoDefault pool.auto
GMGN_API_KEYNoOptional second risk source. Leave blank to run on RugCheck-only scoring; the composite reweights to 100% RugCheck automatically.
MAX_TRADE_USDNoPer-trade size cap maximum.20
MIN_TRADE_USDNoPer-trade size cap minimum.10
MCP_AUTH_TOKENNoAuth token for HTTP transport. Required only for the HTTP transport (`dist/http.js`). The server refuses to start without it for HTTP.
SOLANA_RPC_URLNoSolana RPC URL. Defaults to the public mainnet RPC; a dedicated RPC (Helius, QuickNode, etc.) will be faster and more reliable for `get_position`.
RUGCHECK_WEIGHTNoComposite blend weight for RugCheck.0.6
GMGN_API_BASE_URLNoGMGN API base URL. Defaults to `https://openapi.gmgn.ai` and rarely needs setting.https://openapi.gmgn.ai
WALLET_PUBLIC_KEYYesYour Solana wallet's public address (not a private key/seed phrase).
PUMPPORTAL_API_KEYNoFree key from pumpportal.fun, used only for the real-time data WebSocket (new-token/trade feeds). Not required for building trade transactions.
DAILY_SPEND_CAP_USDNoCumulative daily buy cap.100
WALLET_KEYPAIR_PATHNoPath to a wallet secret file, default `keys`. The file must be mode 600 or stricter and must match WALLET_PUBLIC_KEY.keys
AUTO_TRADING_ENABLEDNoLeave `false` for manual signing; set to `true` to enable automatic execution. Never enable this with a wallet holding unrelated funds.false
DEFAULT_SLIPPAGE_PCTNoDefault slippage percentage.10
RISK_SCORE_THRESHOLDNo0–100, higher = riskier. Buys above this are refused.50
WEEKLY_SPEND_CAP_USDNoCumulative weekly buy cap.400
WALLET_KEYPAIR_SECRETNoPrivate key source; alternative to WALLET_KEYPAIR_PATH. Only read when auto-trading is enabled.
DEFAULT_PRIORITY_FEE_SOLNoDefault priority fee in SOL.0.0005
RISK_SCORE_FRESHNESS_MINNoHow recently `get_risk_score` must have run to gate a buy.10
MCP_ALLOW_UNAUTHENTICATEDNoDisables the bearer requirement. Private networks only.false
GOOGLE_APPLICATION_CREDENTIALSNoLocal dev only. Path to service account key file. Leave blank on Cloud Run.
GOOGLE_TRADE_LOG_SPREADSHEET_IDNoThe trade-log spreadsheet's ID. Required for the logging layer.
GOOGLE_ACTIVE_POSITIONS_SPREADSHEET_IDNoThe active-positions spreadsheet's ID. Required for the logging layer.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_new_tokensA

List newly launched pump.fun tokens observed by this server's live feed since it started. Returns mint address, name, symbol, creator, and how long ago each was seen. This is a discovery tool only — it does not assess safety, use get_risk_score for that.

get_token_detailA

Get price/liquidity/holder/contract detail for a specific pump.fun token mint. Combines this server's live trade feed (bonding curve state, implied price) with RugCheck's on-chain report (holders, mint/freeze authority, metadata). Live price data is only available for tokens this server has observed trades for — call this once to subscribe, then again a few seconds later if price fields are missing.

get_risk_scoreA

Compute a composite rug-pull risk score (0-100, higher = riskier) for a token mint by combining RugCheck (mint/freeze authority, LP lock, holder concentration, mutable metadata) and GMGN (rug ratio, bundled/insider buy detection, holder concentration). Returns the score, whether it clears the configured threshold, and a human-readable list of triggered flags. You must call this for a mint (and it must pass) before prepare_buy will accept it.

get_positionA

Read the configured wallet's current on-chain holdings (source of truth — reads the chain directly, doesn't rely on this server's own trade history) and, where available, an estimated unrealized P/L based on this server's log of prepared buys for that mint. Since trades are signed manually by you, cost-basis is an estimate: it assumes prepared buys were actually executed at roughly the sizes requested.

prepare_buyA

Build an UNSIGNED buy transaction for a pump.fun token, sized within the configured per-trade and spend-cap limits. This server never holds a private key and never signs or broadcasts anything — it returns a base64-encoded transaction for you to review and sign yourself in your own wallet (e.g. paste into a wallet that supports raw transaction signing, or use the accompanying CLI/script). Refuses to build the transaction unless get_risk_score has been called recently for this mint and it passed the configured threshold, and unless the requested USD size is within [MIN_TRADE_USD, MAX_TRADE_USD] and the daily/weekly spend caps.

prepare_sellA

Build an UNSIGNED sell transaction for a pump.fun position (take-profit or manual exit), sized as a percentage of your current holdings of that token. Like prepare_buy, this never signs or broadcasts anything — you sign the returned transaction yourself. No risk gate applies to exits (you're always free to sell).

execute_buyB

Risk-check, build, sign, and broadcast a pump.fun buy. Requires AUTO_TRADING_ENABLED=true and the configured keypair.

execute_sellA

Build, sign, and broadcast a pump.fun sell for part or all of a held position. Requires AUTO_TRADING_ENABLED=true.

get_market_activityA

Live trading activity for a token from DexScreener: buy vs sell counts, volume and price change across 5m / 1h / 6h / 24h, aggregated across every pair the token trades on. Returns derived signals too — buy/sell ratio per window, whether buying pressure is strengthening or weakening as the window shortens, volume acceleration against the 24h average, liquidity as a share of market cap, and token age mapped to a lifecycle phase. Use this alongside get_risk_score: risk scoring says whether a token is a scam, this says whether anyone is actually buying it. Works on any token DexScreener has indexed, which for a brand-new pump.fun launch can lag the launch by a few minutes.

gdrive_statusA

Check that the connector can reach both Google Sheets. Reports the identity it's authenticating as (the service account email, when running on Cloud Run or with a key file) and each spreadsheet's title and tab names. Run this first — if it reports a permission error, share both spreadsheets with the service account email it prints.

create_investment_planA

Create a new investment plan BEFORE any buy. Writes one row to 'Investment Plans' in the permanent trade-log spreadsheet and a matching row (status ACTIVE) to 'Active Positions' in the working spreadsheet, sharing a newly generated Plan ID. Per the spec, no buy should be prepared without a Plan ID existing first — the plan is the thesis on record justifying the trade. The aggregate columns (Total Invested, P&L, Status) are sheet formulas and are never written by this tool.

log_transactionA

Append one transaction row (Buy or Sell) to the permanent 'Trade Log' sheet, tagged with its Plan ID. Call this after a trade actually settles on-chain — one row per leg, so a DCA entry or a scaled take-profit exit produces several rows under the same Plan ID. The Investment Plans sheet recalculates its totals automatically from these rows.

log_creator_activityA

Append one creator-mention row to the append-only 'Creator Activity' sheet for an open plan. This is the evolving evidence trail used to decide whether to hold or exit — distinct from the static thesis written once at plan creation. Should be logged at least daily while a plan is open.

log_creator_activity_batchA

Append several creator-mention rows at once — the efficient way to record a periodic review sweep, since it's one round trip and one spreadsheet write instead of one per mention. Entries may span multiple plans. Prefer this over repeated log_creator_activity calls whenever you have more than one mention to record.

update_active_positionA

Update the working columns of an open position in 'Active Positions' — lifecycle phase, social momentum, next review time, and quick notes. Stamps the last-review timestamp automatically. The computed columns (active creator count, creator list, last mention) are sheet formulas and are left untouched, as is the ACTIVE/CLOSED status — use close_plan to change that.

get_plansA

Read back all investment plans from the permanent spreadsheet, including the formula-computed totals (Total Invested, Realized P&L, Status). Use this for the track-record loop — reviewing which entry signals actually worked before committing to a new trade.

review_positionsA

The full picture of your open positions, rebuilt from the spreadsheets rather than from anything remembered in this conversation. For each open plan it returns: the written thesis and social evidence recorded at entry, the planned buy/sell strategy, position sizing and realized P&L (from the sheet's formulas), the creator-activity trail, and — read live from chain and the price feed, not the sheet — current holdings, price, and unrealized P&L. Also flags positions whose next-review time has passed. Start here when picking up an existing position; it's the durable memory this connector is built around.

close_planA

Close out a finished plan: marks its 'Active Positions' row and all its 'Creator Activity' rows as CLOSED in the working spreadsheet. Nothing is deleted — rows stay in place so the evidence trail remains auditable and the sheet's formulas keep their alignment. The permanent trade-log spreadsheet is untouched. Refuses unless the plan's formula-computed Status reads 'Closed' (all bought tokens sold), unless force is set.

Prompts

Interactive templates invoked by user choice

NameDescription
review_sweepPeriodic review of all open positions: refresh state from the sheets, research current creator/social activity on the web, and log what's found. Use this as the recurring trigger.
evaluate_tokenEvaluate a candidate token end to end: risk screen, social momentum research, and a verdict on whether it clears both gates before any buy is prepared.

Resources

Contextual data attached and managed by the client

NameDescription

No resources