get_personal_bests
Retrieve your personal best typing scores from MonkeyType to track progress across different modes like time trials, word tests, quotes, and zen typing.
Instructions
Get user's personal best typing scores
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Mode for personal bests (time, words, quote, zen). Defaults to 'time' | |
| mode2 | No | Secondary mode parameter for time mode (e.g., 15, 30, 60, 120). Defaults to '15' |
Implementation Reference
- server.js:301-312 (handler)Handler for get_personal_bests tool: constructs params with defaults for mode and mode2, calls the MonkeyType API endpoint '/users/personalBests', and returns the JSON result.case "get_personal_bests": { // Add required mode parameter const params = { mode: args.mode || "time", // Default to time mode if not specified mode2: args.mode2 || "15" // Default to 15 seconds if not specified (confirmed from previous change) }; const result = await callMonkeyTypeApi('/users/personalBests', 'GET', apiKey, params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }
- server.js:24-27 (schema)Zod schema defining optional input parameters mode and mode2 for the get_personal_bests tool.const GetPersonalBestsSchema = BaseApiSchema.extend({ mode: z.string().optional().describe("Mode for personal bests (time, words, quote, zen). Defaults to 'time'"), mode2: z.string().optional().describe("Secondary mode parameter for time mode (e.g., 15, 30, 60, 120). Defaults to '15'") });
- server.js:168-172 (registration)Registration of the get_personal_bests tool in the list of tools returned by ListToolsRequest, including name, description, and input schema.{ name: "get_personal_bests", description: "Get user's personal best typing scores", inputSchema: zodToJsonSchema(GetPersonalBestsSchema), },