A Model Context Protocol server that enables LLMs to interact with all MonkeyType API endpoints, providing access to typing test data, user profiles, leaderboards, and statistics through natural language.
This is a Model Context Protocol (MCP) server that provides access to all endpoints of the MonkeyType API. The server exposes MCP tools that allow Large Language Models (LLMs) to interact with the MonkeyType API.
The easiest way to run the server is using npx:
npx monkeytype-mcp
This will download and run the latest version of the server directly.
You can also install the package globally:
npm install -g monkeytype-mcp monkeytype-mcp
If you prefer to clone the repository:
git clone https://github.com/CodeDreamer06/MonkeytypeMCP.git cd MonkeytypeMCP npm install npm start
The server exposes the following MonkeyType API endpoints as MCP tools:
check_username
- Check if a username is availableget_personal_bests
- Get user's personal bestsget_tags
- Get user's tagsget_stats
- Get user's statsget_profile
- Get user's profilesend_forgot_password_email
- Send forgot password emailget_current_test_activity
- Get current test activityget_streak
- Get user's streakget_results
- Get up to 1000 test resultsget_result_by_id
- Get result by IDget_last_result
- Get last resultget_speed_histogram
- Get speed histogramget_typing_stats
- Get typing statsget_leaderboard
- Get leaderboardget_leaderboard_rank
- Get leaderboard rankget_daily_leaderboard
- Get daily leaderboardget_weekly_xp_leaderboard
- Get weekly XP leaderboardget_psas
- Get PSAsis_submission_enabled
- Check if quote submission is enabledget_configuration
- Get server configurationTo get your own MonkeyType API key (ApeKey), follow these steps:
Important: Keep your API key secure and never share it publicly.
To use this server with an LLM, you'll need to configure the LLM to use this server for MCP tool calls. You must provide your MonkeyType API key (ApeKey) by setting the MONKEYTYPE_API_KEY
environment variable in your MCP server configuration.
MONKEYTYPE_API_KEY
: (Required) Your MonkeyType API key. You can obtain this from your account settings on monkeytype.com.MONKEYTYPE_USERNAME
: (Optional) Your MonkeyType username or UID. This can be used by certain tools (like get_profile
) as a default or when specific keywords are used.{ "name": "get_configuration", "arguments": {} }
To integrate this server with LLM platforms like OpenAI, Anthropic, or others:
To add MonkeyType MCP to your IDE, add this to your IDE's MCP config file:
{ "mcpServers": { "monkeytype": { "command": "sh", "args": ["-c", "cd $(mktemp -d) && npm install monkeytype-mcp && npx monkeytype-mcp"], "env": { "MONKEYTYPE_API_KEY": "YOUR_APE_KEY_HERE" } } } }
~/.cursor/mcp.json
~/.codeium/windsurf/mcp_config.json
~/.cline/mcp_config.json
~/.claude/mcp_config.json
To use this MCP server in VS Code:
npx monkeytype-mcp
The server exposes the following MonkeyType API endpoints as MCP tools:
check_username
- Check if a username is availableget_personal_bests
- Get user's personal bestsget_tags
- Get user's tagsget_stats
- Get user's statsget_profile
- Get user's profilesend_forgot_password_email
- Send forgot password emailget_current_test_activity
- Get current test activityget_streak
- Get user's streakget_profile
Fetches a user's public profile.
Parameters:
uidOrName
(string, optional): The UID or username of the user whose profile is to be fetched.
MONKEYTYPE_USERNAME
environment variable (if set).MONKEYTYPE_USERNAME
environment variable (if set).uidOrName
parameter is omitted (or a keyword is used) and the MONKEYTYPE_USERNAME
environment variable is not set, an error will occur.get_results
- Get up to 1000 test resultsget_result_by_id
- Get result by IDget_last_result
- Get last resultget_speed_histogram
- Get speed histogramget_typing_stats
- Get typing statsget_leaderboard
- Get leaderboardget_leaderboard_rank
- Get leaderboard rankget_daily_leaderboard
- Get daily leaderboardget_weekly_xp_leaderboard
- Get weekly XP leaderboardget_psas
- Get PSAsis_submission_enabled
- Check if quote submission is enabledget_configuration
- Get server configurationIf you're making changes to this server and want to publish your own version:
npm login npm publish
This project is hosted on GitHub at https://github.com/CodeDreamer06/MonkeytypeMCP.
This project is licensed under the MIT License - see the LICENSE file for details.
This project is not officially affiliated with MonkeyType. Use at your own risk and ensure you comply with MonkeyType's terms of service and API rate limits.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!