https://github.com/doggybee/mcp-server-leetcode
A Model Context Protocol (MCP) server for LeetCode that provides access to problems, user data, and contest information through GraphQL
https://github.com/doggybee/mcp-server-leetcode
Last synced: about 1 month ago
JSON representation
A Model Context Protocol (MCP) server for LeetCode that provides access to problems, user data, and contest information through GraphQL
- Host: GitHub
- URL: https://github.com/doggybee/mcp-server-leetcode
- Owner: doggybee
- License: mit
- Created: 2025-04-02T10:20:48.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-02T10:45:26.000Z (about 1 month ago)
- Last Synced: 2025-04-02T11:28:01.095Z (about 1 month ago)
- Language: TypeScript
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-devops-mcp-servers - doggybee/mcp-server-leetcode - An MCP server that enables AI models to search, retrieve, and solve LeetCode problems. Supports metadata filtering, user profiles, submissions, and contest data access. (CI/CD & DevOps Pipelines / 🤖 Coding Agents)
- awesome-devops-mcp-servers - doggybee/mcp-server-leetcode - An MCP server that enables AI models to search, retrieve, and solve LeetCode problems. Supports metadata filtering, user profiles, submissions, and contest data access. (CI/CD & DevOps Pipelines / 🤖 Coding Agents)
README
# MCP Server LeetCode
[](https://www.npmjs.com/package/@mcpfun/mcp-server-leetcode)
[](https://github.com/doggybee/mcp-server-leetcode/blob/main/LICENSE)
[](https://github.com/doggybee/mcp-server-leetcode/releases)
[](https://smithery.ai/server/@doggybee/mcp-server-leetcode)A Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.
## Features
- 🚀 Fast access to LeetCode API
- 🔍 Search problems, retrieve daily challenges, and check user profiles
- 🏆 Query contest data and rankings
- 🧩 Full support for MCP tools and resources
- 📦 Provides both CLI and programmable API## Installation
### Installing via Smithery
To install mcp-server-leetcode for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@doggybee/mcp-server-leetcode):
```bash
npx -y @smithery/cli install @doggybee/mcp-server-leetcode --client claude
```### Global Installation
```bash
npm install -g @mcpfun/mcp-server-leetcode
```Once installed, you can run it directly from the command line:
```bash
mcp-server-leetcode
```### Local Installation
```bash
npm install @mcpfun/mcp-server-leetcode
```## Usage
### Integration with Claude for Desktop
Add the following to your Claude for Desktop `claude_desktop_config.json` file:
```json
{
"mcpServers": {
"leetcode": {
"command": "mcp-server-leetcode"
}
}
}
```For local development:
```json
{
"mcpServers": {
"leetcode": {
"command": "node",
"args": ["/path/to/dist/index.js"]
}
}
}
```### Use as a Library
```javascript
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'
});
```## Available Tools
### Problem-related Tools
| 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) |### User-related Tools
| 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) |### Contest-related Tools
| Tool Name | Description | Parameters |
|--------|------|------|
| `get-contest-details` | Get contest details | `contestSlug` (string) |## Available Resources
### Problem Resources
- `leetcode://daily-challenge`: Daily challenge
- `leetcode://problem/{titleSlug}`: Problem details
- `leetcode://problems{?tags,difficulty,limit,skip}`: Problem list### User Resources
- `leetcode://user/{username}/profile`: User profile
- `leetcode://user/{username}/submissions{?limit}`: User submissions
- `leetcode://user/{username}/contest-ranking`: User contest ranking## Local Development
Clone the repository and install dependencies:
```bash
git clone https://github.com/doggybee/mcp-server-leetcode.git
cd mcp-server-leetcode
npm install
```Run in development mode:
```bash
npm run dev
```Build the project:
```bash
npm run build
```## License
MIT
## Related Projects
- [Model Context Protocol](https://modelcontextprotocol.io) - MCP specifications and documentation
- [Claude for Desktop](https://claude.ai/download) - AI assistant with MCP support## Acknowledgements
- This project was inspired by [alfa-leetcode-api](https://github.com/alfaarghya/alfa-leetcode-api)