- Home
- MCP servers
- MonkeyType
MonkeyType
- javascript
0
GitHub Stars
javascript
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"codedreamer06-monkeytypemcp": {
"command": "sh",
"args": [
"-c",
"cd $(mktemp -d) && npm install monkeytype-mcp && npx monkeytype-mcp"
],
"env": {
"MONKEYTYPE_API_KEY": "YOUR_API_KEY",
"MONKEYTYPE_USERNAME": "my_user"
}
}
}
}You run a MonkeyType MCP Server to expose MonkeyType API endpoints as MCP tools, enabling LLMs to interact with MonkeyType data securely through a unified, programmable interface. This server handles authentication, error handling, and respects API rate limits, so you can build reliable AI-assisted workflows around typing benchmarks, leaderboards, profiles, and more.
How to use
Start by running the MCP server locally and then connect your MCP-enabled client (such as an LLM platform) to the server as an MCP tool provider. You interact with the server by invoking any of the exposed MonkeyType endpoints as MCP tools. Supply your ApeKey to authorize requests, and optionally set MONKEYTYPE_USERNAME to target a specific user when tools support defaulting to a user.
How to install
Choose a method to run the server that fits your workflow.
npx monkeytype-mcp
This downloads and runs the latest version of the server directly.
Or install globally and run from the command line.
npm install -g monkeytype-mcp monkeytype-mcp
If you prefer to set up manually by cloning the project, follow these steps.
git clone https://github.com/CodeDreamer06/MonkeytypeMCP.git cd MonkeytypeMCP npm install npm start
## Configuration and security
Configure your client to use the MCP server as the provider for MCP tool calls. You must supply your MonkeyType API key through an environment variable when launching the server or configuring the IDE/Platform connection.
Environment variables to set on the server side include MONKEYTYPE\_API\_KEY (required) and MONKEYTYPE\_USERNAME (optional). The API key authorizes all MCP tool calls to MonkeyType.
Example configuration snippet for IDE integration shows how to start the MCP server with an inline command and environment variable.
## Troubleshooting and notes
If you encounter authentication errors, verify that MONKEYTYPE\_API\_KEY is correct and that the key has the required scopes for the endpoints you intend to use.
If tools return rate-limiting responses, respect MonkeyType's rate limits and retry with backoff in your client.
For IDE integrations, ensure the MCP config is loaded by your editor/IDE and that the environment variables are correctly propagated to the running MCP process.
## Example configuration for IDE integration
{ "mcpServers": { "monkeytype": { "command": "sh", "args": ["-c", "cd $(mktemp -d) && npm install monkeytype-mcp && npx monkeytype-mcp"], "env": { "MONKEYTYPE_API_KEY": "YOUR_APE_KEY_HERE" } } } }
## Available tools
### check\_username
Check if a username is available for registration or usage.
### get\_personal\_bests
Retrieve a user's personal best scores across typing sessions.
### get\_tags
Fetch the tags associated with a user.
### get\_stats
Get overall statistics for a user.
### get\_profile
Fetch a user's public profile; can use keywords like "me" with a configured username.
### send\_forgot\_password\_email
Trigger sending a password reset email to the user.
### get\_current\_test\_activity
Query the current typing test activity for a user.
### get\_streak
Retrieve the user's current typing streak.
### get\_results
Return up to 1000 typing test results for a user.
### get\_result\_by\_id
Fetch a specific result by its ID.
### get\_last\_result
Retrieve the most recent typing test result.
### get\_speed\_histogram
Get a histogram of typing speeds.
### get\_typing\_stats
Fetch aggregated typing statistics for a user.
### get\_leaderboard
Return a leaderboard across users.
### get\_leaderboard\_rank
Get a user’s rank on the leaderboard.
### get\_daily\_leaderboard
Get the daily leaderboard.
### get\_weekly\_xp\_leaderboard
Get the weekly XP leaderboard.
### get\_psas
Fetch public service announcements.
### is\_submission\_enabled
Check if quote submission is currently enabled.
### get\_configuration
Fetch current server configuration and settings.