jupiter_token_info
Get token metadata including verification status, organic score, daily volume, and holder count for a given mint address on Solana.
Instructions
Get detailed token metadata for a specific mint — verification status, organic score, daily volume, holder count.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Token mint address |
Implementation Reference
- src/tools/tokens.ts:19-29 (handler)Handler for 'jupiter_token_info' tool: registers with Zod schema (mint string) and calls client.tokenInfo(args.mint).
register( "jupiter_token_info", "Get detailed token metadata for a specific mint — verification status, organic score, daily volume, holder count.", { mint: z.string().describe("Token mint address"), }, async (args) => { const result = await client.tokenInfo(args.mint); return JSON.stringify(result, null, 2); }, ); - src/tools/tokens.ts:5-30 (registration)Registration: registerTokenTools uses the 'register' function to register 'jupiter_token_info' with the MCP server.
export function registerTokenTools(register: ToolRegistrar, client: JupiterClient) { register( "jupiter_token_search", "Search for Solana tokens by name, symbol, or mint address. Returns metadata, verification status, organic scores, and trading metrics.", { query: z.string().describe("Token name, symbol, or mint address"), limit: z.number().optional().describe("Max results (default 10)"), }, async (args) => { const result = await client.tokenSearch(args.query, args.limit); return JSON.stringify(result, null, 2); }, ); register( "jupiter_token_info", "Get detailed token metadata for a specific mint — verification status, organic score, daily volume, holder count.", { mint: z.string().describe("Token mint address"), }, async (args) => { const result = await client.tokenInfo(args.mint); return JSON.stringify(result, null, 2); }, ); } - src/client.ts:101-104 (helper)Helper: JupiterClient.tokenInfo(mint) makes a GET request to /tokens/v2/{mint} on the Jupiter API.
/** Get token metadata and trading metrics by mint */ async tokenInfo(mint: string) { return this.request(`/tokens/v2/${mint}`); } - src/index.ts:40-58 (registration)Generic 'register' wrapper that calls server.tool() for each tool including jupiter_token_info.
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++; } - src/types.ts:1-9 (schema)ToolRegistrar type definition used for tool registration functions.
import type { z } from "zod"; /** Tool registration function — matches McpServer.tool() signature with Zod */ export type ToolRegistrar = ( name: string, description: string, schema: Record<string, z.ZodType>, handler: (args: any) => Promise<string>, ) => void;