by doggybee
Provides fast GraphQL‑based access to LeetCode problems, user profiles, and contest information for AI assistants.
Enables AI assistants to query LeetCode data such as daily challenges, problem details, user statistics, and contest rankings through a Model Context Protocol (MCP) server.
Installation
npx -y @smithery/cli install @doggybee/mcp-server-leetcode --client claude
npm install -g @mcpfun/mcp-server-leetcode
npm install @mcpfun/mcp-server-leetcode
Running
mcp-server-leetcode
(or via npx -y @doggybee/mcp-server-leetcode
).Configuration
Add the server to claude_desktop_config.json
:
{
"mcpServers": {
"leetcode": {
"command": "mcp-server-leetcode"
}
}
}
For local development, point to the built script:
{
"mcpServers": {
"leetcode": {
"command": "node",
"args": ["/path/to/dist/index.js"]
}
}
}
Library usage
import { LeetCodeService } from '@mcpfun/mcp-server-leetcode';
const leetcode = new LeetCodeService();
const daily = await leetcode.getDailyChallenge();
const problems = await leetcode.searchProblems({ difficulty: 'MEDIUM', tags: 'array+dynamic-programming' });
Q: Do I need an API key? A: No API key is required; the server communicates with the public LeetCode endpoints.
Q: Which platforms are supported? A: It runs on any system with Node.js (v14+).
Q: Can I run the server locally without installing globally?
A: Yes, install the package locally and start it with npx -y @doggybee/mcp-server-leetcode
.
Q: How do I limit the number of returned problems?
A: Use the limit
parameter in the search-problems
tool or the corresponding library method.
Q: Is the project open source? A: Yes, it is licensed under the MIT License and hosted on GitHub.
A Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.
To install mcp-server-leetcode for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @doggybee/mcp-server-leetcode --client claude
npm install -g @mcpfun/mcp-server-leetcode
Once installed, you can run it directly from the command line:
mcp-server-leetcode
npm install @mcpfun/mcp-server-leetcode
Add the following to your Claude for Desktop claude_desktop_config.json
file:
{
"mcpServers": {
"leetcode": {
"command": "mcp-server-leetcode"
}
}
}
For local development:
{
"mcpServers": {
"leetcode": {
"command": "node",
"args": ["/path/to/dist/index.js"]
}
}
}
import { LeetCodeService } from '@mcpfun/mcp-server-leetcode';
// Initialize the service
const leetcodeService = new LeetCodeService();
// Get daily challenge
const dailyChallenge = await leetcodeService.getDailyChallenge();
// Search problems
const problems = await leetcodeService.searchProblems({
difficulty: 'MEDIUM',
tags: 'array+dynamic-programming'
});
Tool Name | Description | Parameters |
---|---|---|
get-daily-challenge |
Get the daily challenge | None |
get-problem |
Get details for a specific problem | titleSlug (string) |
search-problems |
Search for problems based on criteria | tags (optional), difficulty (optional), limit (default 20), skip (default 0) |
Tool Name | Description | Parameters |
---|---|---|
get-user-profile |
Get user information | username (string) |
get-user-submissions |
Get user submission history | username (string), limit (optional, default 20) |
get-user-contest-ranking |
Get user contest rankings | username (string) |
Tool Name | Description | Parameters |
---|---|---|
get-contest-details |
Get contest details | contestSlug (string) |
leetcode://daily-challenge
: Daily challengeleetcode://problem/{titleSlug}
: Problem detailsleetcode://problems{?tags,difficulty,limit,skip}
: Problem listleetcode://user/{username}/profile
: User profileleetcode://user/{username}/submissions{?limit}
: User submissionsleetcode://user/{username}/contest-ranking
: User contest rankingClone the repository and install dependencies:
git clone https://github.com/doggybee/mcp-server-leetcode.git
cd mcp-server-leetcode
npm install
Run in development mode:
npm run dev
Build the project:
npm run build
MIT
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "leetcode": { "command": "npx", "args": [ "-y", "@doggybee/mcp-server-leetcode" ], "env": {} } } }