interactive-leetcodeUse when the user wants to practice LeetCode problems, submit solutions, or set up LeetCode integration. Covers MCP server installation, learning-guided practice flow, solution submission, and authentication.
Install via ClawdBot CLI:
clawdbot install SPerekrestova/interactive-leetcodeMCP server for LeetCode practice with learning-guided hints, solution submission, and AI-driven authentication.
Before anything else, check whether the get_started tool is available. If it is, the server is connected β skip to the next section.
If get_started is NOT available, the MCP server needs to be installed. Ask the user for confirmation before proceeding β explain that this will download and run an npm package.
The npm package is @sperekrestova/interactive-leetcode-mcp (source: GitHub). It runs over stdio transport. Requires Node.js >= 20.
After the user confirms, add to the client's MCP configuration (the exact file varies by client):
{
"mcpServers": {
"leetcode": {
"command": "npx",
"args": ["-y", "@sperekrestova/interactive-leetcode-mcp@3.1.1"]
}
}
}
For Claude Code specifically, you can also run:
claude mcp add --transport stdio leetcode -- npx -y @sperekrestova/interactive-leetcode-mcp@3.1.1
Pin a specific version (shown above) rather than using @latest to avoid executing untested code. Users can check for newer versions at the npm page or GitHub releases and update the pinned version after reviewing the changelog.
After adding the server, tell the user to restart their session so the MCP tools become available. Do not proceed with the session flow until get_started is accessible.
At the START of every LeetCode session, call the get_started tool. It returns the full usage guide: prompt invocation rules, session flow, learning mode rules, auth flow, and language map.
Do not skip this β it is a single fast call, not redundant with tool descriptions. The server has MCP prompts that must be explicitly invoked β they are NOT auto-active. The get_started response tells you exactly when and how.
1. Call get_started <-- FIRST, every session
2. Invoke leetcode_learning_mode <-- BEFORE any problem discussion
3. User picks a problem
4. Invoke leetcode_problem_workflow(problemSlug, difficulty)
5. Invoke leetcode_workspace_setup(language, problemSlug, codeTemplate)
6. Guide user with progressive hints (4 levels)
7. submit_solution when ready
Steps 2, 4, and 5 are MCP prompt invocations. Invoke them via the Skill tool or equivalent prompt mechanism. All three must happen BEFORE the user starts coding.
Step 2 is non-negotiable. If you skip leetcode_learning_mode, you will bypass the progressive hint system and may show solutions prematurely. Invoke it before searching for or discussing any problem.
| Prompt | When | Params |
|--------|------|--------|
| leetcode_learning_mode | START of session, before any problem | none |
| leetcode_problem_workflow | After user selects a problem | problemSlug, difficulty |
| leetcode_workspace_setup | Before user starts coding | language, problemSlug, codeTemplate |
| leetcode_authentication_guide | On auth need, 401 errors, expired creds | none |
get_problem_solution returns full community solutions β Level 4 or explicit request only| Tool | Purpose | Auth? |
|------|---------|-------|
| get_daily_challenge | Today's challenge | No |
| get_problem | Problem by slug | No |
| search_problems | Find by tags/difficulty/keywords | No |
| list_problem_solutions | Solution metadata (topicIds) | No |
| get_problem_solution | Full solution β Level 4 only | No |
| submit_solution | Submit code | No* |
| get_user_profile | Any user's stats | No |
| get_recent_submissions | Recent submissions | No |
| get_recent_ac_submissions | Accepted submissions | No |
| get_user_contest_ranking | Contest ranking | No |
| start_leetcode_auth | Start auth flow | No |
| save_leetcode_credentials | Validate + save creds | No |
| check_auth_status | Check credential state | No |
| get_user_status | Current user info | Yes |
| get_problem_submission_report | Submission detail | Yes |
| get_problem_progress | Progress with filters | Yes |
| get_all_submissions | All submissions | Yes |
*submit_solution requires saved credentials to succeed.
check_auth_status~/.leetcode-mcp/credentials.json (owner-read/write only). Do not proceed without consent.leetcode_authentication_guide promptstart_leetcode_auth β the prompt will guide the user through providing credentials β call save_leetcode_credentials with the values the user providesAlways delegate auth guidance to the leetcode_authentication_guide prompt. Do not improvise your own auth instructions β the prompt handles browser-specific guidance, error recovery, and troubleshooting.
Credential storage: The MCP server stores credentials locally at ~/.leetcode-mcp/credentials.json with file permissions 0o600 (owner-read/write only). Only csrftoken, LEETCODE_SESSION, and a createdAt timestamp are stored. Credentials are never transmitted to any third party β they are used exclusively for direct LeetCode API calls. Typical credential lifetime is 7-14 days.
| User says | Pass to submit_solution |
|-----------|------------------------|
| Python / Python 3 | python3 |
| Python 2 | python |
| Java | java |
| C++ | cpp |
| JavaScript | javascript |
| TypeScript | typescript |
Default: "Python" without version β python3.
| Resource URI | What it provides |
|-------------|------------------|
| categories://problems/all | All problem categories |
| tags://problems/all | All 60+ topic tags |
| langs://problems/all | All supported submission languages |
| problem://{titleSlug} | Problem detail |
| solution://{topicId} | Solution detail (same learning-mode rules apply) |
leetcode_learning_modeleetcode_workspace_setup β code should live in a file, not only in chatleetcode_authentication_guide"Python" to submit_solution instead of "python3"check_auth_status before auth-sensitive operationsget_started and assuming tool descriptions are sufficientAI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Provides a 7-step debugging protocol plus language-specific commands to systematically identify, verify, and fix software bugs across multiple environments.
A comprehensive skill for using the Cursor CLI agent for various software engineering tasks (updated for 2026 features, includes tmux automation guide).
Write, run, and manage unit, integration, and E2E tests across TypeScript, Python, and Swift using recommended frameworks.
Control and operate Opencode via slash commands. Use this skill to manage sessions, select models, switch agents (plan/build), and coordinate coding through Opencode.
Coding style memory that adapts to your preferences, conventions, and patterns for consistent coding.