DeepSeek MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct purpose: chat vs. FIM completion, account balance, conversation listing, model listing, and conversation reset. No overlapping functionality.
Naming Consistency4/5Names use consistent snake_case with verb_noun pattern (e.g., get_user_balance, list_conversations). 'completion' deviates slightly as a bare noun, but is conventional for FIM tools.
Tool Count5/5Six tools cover essential operations for a DeepSeek API server: generation (chat and FIM), account health, model introspection, and conversation management. Neither too sparse nor excessive.
Completeness4/5Core workflows are covered: chat, completion, account check, model listing, conversation reset. Minor gaps include no explicit delete_conversation or streaming support, but these are reasonable omissions.
Average 4.2/5 across 6 of 6 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- 2 of 2 community issues answered or closed in the last 6 months
- 1 commit in the last 12 weeks
- Last stable release on
- 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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. Only mentions model default and include_raw_response usage, but lacks details on response format, limits, or side effects.
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 sentences front-loading purpose and usage, zero wasted words. Efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite clear purpose, the description is insufficient for a tool with 14 parameters and no output schema. Missing parameter meanings and response semantics.
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?
With 0% schema description coverage and 14 parameters, description only addresses 'model' and 'include_raw_response' marginally. No information on other parameters.
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?
Clearly states it's a FIM completion tool for prompt/suffix workflows, contrasts with chat formatting, and specifies the default model. Differentiates from sibling 'chat_completion'.
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?
Explicitly tells when to use (raw completion vs chat) and when to set 'include_raw_response'. Does not explicitly state when not to use but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses critical behaviors: statelessness, the need to send full history for multi-turn, the streaming behavior, and the debug-only nature of `include_raw_response`. It also clarifies server-side web-search tools. This rich behavioral context goes well beyond the bare minimum.
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 six sentences, each providing distinct value: purpose, input requirements, parameter usage, statelessness caveat, and debugging flag. It is front-loaded with the core purpose and avoids fluff. Highly efficient for the complexity covered.
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?
Given the tool's complexity (15 parameters, nested objects, no annotations, no output schema), the description covers the core operational aspects well, including state handling, streaming, and debugging. However, it omits a clear description of the default response format or return value, and since no output schema exists, this is a slight gap. Still, it is a strong contextual overview.
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?
The schema has 0% description coverage, so the description must compensate. It adds meaning for key parameters like `input`, `instructions`, `reasoning.effort`, `tools`, `stream`, and `include_raw_response`, but leaves many parameters (e.g., `text`, `user`, `model`, `top_p`, `temperature`, `tool_choice`, `max_output_tokens`) without any commentary. This is a partial compensation, not complete.
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 the tool creates a stateless DeepSeek V4 response via the Responses API, with a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like chat_completion or completion, so the differentiation is only implicit through 'Responses API' and 'stateless'.
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?
The description provides clear usage context: requiring `input`, `instructions`, or both; directing use of `reasoning.effort`, `tools`, `stream`, and `include_raw_response` for specific scenarios. It lacks explicit when-not-to-use guidance or alternative tool mentions, hence no full exclusionary guidance.
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?
The annotations already declare readOnlyHint=true, so the description does not need to emphasize safety. The description adds that the tool takes no parameters, which is accurate. However, it does not disclose other behavioral aspects like caching or rate limits.
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 two sentences, front-loaded with the primary purpose, and contains no extraneous information. Every sentence is informative and 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?
The description covers the tool's purpose, usage context, and parameter behavior. Given the tool's simplicity (no parameters, read-only), this is adequate. It could optionally mention the return format, but it's not critical.
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 no parameters, and the description explicitly states 'takes no parameters', which adds clarity beyond the empty schema. This compensates for the lack of parameter descriptions.
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 the tool's purpose: listing available DeepSeek models for model selection and validation. It uses a specific verb ('list') and resource ('available DeepSeek models'), and distinguishes it from sibling generation and balance tools.
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?
The description provides explicit usage guidance: 'Use it before passing an explicit model ID to generation tools.' This tells when to use the tool and implies it's a prerequisite for generation, though it does not explicitly state when not to use it.
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?
Annotations declare idempotentHint: true. The description adds context about in-memory operation and process scope, which is beyond annotations. No contradictions.
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 sentences with no wasted words. The action is stated first, then usage guidance. Highly concise.
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?
Given no output schema and a simple delete operation, the description covers purpose, when to use, and scope. It lacks details about error behavior on non-existent conversation_id, but for a straightforward tool it is adequately 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?
The schema has 0% description coverage. The description mentions conversation_id by name but does not explain its meaning or constraints beyond the schema. For a single required parameter, it partially compensates but could be more explicit.
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 'Delete stored in-memory chat history for a `conversation_id`', specifying the action and resource. It distinguishes from sibling tools like chat_completion and list_conversations.
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?
The description gives explicit usage context: 'Use this when you want to keep the same ID but start a fresh thread.' It also clarifies scope: 'This only affects server-side memory in the current MCP process.' However, it lacks explicit when-not-to-use or alternatives.
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?
Annotations already provide readOnlyHint. Description adds that it does not call the DeepSeek API, which is extra transparency beyond annotations. No contradictions.
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 sentences: first defines purpose, second adds context. Every sentence adds value, no redundancy.
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?
Description states it lists conversation IDs but does not specify output format (e.g., array of strings). For a simple debugging tool, this is adequate but could be more complete by hinting at return type.
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?
No parameters; schema coverage is 100%. Baseline for 0 params is 4. Description does not add param info but none is needed.
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?
Description clearly states the tool lists all conversation IDs stored in memory, with a specific verb ('list') and resource ('conversation IDs'). It distinguishes itself from siblings by noting no API call and no parameters, making it unique as a simple read-only list.
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?
Explicitly states it is useful for debugging conversation persistence and that it takes no parameters. While it doesn't explicitly say when not to use, the context implies it's for debugging, and it distinguishes from siblings by noting no API calls.
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 behavioral disclosure. It clearly explains default behavior (model default, thinking mode enabled by default), how to override (thinking:{type:'disabled'}), and side effects (conversation_id persists context, clear_conversation resets state, include_raw_response returns full provider payload). It lacks some details like rate limits or error behavior, but for a chat tool, it covers the key behavioral traits well.
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 dense but efficient, covering all major usage points in three sentences. It front-loads the core purpose and then lists key option combinations without verbosity. Every sentence adds new information, and the structure flows logically from core usage to advanced options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (23 params, nested objects, no output schema), the description is remarkably complete. It covers selection of input format, model, thinking mode, context persistence, and debugging. While it doesn't cover every parameter (e.g., stop, tools, response_format), those are standard OpenAI-compatible parameters that the agent can infer from the schema. The description addresses the highest-value decisions for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/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 for the 23 parameters. It does this excellently by explaining the most important parameters and their interplay: message vs messages, thinking, reasoning_effort, conversation_id, clear_conversation, and include_raw_response. It also clarifies model default choices. This is critical guidance that the raw schema does not provide, making the description highly valuable.
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 identifies this as the primary DeepSeek V4 chat tool for single-turn and multi-turn generation, with a specific verb ('chat'), resource ('DeepSeek V4'), and behavior. It also distinguishes itself from sibling tools by being the primary chat tool, while sibling names like 'completion' and 'create_response' suggest overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool, including model selection ('defaults to deepseek-v4-flash; use deepseek-v4-pro for higher-capability reasoning'), message format selection ('Provide either message or messages; if both are provided, messages is used'), and optional behaviors like conversation persistence and raw response inclusion. It doesn't explicitly name sibling alternatives, but the guidance is clear and context-rich.
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?
Description reinforces read-only nature and no parameters; annotations already provide readOnlyHint, but description adds 'availability status' and health check context, which is beneficial.
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 sentences, no redundancy, front-loaded with purpose, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple no-parameter read-only tool with no output schema; covers purpose, parameters, usage context, and behavioral safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description explicitly states 'takes no parameters', adding clarity beyond the empty input schema.
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?
States verb 'Return' and specific resources 'DeepSeek account balance and availability status'. Clearly distinguishes from sibling tools that handle completions or conversations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises use for 'account health checks when diagnosing provider-side failures', providing clear context and when-not scenario.
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/DMontgomery40/deepseek-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server