get_coin_profile
Retrieve comprehensive cryptocurrency data including price, market cap, historical changes, supply metrics, and descriptive details for informed analysis.
Instructions
Get a detailed profile for a specific cryptocurrency by symbol (e.g., BTC, ETH, SOL). Returns current price, market cap, 24h/7d/30d price changes, volume, circulating supply, ATH/ATL data, category tags, and description. Use search_coins first if you're unsure of the exact symbol.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol in uppercase (e.g., BTC, ETH, SOL, DOGE) |
Implementation Reference
- src/tools/coin-profile.ts:18-20 (handler)The handler function that executes the logic for the "get_coin_profile" tool. It fetches coin data from the API using the provided symbol.
export async function handler(args: z.infer<typeof schema>) { return apiGet(`/api/v1/coins/${args.symbol.toUpperCase()}`); } - src/tools/coin-profile.ts:12-16 (schema)The Zod schema defining the expected input for the "get_coin_profile" tool.
export const schema = z.object({ symbol: z .string() .describe("Coin symbol in uppercase (e.g., BTC, ETH, SOL, DOGE)"), }); - src/index.ts:55-78 (registration)The tool registration loop in src/index.ts that registers all tools, including "get_coin_profile", into the McpServer.
for (const tool of tools) { server.tool(tool.name, tool.description, tool.schema.shape, async (args: Record<string, unknown>) => { const result = await tool.handler(args as any); if (result.ok) { return { content: [ { type: "text" as const, text: JSON.stringify(result.data, null, 2), }, ], }; } else { return { content: [ { type: "text" as const, text: `API Error (${result.status}): ${result.error}`, }, ], isError: true, }; } });