@alpha-arcade/mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALPHA_API_KEY | No | Alpha partners API key (optional, enables get_full_orderbook) | |
| ALPHA_MNEMONIC | No | 25-word Algorand mnemonic (required for trading) | |
| ALPHA_ALGOD_SERVER | No | Algod URL (default: mainnet Algonode) | |
| ALPHA_USDC_ASSET_ID | No | USDC ASA ID (default: 31566704) | |
| ALPHA_INDEXER_SERVER | No | Indexer URL (default: mainnet Algonode) | |
| ALPHA_MATCHER_APP_ID | No | Matcher app ID (default: 3078581851) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_agent_guideA | Returns the Alpha Arcade agent guide — data model, units, orderbook mechanics, workflows, and common pitfalls. Read this before interacting with prediction markets. |
| get_live_marketsA | Fetch all live markets. Returns summary: id, title, marketAppId, prices, volume. Multi-choice markets have an options[] array — use options[].marketAppId for trading, not the parent. Prices (yesPrice/noPrice) are formatted as dollars. Read the agent-guide resource for full data model details. |
| get_reward_marketsA | Fetch all reward markets from the Alpha REST API. Returns markets that have liquidity rewards (totalRewards, rewardsPaidOut, etc.). Requires ALPHA_API_KEY for API access. Same summary shape as get_live_markets: id, title, marketAppId, prices, volume; multi-choice markets have options[]. |
| get_marketA | Fetch full details for a single market by ID (app ID string for on-chain, UUID for API). Returns the complete market object including options for multi-choice markets. |
| get_orderbookA | Fetch the on-chain orderbook as a unified YES-perspective view. Merges all 4 sides (YES bids/asks + NO bids/asks) into a single book: NO bids become YES asks at $(1-X), NO asks become YES bids at $(1-X). Asks sorted low-to-high, bids sorted high-to-low. Includes spread calculation. |
| get_full_orderbookA | Fetch the full processed orderbook snapshot from the Alpha REST API for a market. Requires ALPHA_API_KEY. Input is the Alpha market ID (UUID), not marketAppId. Returns the same app-keyed snapshot shape as websocket orderbook_changed.orderbook. |
| get_open_ordersA | Fetch all open orders for a wallet on a specific market. You must provide walletAddress or set ALPHA_MNEMONIC. |
| get_positionsA | Fetch all YES/NO token positions for a wallet across all markets. You must provide walletAddress or set ALPHA_MNEMONIC. |
| create_limit_orderA | Place a limit order on a prediction market. Price and quantity in microunits (500000 = $0.50, 1000000 = 1 share). Locks ~0.957 ALGO collateral (refunded on cancel/fill). Returns escrowAppId — save it for cancel_order. |
| create_market_orderA | Place a market order with auto-matching against best available counterparty orders. Price, quantity, and slippage in microunits (500000 = $0.50, 1000000 = 1 share, 50000 = $0.05 slippage). Locks ~0.957 ALGO collateral. Returns escrowAppId, matched quantity, and actual fill price. |
| cancel_orderA | Cancel an open order. Requires escrowAppId (from create_limit_order or get_open_orders) and orderOwner (the Algorand address that created it). Refunds USDC/tokens and ~0.957 ALGO collateral. |
| amend_orderA | Edit an existing unfilled order in-place (change price, quantity, or slippage). Faster and cheaper than cancel + recreate. Only works on orders with zero quantity filled. Collateral is adjusted automatically — extra funds are sent if value increases, refunded if it decreases. |
| propose_matchA | Propose a match between an existing maker order and the configured wallet as taker. The maker escrowAppId and address can be found via get_orderbook. quantityMatched is in microunits. |
| split_sharesA | Split USDC into equal YES and NO outcome tokens. 1 USDC (1000000 microunits) = 1 YES + 1 NO. |
| merge_sharesA | Merge equal YES and NO outcome tokens back into USDC. 1 YES + 1 NO = 1 USDC. |
| claimA | Claim USDC from a resolved market by redeeming outcome tokens. Winning = 1:1 USDC. Losing = burned. |
| stream_orderbookA | Get a real-time orderbook snapshot for a market via WebSocket. Faster than on-chain reads (~5s vs ~10s). Returns the same full processed snapshot shape as get_full_orderbook, with bids, asks, spread, and per-side YES/NO detail. Requires the market slug (URL-friendly name), not the market app ID. |
| stream_live_marketsA | Collect real-time market probability changes via WebSocket for a specified duration. Returns all accumulated changes (market ID, probability patches, spread/midpoint updates). Useful for seeing which markets are active right now. |
| stream_marketA | Watch a single market by slug via WebSocket and return the first change event. Times out if no change occurs. Requires the market slug, not the market app ID. |
| stream_wallet_ordersA | Watch a wallet for order changes via WebSocket and return the first change event. Times out if no orders change. You must provide walletAddress or set ALPHA_MNEMONIC. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| agent-guide | Agent guide for Alpha Arcade prediction markets — data model, units, mechanics, workflows, and common pitfalls |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/phara23/alpha-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server