LeetCode CN MCP
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clear, non-overlapping responsibility: authentication lifecycle (login, logout, auth_status), problem lookup (get_problem), and submission history retrieval (get_submissions_by_date). There is no realistic ambiguity between tool purposes.
Naming Consistency4/5Most tools follow a readable snake_case pattern with clear verbs and nouns, such as get_problem and get_submissions_by_date. login/logout and auth_status are minor deviations but remain conventional and predictable.
Tool Count5/5Five tools is well-scoped for a focused LeetCode CN server handling authentication, problem data, and submission history. Each tool earns its place with no redundancy or bloat.
Completeness4/5Authentication status/login/logout form a complete lifecycle, and problem fetching plus daily submission retrieval cover the core read-only workflows. Minor gaps such as broader problem search or submission detail endpoints are workable but not critical.
Average 3.8/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully reveals that the Cookie is persisted to the keychain and deliberately kept out of the model context, which is a significant security-relevant behavior. However, it does not explain what happens if the user is already logged in or whether the operation is destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and purpose, then adds a key privacy detail. No word is wasted and all content is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter login tool, the description covers the main purpose and an important security behavior. Yet it misses the meaning of the only parameter, force, and gives no guidance on when a forced re-login might be needed or how to verify auth state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining the force parameter, but it never mentions force at all. The parameter is entirely unexplained, leaving the agent unable to infer the effect or meaning of force.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (login to LeetCode China) and its key outcome (saving the Cookie to the system keychain). It is easily distinguished from siblings like auth_status, logout, and data-retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to use login versus auth_status or logout, nor does it mention prerequisites. It implies authentication is needed but gives no explicit usage context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful behavioral context: no login required, multiple query identifier types accepted, and language selects a code template. It does not disclose what happens with include_hints, output shape, or failure behavior, leaving notable transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The primary behavior and query formats are front-loaded, and the login note is a single efficient clause. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters, no output schema, and no annotations. The description covers query and language semantics, but include_hints is left undefined and the return value is not characterized. For a simple read tool this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description must compensate. It gives meaningful meaning for query (possible identifier formats) and language (python3, cpp, java, typescript code templates), but it does not explain the include_hints parameter at all, and the language list is only illustrative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: retrieving problem information by Chinese site problem number, title, titleSlug, or URL. It does not explicitly differentiate itself from sibling tools, but the resource scope (problems vs. auth/submissions) is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (whenever problem info is needed) and provides the helpful note that login is not required. However, it does not mention when not to use it, nor does it compare against the sibling tools such as get_submissions_by_date.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does reveal non-obvious behavior: the Asia/Shanghai timezone default, YYYY-MM-DD date format, inclusion of both AC and failed submissions, and the 'current user' scope. However, it omits auth requirements, pagination behavior, and what happens with invalid or missing login.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence conveys the core action, scope, default date, timezone, format, and inclusion set with no filler. All content earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For basic use (just a date), the description plus schema defaults are sufficient. But with no output schema and 0% parameter coverage, the description under-specifies pagination, filter values, and authentication-state behavior, so it is not fully complete for advanced invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It adds meaning for date (default, timezone, format) and timezone, but says nothing about limit, cursor, status, or language, leaving most parameters semantically underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('获取'/'get'), identifies the resource (current logged-in user's LeetCode China submissions), and scopes it to a calendar date. This clearly distinguishes it from siblings like auth_status, get_problem, login, and logout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: the tool targets the current logged-in user and defaults to Asia/Shanghai today. It does not explicitly name alternatives or when-not-to-use conditions, but there are no directly competing siblings, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations, the description carries the full behavioral burden and meaningfully addresses the main safety concern of an auth-related tool: '不返回或显示任何 Cookie' (does not return or display any Cookie). This reassures the agent the call is safe and won't leak credentials. The only gap is that it doesn't describe what the successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence front-loads the purpose and appends the safety qualifier. There is no redundancy, no restatement of the tool name, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status check, the description covers purpose, platform scope, and the key safety behavior. The only real gap is the return format — there is no output schema, so an agent doesn't know whether the result is a boolean, enum, or object. Given the tool's simplicity, this is a minor omission rather than a critical one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, so there are no parameters to document; per the 0-parameter baseline, a 4 applies. The description's no-Cookie clause is behavioral information, not parameter semantics, and the schema already fully covers the (empty) argument surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (检查/check) and resource (登录状态/login status), and further narrows scope to LeetCode 中国站 (China site). This clearly distinguishes it from siblings like login and logout, which mutate auth state, and get_problem/get_submissions_by_date, which retrieve other data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The role of the tool — verifying whether a session exists — is implied by the description and the sibling set (login/logout), but there is no explicit guidance on when to call it versus alternatives ('use login if no session', 'call before authenticated requests'). An agent can infer the usage, but nothing is stated outright.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects. It clearly states that the tool deletes credentials from the system keychain, which is the core behavioral trait. It does not mention whether remote sessions are invalidated, but for a credential-removal operation this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler or redundant information. It front-loads the action and resource without unnecessary context or repeated tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description sufficiently explains what the tool does and where it operates. It could add a note about the result or idempotency, but the core behavioral contract is complete enough for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics; it appropriately focuses on what operation the tool performs. There is no gap here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('删除' / delete) and states the exact resource affected: LeetCode China credentials stored in the system keychain. This clearly distinguishes logout from siblings like login and auth_status, as it is the only one that removes stored credentials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied by the tool name and description: it should be called when the user wants to clear the saved LeetCode China credentials. However, there is no explicit guidance about when to use this instead of auth_status or login, nor any 'when not to use' conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lkastar/leetcode-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server