Labsco
SPerekrestova logo

Interactive Leetcode MCP

โ˜… 10

from SPerekrestova

An MCP server enabling guided DSA learning with AI on leetcode.com

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

Interactive LeetCode MCP

npm downloads

MCP Registry

Current project is under active development and may not work perfectly

Features

  • ๐Ÿ” AI-guided authentication - Claude walks you through one-time credential setup
  • ๐ŸŽ“ Learning-guided mode - AI provides hints before solutions to maximize learning
  • ๐Ÿ“ Solution submission - Submit code and get instant results
  • ๐Ÿ’ฌ Conversational workflow - Practice naturally with Claude Code
  • ๐ŸŒ Multi-language support - Java, Python, C++, JavaScript, TypeScript, and more
  • ๐Ÿ“Š Detailed feedback - Runtime stats, memory usage, failed test cases
  • ๐Ÿ“š Problem data - Descriptions, constraints, examples, editorial solutions
  • ๐Ÿ‘ค User tracking - Profile data, submission history, contest rankings

Available Tools

Getting Started

get_started

  • Returns the server usage guide, learning flow, authentication flow, and submission language map
  • Call this at the start of a LeetCode practice session

Authorization

start_leetcode_auth

  • Initiates authentication flow
  • Opens browser to LeetCode login (when possible)
  • Returns structured instructions for AI agent to guide you
  • No parameters required

save_leetcode_credentials

  • Validates and saves your LeetCode credentials
  • Parameters: csrftoken, session (cookie values you provide)
  • Makes test API call to verify credentials
  • Securely stores credentials for future use

check_auth_status

  • Checks if you're authenticated
  • Returns username and credential age
  • Warns if credentials may expire soon
  • No parameters required

Problem Tools

get_daily_challenge

  • Fetch today's daily coding challenge

get_problem

  • Get detailed problem information by slug
  • Parameters: titleSlug (e.g., "two-sum")

search_problems

  • Search problems by difficulty, tags, keywords
  • Supports filtering and pagination

Session and Learning Tools

start_problem

  • Opens or resumes a tutoring session for a problem
  • Parameters: titleSlug, optional language
  • Required before problem-specific hint and solution tools

request_hint

  • Advances progressive hint levels for the active session
  • Parameters: titleSlug
  • Unlocks community solution tools after the final hint level

get_session_state

  • Shows current hint level and session metadata
  • Parameters: titleSlug

reset_session

  • Resets hint progress for a problem
  • Parameters: titleSlug

Local Runner Tools

runner_doctor

  • Reports which local runtimes are available for supported languages

run_local_tests

  • Runs user code against sample tests in a local subprocess sandbox
  • Parameters: titleSlug, language, code, optional timeoutMs

Solution Tools

list_problem_solutions

  • Lists community/editorial solution articles for a problem
  • Parameters: questionSlug, optional limit, skip, orderBy, userInput, tagSlugs
  • Requires the session to reach the solution-unlocked hint level

get_problem_solution

  • Fetches a specific solution article
  • Parameters: topicId, titleSlug
  • Requires the session to reach the solution-unlocked hint level

Submission Tools

submit_solution

  • Submit code and get real-time results
  • Parameters: problemSlug, code, language
  • Returns: acceptance status, runtime, memory, or failed test case

User Tools

get_user_profile

  • Retrieve user profile information

get_recent_submissions

  • Get submission history with filtering

get_recent_ac_submissions

  • Get recent accepted submissions

get_user_status

  • Get authenticated user's status/profile summary

get_problem_submission_report

  • Get submission report for one problem

get_problem_progress

  • Get solved/attempted progress for a problem

get_all_submissions

  • Get paginated submission history

get_user_contest_ranking

  • View contest performance and rankings

Learning Mode

The Interactive LeetCode MCP includes AI agent guidance through MCP Prompts to create a better learning experience.

Features

Workspace Setup: When learning mode is active, Claude will:

  • Create a workspace file named {problem-slug}.{extension}
  • Paste the code template into the file
  • Set up proper naming conventions (e.g., Java class names)

Learning-Guided Mode: When active, Claude follows these guidelines:

  • Provides progressive hints (4 levels) before revealing solutions
  • Asks guiding questions about approach and complexity
  • Encourages independent problem-solving
  • Only shows complete solutions when explicitly requested

Problem Workflow: Guides you through the complete cycle:

  1. Understand the problem
  2. Plan the approach
  3. Set up workspace
  4. Implement with hints
  5. Optimize and analyze complexity
  6. Submit and review results

How to Use Learning Mode

To activate learning mode, tell Claude you want to practice with guidance โ€” for example, "Let's practice in learning mode" or "I want to learn two-sum with hints." Once active:

  1. Call get_started to load the server's usage guide
  2. Fetch a problem with get_daily_challenge, search_problems, or get_problem
  3. Open a session with start_problem
  4. Ask for hints via request_hint rather than jumping straight to solutions
  5. Implement your solution with progressive guidance
  6. Request the solution only after the final hint level or when you want to compare with an optimal approach

Dogfood Testing

To test the MCP server as a black-box MCP client without live LeetCode traffic:

npm run dogfood:local

This builds the server, spawns build/index.js over stdio, connects with the MCP SDK client, uses an isolated HOME, serves LeetCode responses from fixtures, and drives a user-like flow through runner_doctor, start_problem, request_hint, run_local_tests, and get_session_state.

See DOGFOOD_TESTING.md for the full workflow and a copy-paste prompt for local Claude/agent dogfood testing.

Skills & Plugins

This repo also ships an agent skill that teaches Claude (and other AI agents) how to use the MCP server correctly โ€” including session flow, prompt invocations, learning mode, and authentication.

Claude Code Plugin

Install the skill directly as a Claude Code plugin:

/plugin marketplace add SPerekrestova/interactive-leetcode-mcp
/plugin install interactive-leetcode-mcp@interactive-leetcode-mcp

Then start a practice session with:

/interactive-leetcode-mcp:interactive-leetcode-mcp

ClawHub (OpenClaw / Clawbot)

The skill is also published on ClawHub for use with OpenClaw-compatible agents.