get_leaderboard
Retrieve a typed leaderboard from the MonkeyType MCP Server by specifying language, mode, secondary mode, page, and page size for filtered results.
Instructions
Get typing test leaderboard
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | Target language for the leaderboard | |
| mode | Yes | Typing mode for the leaderboard | |
| mode2 | Yes | Secondary mode parameter | |
| page | No | Page number, 0-indexed. Default 0. | |
| pageSize | No | Number of entries per page. Default 50, min 10, max 200. |
Implementation Reference
- server.js:432-446 (handler)Handler for the 'get_leaderboard' tool. Constructs query parameters from input arguments and calls the MonkeyType API '/leaderboards' endpoint, returning the JSON response as text.case "get_leaderboard": { const params = { language: args.language, mode: args.mode, mode2: args.mode2 }; if (args.page !== undefined) params.page = args.page; if (args.pageSize !== undefined) params.pageSize = args.pageSize; const result = await callMonkeyTypeApi('/leaderboards', 'GET', apiKey, params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }
- server.js:68-74 (schema)Zod schema for input validation of the 'get_leaderboard' tool, defining parameters like language, mode, mode2, page, and pageSize.const GetLeaderboardSchema = BaseApiSchema.extend({ language: z.string().describe("Target language for the leaderboard"), mode: z.enum(["time", "words", "quote", "custom", "zen"]).describe("Typing mode for the leaderboard"), mode2: z.string().describe("Secondary mode parameter"), page: z.number().int().min(0).optional().describe("Page number, 0-indexed. Default 0."), pageSize: z.number().int().min(10).max(200).optional().describe("Number of entries per page. Default 50, min 10, max 200.") });
- server.js:235-238 (registration)Registration of the 'get_leaderboard' tool in the list of available tools, including name, description, and input schema.name: "get_leaderboard", description: "Get typing test leaderboard", inputSchema: zodToJsonSchema(GetLeaderboardSchema), },