market_recent_candles
Retrieve the most recent 1-minute candle history for any market. Analyze short-term intraday structure, momentum, and micro-pullbacks with up to 12 hours of data.
Instructions
Get recent 1-minute candle history for a market. Best for short intraday structure checks, recent momentum, and micro-pullback analysis. This MCP tool is intentionally capped to the most recent 12 hours so agents do not fetch huge minute-bar dumps in one call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| useToonFormat | No | Return data in compact toon format (default: true). Set to false for standard JSON. | |
| symbol | Yes | Market symbol (e.g. BTC, ETH, SOL, xyz:GOLD, cash:TSLA) | |
| limit | No | Number of 1-minute candles to return. Capped at 720 candles (12h) to keep MCP responses practical. |
Implementation Reference
- src/index.ts:940-954 (handler)The handler function that executes the 'market_recent_candles' tool logic. It calls the API at `/pulse/market/candles/recent/{symbol}` with interval '1m' and the requested limit.
// TOOL 28: Recent 1m Candles // ══════════════════════════════════════════════════════════ if (shouldRegister("market_recent_candles")) server.registerTool( "market_recent_candles", { description: "Get recent 1-minute candle history for a market. Best for short intraday structure checks, recent momentum, and micro-pullback analysis. This MCP tool is intentionally capped to the most recent 12 hours so agents do not fetch huge minute-bar dumps in one call.", inputSchema: { useToonFormat: useToonFormatSchema, symbol: z.string().min(1).max(20).describe("Market symbol (e.g. BTC, ETH, SOL, xyz:GOLD, cash:TSLA)"), limit: z.number().min(1).max(720).default(240).describe("Number of 1-minute candles to return. Capped at 720 candles (12h) to keep MCP responses practical."), }, }, async ({ useToonFormat, symbol, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/market/candles/recent/${normalizeCoin(symbol)}`, { interval: "1m", limit: String(limit) })) ); - src/index.ts:942-954 (registration)Tool registration using `server.registerTool` with the name 'market_recent_candles', schema description, input validation (symbol, limit, useToonFormat), and the handler function.
if (shouldRegister("market_recent_candles")) server.registerTool( "market_recent_candles", { description: "Get recent 1-minute candle history for a market. Best for short intraday structure checks, recent momentum, and micro-pullback analysis. This MCP tool is intentionally capped to the most recent 12 hours so agents do not fetch huge minute-bar dumps in one call.", inputSchema: { useToonFormat: useToonFormatSchema, symbol: z.string().min(1).max(20).describe("Market symbol (e.g. BTC, ETH, SOL, xyz:GOLD, cash:TSLA)"), limit: z.number().min(1).max(720).default(240).describe("Number of 1-minute candles to return. Capped at 720 candles (12h) to keep MCP responses practical."), }, }, async ({ useToonFormat, symbol, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/market/candles/recent/${normalizeCoin(symbol)}`, { interval: "1m", limit: String(limit) })) ); - src/index.ts:944-950 (schema)Input schema for the tool: 'useToonFormat' (boolean), 'symbol' (string, min 1 max 20), and 'limit' (number, min 1 max 720, default 240) for the number of 1-minute candles.
{ description: "Get recent 1-minute candle history for a market. Best for short intraday structure checks, recent momentum, and micro-pullback analysis. This MCP tool is intentionally capped to the most recent 12 hours so agents do not fetch huge minute-bar dumps in one call.", inputSchema: { useToonFormat: useToonFormatSchema, symbol: z.string().min(1).max(20).describe("Market symbol (e.g. BTC, ETH, SOL, xyz:GOLD, cash:TSLA)"), limit: z.number().min(1).max(720).default(240).describe("Number of 1-minute candles to return. Capped at 720 candles (12h) to keep MCP responses practical."), }, - build/index.js:695-705 (handler)The compiled JavaScript version of the 'market_recent_candles' tool handler, calling the same API endpoint.
// TOOL 28: Recent 1m Candles // ══════════════════════════════════════════════════════════ if (shouldRegister("market_recent_candles")) server.registerTool("market_recent_candles", { description: "Get recent 1-minute candle history for a market. Best for short intraday structure checks, recent momentum, and micro-pullback analysis. This MCP tool is intentionally capped to the most recent 12 hours so agents do not fetch huge minute-bar dumps in one call.", inputSchema: { useToonFormat: useToonFormatSchema, symbol: z.string().min(1).max(20).describe("Market symbol (e.g. BTC, ETH, SOL, xyz:GOLD, cash:TSLA)"), limit: z.number().min(1).max(720).default(240).describe("Number of 1-minute candles to return. Capped at 720 candles (12h) to keep MCP responses practical."), }, }, async ({ useToonFormat, symbol, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/market/candles/recent/${normalizeCoin(symbol)}`, { interval: "1m", limit: String(limit) })));