get_speed_histogram
Analyze and visualize speed distribution for typing tests on MonkeyType by specifying language, mode, and parameters using a histogram generator.
Instructions
Get speed histogram data
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | Target language for the speed histogram (e.g., 'english') | |
| mode | Yes | Typing mode (e.g., 'time', 'words') | |
| mode2 | Yes | Secondary mode parameter (e.g., '60' for time mode) |
Implementation Reference
- server.js:59-63 (schema)Zod schema definition for input validation of get_speed_histogram tool.const GetSpeedHistogramSchema = BaseApiSchema.extend({ language: z.string().describe("Target language for the speed histogram (e.g., 'english')"), mode: z.enum(["time", "words", "quote", "custom", "zen"]).describe("Typing mode (e.g., 'time', 'words')"), mode2: z.string().describe("Secondary mode parameter (e.g., '60' for time mode)") });
- server.js:222-226 (registration)Tool registration in the list of tools returned by ListToolsRequestSchema handler.{ name: "get_speed_histogram", description: "Get speed histogram data", inputSchema: zodToJsonSchema(GetSpeedHistogramSchema), },
- server.js:411-422 (handler)Switch case handler that calls the MonkeyType API endpoint /public/speedHistogram with provided parameters.case "get_speed_histogram": { const params = { language: args.language, mode: args.mode, mode2: args.mode2 }; const result = await callMonkeyTypeApi('/public/speedHistogram', 'GET', apiKey, params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }