jupiter_perps_markets
Retrieve perpetual futures markets on Jupiter, including trading pairs, funding rates, and open interest.
Instructions
List Jupiter perpetual futures markets — trading pairs, funding rates, open interest.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/perps.ts:10-13 (handler)Handler function for jupiter_perps_markets — calls client.perpsMarkets() and returns JSON-stringified result.
async () => { const result = await client.perpsMarkets(); return JSON.stringify(result, null, 2); }, - src/tools/perps.ts:9-9 (schema)Schema for jupiter_perps_markets — empty object (no parameters needed).
{}, - src/tools/perps.ts:6-14 (registration)Registration of jupiter_perps_markets tool via the register() helper which delegates to McpServer.tool().
register( "jupiter_perps_markets", "List Jupiter perpetual futures markets — trading pairs, funding rates, open interest.", {}, async () => { const result = await client.perpsMarkets(); return JSON.stringify(result, null, 2); }, ); - src/client.ts:219-221 (helper)JupiterClient.perpsMarkets() — makes GET request to /perps/v1/markets endpoint (WIP).
async perpsMarkets() { return this.request("/perps/v1/markets"); } - src/index.ts:40-57 (registration)The register() helper that wraps McpServer.tool() — used as the ToolRegistrar passed to registerPerpsTools.
function register( name: string, description: string, shape: Record<string, z.ZodType>, handler: (args: any) => Promise<string>, ) { server.tool(name, description, shape, async (args) => { try { const text = await handler(args); return { content: [{ type: "text" as const, text }] }; } catch (err: any) { return { content: [{ type: "text" as const, text: `Error: ${err.message}` }], isError: true, }; } }); toolCount++;