Skip to main content
Glama

get-user-profile

Retrieve LeetCode user profile data by providing a username to access contest history, problem statistics, and ranking information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYesLeetCode username

Implementation Reference

  • The handler function that implements the core logic of the 'get-user-profile' tool: fetches the LeetCode user profile and returns it as formatted JSON or an error message.
    async ({ username }) => { try { const data = await leetcodeService.fetchUserProfile(username); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : String(error); return { content: [{ type: "text", text: `Error: ${errorMessage}` }], isError: true }; }
  • Input schema definition using Zod, specifying the required 'username' parameter.
    { username: z.string().describe("LeetCode username") },
  • Registration of the 'get-user-profile' tool on the MCP server, including schema and handler.
    server.tool( "get-user-profile", { username: z.string().describe("LeetCode username") }, async ({ username }) => { try { const data = await leetcodeService.fetchUserProfile(username); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : String(error); return { content: [{ type: "text", text: `Error: ${errorMessage}` }], isError: true }; } } );
  • Supporting method in LeetCodeService that executes the GraphQL query to retrieve user profile data.
    /** * Fetch user profile data */ async fetchUserProfile(username: string) { return this.executeQuery(userProfileQuery, { username }); }
  • GraphQL query used to fetch comprehensive user profile information from LeetCode API.
    export const userProfileQuery = ` query getUserProfile($username: String!) { matchedUser(username: $username) { username submitStats: submitStatsGlobal { acSubmissionNum { difficulty count submissions } totalSubmissionNum { difficulty count submissions } } profile { ranking reputation starRating realName aboutMe userAvatar skillTags country company school websites countryName location contestCount asciiCode socialAccounts skillSet { langLevels { langName langVerboseName level } topics { slug name level } } } } } `;

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/doggybee/mcp-server-leetcode'

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