Skip to main content
Glama
CodeDreamer06

MonkeyType MCP Server

check_username

Verify username availability on MonkeyType by checking if a desired username is already taken, enabling users to find available options.

Instructions

Check if a username is available on MonkeyType

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesUsername to check for availability

Implementation Reference

  • The switch case handler for the 'check_username' tool. It constructs parameters from the input args, calls the shared 'callMonkeyTypeApi' helper with the specific MonkeyType endpoint '/users/checkname' using GET method, and returns the JSON-stringified result as tool output.
    case "check_username": { const params = { name: args.name }; const result = await callMonkeyTypeApi(`/users/checkname`, 'GET', apiKey, params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }
  • Zod schema defining the input parameters for the 'check_username' tool: a required 'name' string representing the username to check.
    const CheckNameSchema = BaseApiSchema.extend({ name: z.string().describe("Username to check for availability") });
  • server.js:163-167 (registration)
    Registration of the 'check_username' tool in the MCP server's listTools response, including name, description, and input schema derived from CheckNameSchema.
    { name: "check_username", description: "Check if a username is available on MonkeyType", inputSchema: zodToJsonSchema(CheckNameSchema), },
  • Shared helper function used by all tools, including 'check_username', to make authenticated HTTP requests to the MonkeyType API using axios, handling GET/POST, errors, and returning data or error objects.
    async function callMonkeyTypeApi(endpoint, method, apiKey, params = {}, data = null) { try { const headers = { 'Authorization': `ApeKey ${apiKey}`, 'Content-Type': 'application/json', 'User-Agent': 'MonkeyType-MCP-Server/1.0.0' }; const config = { headers, timeout: 30000, validateStatus: status => status < 500 }; if (method === 'GET' && Object.keys(params).length > 0) { config.params = params; } let response; if (method === 'GET') { response = await axios.get(`${MONKEYTYPE_API_BASE_URL}${endpoint}`, config); } else if (method === 'POST') { response = await axios.post(`${MONKEYTYPE_API_BASE_URL}${endpoint}`, data, config); } return response.data; } catch (error) { console.error(`Error calling MonkeyType API: ${error.message}`); if (error.response) { return { error: error.response.data, statusCode: error.response.status }; } return { error: error.message }; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CodeDreamer06/MonkeytypeMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server