@arikusi/deepseek-mcp-server 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +30 -3
  2. package/README.md +67 -4
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +6 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/deepseek-client.d.ts +40 -2
  8. package/dist/deepseek-client.d.ts.map +1 -1
  9. package/dist/deepseek-client.js +150 -2
  10. package/dist/deepseek-client.js.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/json-extract.d.ts +34 -0
  14. package/dist/json-extract.d.ts.map +1 -0
  15. package/dist/json-extract.js +93 -0
  16. package/dist/json-extract.js.map +1 -0
  17. package/dist/resources/models.d.ts.map +1 -1
  18. package/dist/resources/models.js +2 -0
  19. package/dist/resources/models.js.map +1 -1
  20. package/dist/schema-validate.d.ts +28 -0
  21. package/dist/schema-validate.d.ts.map +1 -0
  22. package/dist/schema-validate.js +121 -0
  23. package/dist/schema-validate.js.map +1 -0
  24. package/dist/schemas.d.ts +19 -0
  25. package/dist/schemas.d.ts.map +1 -1
  26. package/dist/schemas.js +17 -0
  27. package/dist/schemas.js.map +1 -1
  28. package/dist/tools/deepseek-chat.d.ts.map +1 -1
  29. package/dist/tools/deepseek-chat.js +188 -19
  30. package/dist/tools/deepseek-chat.js.map +1 -1
  31. package/dist/tools/deepseek-fim.d.ts +13 -0
  32. package/dist/tools/deepseek-fim.d.ts.map +1 -0
  33. package/dist/tools/deepseek-fim.js +153 -0
  34. package/dist/tools/deepseek-fim.js.map +1 -0
  35. package/dist/tools/index.d.ts.map +1 -1
  36. package/dist/tools/index.js +2 -0
  37. package/dist/tools/index.js.map +1 -1
  38. package/dist/types.d.ts +63 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js.map +1 -1
  41. package/package.json +3 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.2.0] - 2026-07-05
11
+
12
+ ### Added
13
+ - **`response_schema` on `deepseek_chat`: server-side JSON Schema validation with repair retries.** Pass a JSON Schema and the server validates the model's parsed output against it, issuing up to `RESPONSE_SCHEMA_MAX_RETRIES` repair retries (default 2; set 0 for a strictly deterministic single call) that feed the validation error back to the model. Returns the first schema-valid object, or the last attempt with `structuredContent.schema = {valid:false, attempts, error}` — violations surface as `valid:false` rather than silently coercing a wrong answer. Implies JSON output. Adds `ajv` as a dependency.
14
+ - **Self-contained per-request usage/cost.** `structuredContent.request` now carries `model`, `finish_reason`, token counts, `cache_hit_tokens` / `cache_miss_tokens`, and `cost_usd` in one object — no more reassembling scattered fields or double-parsing a stringified blob out of the human-readable text. Tokens and cost both aggregate across any repair attempts (top-level `usage` still reflects the final API response).
15
+ - **Audit fields.** `structuredContent.effective` = `{model, thinking, temperature}` (what was actually sent after alias/thinking resolution); `request.wire_model` (resolved model actually called), `request.thinking`, `request.temperature`, and `request.fallback_used`; plus a top-level `fallback` object and a "Fallback:" line in the text output when a circuit-breaker model fallback fires — so a silent fallback to a different model is visible to callers instead of undetected.
16
+ - `RESPONSE_SCHEMA_MAX_RETRIES` environment configuration for the repair-retry bound.
17
+
18
+ ### Fixed
19
+ - **`json_mode` + `thinking` returning unparseable content.** Under thinking mode the reply could arrive fenced (` ```json `), prefixed with chain-of-thought, or with trailing text, breaking `JSON.parse`. When JSON output is requested, `structuredContent.content` is now deterministically recovered (de-fence + first balanced JSON value, with no extra API call, preserving temp=0 reproducibility); unrecoverable content preserves the raw text and sets `json_parse_error`.
20
+
21
+ ### Security
22
+ - **ReDoS guard on `response_schema` regex patterns.** A caller-supplied schema is compiled by Ajv into native `RegExp` objects, so a `pattern` (or `patternProperties` key) prone to catastrophic backtracking, e.g. `^(a+)+$`, tested against a non-matching string could block the event loop for minutes and stall the whole server on a single request. Every regex in the schema is now screened with `redos-detector` before compilation; an unsafe pattern is refused up front as an `InvalidSchemaError` (a caller error) instead of running. Linear-time patterns are unaffected. Adds `redos-detector` as a dependency.
23
+
24
+ ## [2.1.0] - 2026-07-01
25
+
26
+ ### Added
27
+ - **`deepseek_fim` tool: Fill-in-the-Middle completion.** Provide a `prompt` (prefix) and an optional `suffix`; the model completes the text in between. Built for code completion and content infilling. Runs against DeepSeek's Beta completions endpoint in non-thinking mode, with output capped at 4096 tokens. Supports `model`, `max_tokens`, `temperature`, and `stop`, with the same cache-aware cost tracking as `deepseek_chat`. On the npm/stdio server it also reuses the circuit breaker and model fallback (v4-flash <-> v4-pro). The `deepseek-chat` / `deepseek-reasoner` aliases resolve to v4-flash since FIM has no thinking mode.
28
+ - `deepseek_fim` is available on both the npm/stdio server and the hosted worker endpoint (`deepseek-mcp.tahirl.com`), which was bumped to 2.1.0 in step.
29
+ - `fim` capability listed on both models in the `deepseek://models` resource.
30
+
10
31
  ## [2.0.0] - 2026-06-22
11
32
 
12
33
  ### Changed
@@ -29,7 +50,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
29
50
  ## [1.8.0] - 2026-06-14
30
51
 
31
52
  ### Security
32
- - **Missing authentication on the self-hosted HTTP endpoint.** In HTTP transport mode the server holds your `DEEPSEEK_API_KEY` and uses it for every `deepseek_chat` call, yet `POST /mcp` had no authentication and the server bound to `0.0.0.0`, so any client that could reach the port could initialize a session, enumerate tools, and invoke them. The defaults now bind to loopback and an optional bearer token guards the endpoint. Reported independently; advisory and CVE coordination in progress.
53
+ - **Missing authentication on the self-hosted HTTP endpoint.** In HTTP transport mode the server holds your `DEEPSEEK_API_KEY` and uses it for every `deepseek_chat` call, yet `POST /mcp` had no authentication and the server bound to `0.0.0.0`, so any client that could reach the port could initialize a session, enumerate tools, and invoke them. The defaults now bind to loopback and an optional bearer token guards the endpoint. Reported independently. Tracked as CVE-2026-55605 (GHSA-72f3-6w86-7rv3).
33
54
 
34
55
  ### Changed
35
56
  - HTTP transport now binds to `127.0.0.1` by default (configurable via `HTTP_HOST`). The SDK's DNS rebinding protection is active on loopback. Binding to `0.0.0.0` without a token prints a startup security warning.
@@ -48,7 +69,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
48
69
  ## [1.7.0] - 2026-04-22
49
70
 
50
71
  ### Security
51
- - **Cross-session data exposure in HTTP transport (high severity).** The `SessionStore` was a process-wide singleton shared across all connected HTTP clients. In HTTP transport mode, any client that provided another client's `session_id` to `deepseek_chat` would read that client's conversation history. The `deepseek_sessions` tool compounded this by letting any client enumerate all active session IDs (`list`), delete any session (`delete`), or wipe every tenant's sessions at once (`clear`). STDIO transport was unaffected because each STDIO client runs its own server process. Full advisory and CVE coordination pending.
72
+ - **Cross-session data exposure in HTTP transport (high severity).** The `SessionStore` was a process-wide singleton shared across all connected HTTP clients. In HTTP transport mode, any client that provided another client's `session_id` to `deepseek_chat` would read that client's conversation history. The `deepseek_sessions` tool compounded this by letting any client enumerate all active session IDs (`list`), delete any session (`delete`), or wipe every tenant's sessions at once (`clear`). STDIO transport was unaffected because each STDIO client runs its own server process. Tracked as CVE-2026-55604 (GHSA-fh3r-g96v-f578).
52
73
 
53
74
  ### Changed
54
75
  - **BREAKING (HTTP transport only).** Each HTTP session now gets an isolated `SessionStore` instance. Conversation history, session listings, and session deletion are scoped to the HTTP session that created them. Clients on the same server no longer share session state.
@@ -386,7 +407,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
386
407
  - [GitHub repository](https://github.com/arikusi/deepseek-mcp-server)
387
408
  - [Issue tracker](https://github.com/arikusi/deepseek-mcp-server/issues)
388
409
 
389
- [Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.2...HEAD
410
+ [Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v2.2.0...HEAD
411
+ [2.2.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v2.1.0...v2.2.0
412
+ [2.1.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v2.0.0...v2.1.0
413
+ [2.0.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.8.0...v2.0.0
414
+ [1.8.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.7.0...v1.8.0
415
+ [1.7.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.6.0...v1.7.0
416
+ [1.6.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.2...v1.6.0
390
417
  [1.5.2]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.1...v1.5.2
391
418
  [1.5.1]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.0...v1.5.1
392
419
  [1.5.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.4.3...v1.5.0
package/README.md CHANGED
@@ -93,7 +93,9 @@ gemini mcp add deepseek npx @arikusi/deepseek-mcp-server -e DEEPSEEK_API_KEY=you
93
93
  - **MCP Resources**: `deepseek://models`, `deepseek://config`, `deepseek://usage` — query model info, config, and usage stats
94
94
  - **Thinking Mode**: Enable thinking on deepseek-chat with `thinking: {type: "enabled"}`
95
95
  - **JSON Output Mode**: Structured JSON responses with `json_mode: true`
96
+ - **Schema-Validated JSON**: Pass a `response_schema` and the server validates the output against it, with bounded repair retries and a ReDoS guard on schema patterns
96
97
  - **Function Calling**: OpenAI-compatible tool use with up to 128 tool definitions
98
+ - **Fill-in-the-Middle (FIM)**: Code and content completion between a prefix and suffix via the `deepseek_fim` tool
97
99
  - **Cache-Aware Cost Tracking**: Automatic cost calculation with cache hit/miss breakdown
98
100
  - **Session Management Tool**: List, delete, and clear sessions via `deepseek_sessions` tool
99
101
  - **Configurable**: Environment-based configuration with validation
@@ -145,7 +147,7 @@ npm run build
145
147
 
146
148
  ## Usage
147
149
 
148
- Once configured, your MCP client will have access to `deepseek_chat` and `deepseek_sessions` tools, plus 3 MCP resources.
150
+ Once configured, your MCP client will have access to `deepseek_chat`, `deepseek_fim`, and `deepseek_sessions` tools, plus 3 MCP resources.
149
151
 
150
152
  **Example prompts:**
151
153
  ```
@@ -198,13 +200,16 @@ Chat with DeepSeek AI models with automatic cost tracking and function calling s
198
200
  - `thinking` (optional): Toggle thinking mode, `{type: "enabled"}` to reason or `{type: "disabled"}` for a fast answer (non-thinking is the default)
199
201
  - `reasoning_effort` (optional): "high" (default) or "max", applies only while thinking mode is active
200
202
  - `json_mode` (optional): Enable JSON output mode (supported by both models)
203
+ - `response_schema` (optional): A JSON Schema to validate the model output against. Implies JSON output. The server validates the parsed result and, on failure, issues up to `RESPONSE_SCHEMA_MAX_RETRIES` repair retries (default 2, set 0 to disable) that feed the validation error back to the model. Schema regex patterns are screened for ReDoS and an unsafe pattern is rejected up front.
201
204
  - `session_id` (optional): Session ID for multi-turn conversations. Previous context is automatically prepended.
202
205
 
203
206
  **Response includes:**
204
- - Content with formatting
207
+ - Content with formatting (recovered as clean JSON when JSON output is requested)
205
208
  - Function call results (if tools were used)
206
209
  - Request information (tokens, model, cost in USD)
207
- - Structured data with `cost_usd` and `tool_calls` fields
210
+ - `structuredContent.request`: a self-contained per-request usage and cost summary (token counts, cache hit/miss, `cost_usd`), aggregated across any repair retries
211
+ - `structuredContent.effective` and `fallback`: what was actually sent after alias/thinking resolution, and any silent model fallback that fired
212
+ - `structuredContent.schema`: when `response_schema` is used, `{valid, attempts, error?}`; `json_parse_error` when JSON output could not be recovered
208
213
 
209
214
  **Example:**
210
215
 
@@ -322,6 +327,31 @@ When thinking mode is enabled, `temperature` and `top_p` are automatically ignor
322
327
 
323
328
  JSON mode ensures the model outputs valid JSON. Include the word "json" in your prompt for best results. Supported by all models.
324
329
 
330
+ **Schema-Validated JSON Example:**
331
+
332
+ ```json
333
+ {
334
+ "messages": [
335
+ {
336
+ "role": "user",
337
+ "content": "Classify this review sentiment as json: \"Absolutely loved it\""
338
+ }
339
+ ],
340
+ "model": "deepseek-v4-flash",
341
+ "response_schema": {
342
+ "type": "object",
343
+ "properties": {
344
+ "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"] },
345
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 }
346
+ },
347
+ "required": ["sentiment", "confidence"],
348
+ "additionalProperties": false
349
+ }
350
+ }
351
+ ```
352
+
353
+ The server validates the parsed output against the schema. If it does not match, it retries up to `RESPONSE_SCHEMA_MAX_RETRIES` times (default 2), feeding the validation error back to the model, and returns the first schema-valid object. A persistent mismatch is surfaced as `structuredContent.schema.valid = false` rather than a silently coerced answer. Regex patterns in the schema are screened for catastrophic backtracking (ReDoS); an unsafe pattern is rejected up front as an invalid schema.
354
+
325
355
  **Multi-Turn Session Example:**
326
356
 
327
357
  ```json
@@ -338,6 +368,37 @@ JSON mode ensures the model outputs valid JSON. Include the word "json" in your
338
368
 
339
369
  Use the same `session_id` across requests to maintain conversation context. Messages are stored in memory and prepended automatically. In HTTP transport each connected MCP session has its own isolated session store — a `session_id` created by one HTTP client is not visible to another (see HTTP Transport below).
340
370
 
371
+ ### `deepseek_fim`
372
+
373
+ Fill-in-the-Middle completion. You give a `prompt` (the prefix) and an optional `suffix`, and the model completes the text in between. It is built for code completion and content infilling rather than conversation. FIM runs on DeepSeek's Beta endpoint in non-thinking mode, and the API caps output at 4096 tokens.
374
+
375
+ **Parameters:**
376
+
377
+ - `prompt` (required): The prefix text before the gap. For code completion, this is the code up to the cursor.
378
+ - `suffix` (optional): The text after the gap. The model fills the space between `prompt` and `suffix`.
379
+ - `model` (optional): "deepseek-v4-flash" (default) or "deepseek-v4-pro". The "deepseek-chat" and "deepseek-reasoner" aliases resolve to v4-flash (FIM has no thinking mode).
380
+ - `max_tokens` (optional): Maximum tokens to generate, up to 4096.
381
+ - `temperature` (optional): 0-2, controls randomness (default: 1.0).
382
+ - `stop` (optional): A stop string or an array of up to 16 stop strings.
383
+
384
+ **Response includes:**
385
+ - The completion text
386
+ - Request information (tokens, model, cost in USD)
387
+ - Structured data with `text`, `usage`, `finish_reason`, and `cost_usd` fields
388
+
389
+ **Example (code completion):**
390
+
391
+ ```json
392
+ {
393
+ "prompt": "def fib(n):\n if n < 2:\n return n\n return ",
394
+ "suffix": "\n\nprint(fib(10))",
395
+ "model": "deepseek-v4-flash",
396
+ "max_tokens": 64
397
+ }
398
+ ```
399
+
400
+ The model returns the missing middle, e.g. `fib(n-1) + fib(n-2)`, using both the prefix and the suffix as context. Available on both the npm/stdio server and the hosted worker endpoint.
401
+
341
402
  ### `deepseek_sessions`
342
403
 
343
404
  Manage conversation sessions.
@@ -444,6 +505,7 @@ The server is configured via environment variables. All settings except `DEEPSEE
444
505
  | `CIRCUIT_BREAKER_THRESHOLD` | `5` | Consecutive failures before circuit opens |
445
506
  | `CIRCUIT_BREAKER_RESET_TIMEOUT` | `30000` | Milliseconds before circuit half-opens |
446
507
  | `MAX_SESSION_MESSAGES` | `200` | Max messages per session (sliding window) |
508
+ | `RESPONSE_SCHEMA_MAX_RETRIES` | `2` | Repair retries when a `response_schema` validation fails (0 disables) |
447
509
  | `ENABLE_MULTIMODAL` | `false` | Enable multimodal (image) input support |
448
510
  | `TRANSPORT` | `stdio` | Transport mode: `stdio` or `http` |
449
511
  | `HTTP_PORT` | `3000` | HTTP server port (when TRANSPORT=http) |
@@ -484,6 +546,7 @@ deepseek-mcp-server/
484
546
  │ ├── transport-http.ts # Streamable HTTP transport (Express)
485
547
  │ ├── tools/
486
548
  │ │ ├── deepseek-chat.ts # deepseek_chat tool (sessions + fallback)
549
+ │ │ ├── deepseek-fim.ts # deepseek_fim tool (fill-in-the-middle)
487
550
  │ │ ├── deepseek-sessions.ts # deepseek_sessions tool
488
551
  │ │ └── index.ts # Tool registration aggregator
489
552
  │ ├── resources/
@@ -759,4 +822,4 @@ MIT License - see [LICENSE](LICENSE) file for details
759
822
 
760
823
  **Made by [@arikusi](https://github.com/arikusi)**
761
824
 
762
- This is an unofficial community project and is not affiliated with DeepSeek.
825
+ An independent, community-maintained MCP server for the DeepSeek API.
package/dist/config.d.ts CHANGED
@@ -19,6 +19,7 @@ declare const ConfigSchema: z.ZodObject<{
19
19
  circuitBreakerResetTimeout: z.ZodDefault<z.ZodNumber>;
20
20
  maxSessionMessages: z.ZodDefault<z.ZodNumber>;
21
21
  enableMultimodal: z.ZodDefault<z.ZodBoolean>;
22
+ responseSchemaMaxRetries: z.ZodDefault<z.ZodNumber>;
22
23
  transport: z.ZodDefault<z.ZodEnum<{
23
24
  stdio: "stdio";
24
25
  http: "http";
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;iBAqBhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA8DnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAiEnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
package/dist/config.js CHANGED
@@ -20,6 +20,9 @@ const ConfigSchema = z.object({
20
20
  circuitBreakerResetTimeout: z.number().positive().default(30000),
21
21
  maxSessionMessages: z.number().positive().default(200),
22
22
  enableMultimodal: z.boolean().default(false),
23
+ // Max server-side repair retries when a response_schema validation fails.
24
+ // Set to 0 for a strictly deterministic single call (no extra API round-trips).
25
+ responseSchemaMaxRetries: z.number().min(0).max(5).default(2),
23
26
  transport: z.enum(['stdio', 'http']).default('stdio'),
24
27
  httpPort: z.number().positive().default(3000),
25
28
  httpHost: z.string().min(1).default('127.0.0.1'),
@@ -65,6 +68,9 @@ export function loadConfig() {
65
68
  ? parseInt(process.env.MAX_SESSION_MESSAGES, 10)
66
69
  : 200,
67
70
  enableMultimodal: process.env.ENABLE_MULTIMODAL === 'true',
71
+ responseSchemaMaxRetries: process.env.RESPONSE_SCHEMA_MAX_RETRIES
72
+ ? parseInt(process.env.RESPONSE_SCHEMA_MAX_RETRIES, 10)
73
+ : 2,
68
74
  transport: (process.env.TRANSPORT || 'stdio'),
69
75
  httpPort: process.env.HTTP_PORT ? parseInt(process.env.HTTP_PORT, 10) : 3000,
70
76
  httpHost: process.env.HTTP_HOST || '127.0.0.1',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,29 @@
3
3
  * Wrapper around OpenAI SDK for DeepSeek API
4
4
  * Features: circuit breaker protection, automatic model fallback
5
5
  */
6
- import type { ChatCompletionParams, ChatCompletionResponse, CircuitBreakerStatus, FallbackInfo } from './types.js';
7
- /** Extended response with optional fallback info */
6
+ import type { ChatCompletionParams, ChatCompletionResponse, CircuitBreakerStatus, EffectiveRequest, FallbackInfo, FimCompletionParams, FimCompletionResponse } from './types.js';
7
+ /** Extended response with optional fallback + effective-request audit info */
8
8
  export interface ChatCompletionResponseWithFallback extends ChatCompletionResponse {
9
9
  fallback?: FallbackInfo;
10
+ /** What was actually sent for the attempt that produced this response */
11
+ effective?: EffectiveRequest;
10
12
  }
11
13
  export declare class DeepSeekClient {
12
14
  private client;
15
+ private betaClient;
16
+ private betaBaseUrl;
17
+ private apiKey;
18
+ private requestTimeout;
19
+ private maxRetries;
13
20
  private circuitBreakers;
14
21
  private cbThreshold;
15
22
  private cbResetTimeout;
16
23
  constructor();
24
+ /**
25
+ * Lazily build the Beta-endpoint client. Only FIM needs it, so most
26
+ * sessions never pay for a second client instance.
27
+ */
28
+ private getBetaClient;
17
29
  /**
18
30
  * Get or create a circuit breaker for a specific model
19
31
  */
@@ -22,6 +34,13 @@ export declare class DeepSeekClient {
22
34
  * Get circuit breaker status for all models
23
35
  */
24
36
  getCircuitBreakerStatus(): Record<string, CircuitBreakerStatus>;
37
+ /**
38
+ * Resolve the effective wire model, thinking flag, and temperature for a
39
+ * request — the same alias/thinking rules buildRequestParams applies, but as
40
+ * a pure value for audit reporting. Keep in sync with the switch in
41
+ * buildRequestParams below.
42
+ */
43
+ private resolveEffective;
25
44
  /**
26
45
  * Build request params shared between streaming and non-streaming
27
46
  */
@@ -34,6 +53,25 @@ export declare class DeepSeekClient {
34
53
  * Parse raw API response into ChatCompletionResponse
35
54
  */
36
55
  private parseResponse;
56
+ /**
57
+ * Parse a raw Beta /completions response into FimCompletionResponse.
58
+ */
59
+ private parseCompletionResponse;
60
+ /**
61
+ * Build the wire params for a FIM request.
62
+ */
63
+ private buildFimRequestParams;
64
+ /**
65
+ * Perform a single FIM call against the Beta endpoint.
66
+ */
67
+ private fimInternal;
68
+ /**
69
+ * Create a FIM (Fill-in-the-Middle) completion with circuit breaker and
70
+ * automatic model fallback, mirroring the chat-completion resilience path.
71
+ */
72
+ createFimCompletion(params: FimCompletionParams): Promise<FimCompletionResponse & {
73
+ fallback?: FallbackInfo;
74
+ }>;
37
75
  /**
38
76
  * Create a chat completion (non-streaming) with circuit breaker and fallback
39
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek-client.d.ts","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EAGpB,YAAY,EAEb,MAAM,YAAY,CAAC;AAmBpB,oDAAoD;AACpD,MAAM,WAAW,kCAAmC,SAAQ,sBAAsB;IAChF,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAwBD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;;IAgB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,uBAAuB;IAQvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiF1B;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IAqD9C;;;OAGG;IACG,6BAA6B,CACjC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IAyC9C;;OAEG;YACW,cAAc;IA4F5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAazC"}
1
+ {"version":3,"file":"deepseek-client.d.ts","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EAIpB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAmBpB,8EAA8E;AAC9E,MAAM,WAAW,kCAAmC,SAAQ,sBAAsB;IAChF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,yEAAyE;IACzE,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAoCD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;;IAwB/B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,uBAAuB;IAQvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiF1B;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,WAAW;IAYzB;;;OAGG;IACG,mBAAmB,CACvB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,qBAAqB,GAAG;QAAE,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAuC/D;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IAsD9C;;;OAGG;IACG,6BAA6B,CACjC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IA0C9C;;OAEG;YACW,cAAc;IA4F5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAazC"}
@@ -50,22 +50,59 @@ function isRetryableError(error) {
50
50
  }
51
51
  return false;
52
52
  }
53
+ /**
54
+ * Resolve a user-facing model to the wire model the API accepts.
55
+ * FIM has no thinking mode, so both compatibility aliases collapse to
56
+ * v4-flash; the live v4 models pass through unchanged.
57
+ */
58
+ function resolveFimModel(model) {
59
+ if (model === 'deepseek-chat' || model === 'deepseek-reasoner') {
60
+ return 'deepseek-v4-flash';
61
+ }
62
+ return model;
63
+ }
53
64
  export class DeepSeekClient {
54
65
  client;
66
+ betaClient = null;
67
+ betaBaseUrl;
68
+ apiKey;
69
+ requestTimeout;
70
+ maxRetries;
55
71
  circuitBreakers = new Map();
56
72
  cbThreshold;
57
73
  cbResetTimeout;
58
74
  constructor() {
59
75
  const config = getConfig();
76
+ this.apiKey = config.apiKey;
77
+ this.requestTimeout = config.requestTimeout;
78
+ this.maxRetries = config.maxRetries;
60
79
  this.client = new OpenAI({
61
80
  apiKey: config.apiKey,
62
81
  baseURL: config.baseUrl,
63
82
  timeout: config.requestTimeout,
64
83
  maxRetries: config.maxRetries,
65
84
  });
85
+ // Beta endpoint (FIM lives here). Normalise any trailing slash so we
86
+ // never produce ".../beta" -> ".../beta" duplication or "//beta".
87
+ this.betaBaseUrl = config.baseUrl.replace(/\/+$/, '') + '/beta';
66
88
  this.cbThreshold = config.circuitBreakerThreshold;
67
89
  this.cbResetTimeout = config.circuitBreakerResetTimeout;
68
90
  }
91
+ /**
92
+ * Lazily build the Beta-endpoint client. Only FIM needs it, so most
93
+ * sessions never pay for a second client instance.
94
+ */
95
+ getBetaClient() {
96
+ if (!this.betaClient) {
97
+ this.betaClient = new OpenAI({
98
+ apiKey: this.apiKey,
99
+ baseURL: this.betaBaseUrl,
100
+ timeout: this.requestTimeout,
101
+ maxRetries: this.maxRetries,
102
+ });
103
+ }
104
+ return this.betaClient;
105
+ }
69
106
  /**
70
107
  * Get or create a circuit breaker for a specific model
71
108
  */
@@ -87,6 +124,31 @@ export class DeepSeekClient {
87
124
  }
88
125
  return status;
89
126
  }
127
+ /**
128
+ * Resolve the effective wire model, thinking flag, and temperature for a
129
+ * request — the same alias/thinking rules buildRequestParams applies, but as
130
+ * a pure value for audit reporting. Keep in sync with the switch in
131
+ * buildRequestParams below.
132
+ */
133
+ resolveEffective(params) {
134
+ let model;
135
+ switch (params.model) {
136
+ case 'deepseek-reasoner':
137
+ case 'deepseek-chat':
138
+ model = 'deepseek-v4-flash';
139
+ break;
140
+ default:
141
+ model = params.model;
142
+ }
143
+ // reasoner always reasons; everything else defaults to non-thinking unless
144
+ // an explicit thinking flag turns it on.
145
+ const thinking = params.model === 'deepseek-reasoner'
146
+ ? true
147
+ : (params.thinking ?? { type: 'disabled' }).type === 'enabled';
148
+ // Sampling temperature only takes effect in non-thinking mode.
149
+ const temperature = thinking ? undefined : params.temperature ?? 1.0;
150
+ return { model, thinking, temperature };
151
+ }
90
152
  /**
91
153
  * Build request params shared between streaming and non-streaming
92
154
  */
@@ -205,6 +267,90 @@ export class DeepSeekClient {
205
267
  tool_calls: tool_calls?.length ? tool_calls : undefined,
206
268
  };
207
269
  }
270
+ /**
271
+ * Parse a raw Beta /completions response into FimCompletionResponse.
272
+ */
273
+ parseCompletionResponse(response) {
274
+ const choice = response.choices[0];
275
+ if (!choice) {
276
+ throw new ApiError('No response from DeepSeek FIM API');
277
+ }
278
+ return {
279
+ text: choice.text || '',
280
+ model: response.model,
281
+ usage: {
282
+ prompt_tokens: response.usage?.prompt_tokens || 0,
283
+ completion_tokens: response.usage?.completion_tokens || 0,
284
+ total_tokens: response.usage?.total_tokens || 0,
285
+ prompt_cache_hit_tokens: response.usage?.prompt_cache_hit_tokens,
286
+ prompt_cache_miss_tokens: response.usage?.prompt_cache_miss_tokens,
287
+ },
288
+ finish_reason: choice.finish_reason || 'stop',
289
+ };
290
+ }
291
+ /**
292
+ * Build the wire params for a FIM request.
293
+ */
294
+ buildFimRequestParams(params) {
295
+ const requestParams = {
296
+ model: resolveFimModel(params.model),
297
+ prompt: params.prompt,
298
+ stream: false,
299
+ };
300
+ if (params.suffix !== undefined)
301
+ requestParams.suffix = params.suffix;
302
+ if (params.max_tokens !== undefined)
303
+ requestParams.max_tokens = params.max_tokens;
304
+ if (params.temperature !== undefined)
305
+ requestParams.temperature = params.temperature;
306
+ if (params.stop !== undefined)
307
+ requestParams.stop = params.stop;
308
+ return requestParams;
309
+ }
310
+ /**
311
+ * Perform a single FIM call against the Beta endpoint.
312
+ */
313
+ async fimInternal(params) {
314
+ const requestParams = this.buildFimRequestParams(params);
315
+ const rawResponse = await this.getBetaClient().completions.create(requestParams);
316
+ return this.parseCompletionResponse(rawResponse);
317
+ }
318
+ /**
319
+ * Create a FIM (Fill-in-the-Middle) completion with circuit breaker and
320
+ * automatic model fallback, mirroring the chat-completion resilience path.
321
+ */
322
+ async createFimCompletion(params) {
323
+ const config = getConfig();
324
+ try {
325
+ return await this.getCircuitBreaker(params.model).execute(async () => {
326
+ return this.fimInternal(params);
327
+ });
328
+ }
329
+ catch (error) {
330
+ const fallbackCandidates = FALLBACK_ORDER[params.model];
331
+ if (config.fallbackEnabled && isRetryableError(error) && fallbackCandidates?.length) {
332
+ const fallbackModel = fallbackCandidates[0];
333
+ const reason = getErrorMessage(error);
334
+ console.error(`[DeepSeek MCP] FIM primary ${params.model} failed (${reason}), falling back to ${fallbackModel}`);
335
+ try {
336
+ const fallbackParams = {
337
+ ...params,
338
+ model: fallbackModel,
339
+ };
340
+ const result = await this.fimInternal(fallbackParams);
341
+ return {
342
+ ...result,
343
+ fallback: { originalModel: params.model, fallbackModel, reason },
344
+ };
345
+ }
346
+ catch (fallbackError) {
347
+ throw new FallbackExhaustedError(`All models failed (FIM). Primary (${params.model}): ${reason}. Fallback (${fallbackModel}): ${getErrorMessage(fallbackError)}`, [params.model, fallbackModel]);
348
+ }
349
+ }
350
+ console.error('DeepSeek FIM API Error:', error);
351
+ this.wrapError(error, 'DeepSeek FIM API Error');
352
+ }
353
+ }
208
354
  /**
209
355
  * Create a chat completion (non-streaming) with circuit breaker and fallback
210
356
  */
@@ -217,7 +363,7 @@ export class DeepSeekClient {
217
363
  const rawResponse = await this.client.chat.completions.create(requestParams);
218
364
  return this.parseResponse(rawResponse);
219
365
  });
220
- return result;
366
+ return { ...result, effective: this.resolveEffective(params) };
221
367
  }
222
368
  catch (error) {
223
369
  // Try fallback if enabled, error is retryable, and fallback candidates exist
@@ -239,6 +385,7 @@ export class DeepSeekClient {
239
385
  fallbackModel,
240
386
  reason,
241
387
  },
388
+ effective: this.resolveEffective(fallbackParams),
242
389
  };
243
390
  }
244
391
  catch (fallbackError) {
@@ -261,7 +408,7 @@ export class DeepSeekClient {
261
408
  const result = await this.getCircuitBreaker(params.model).execute(async () => {
262
409
  return this.streamInternal(params);
263
410
  });
264
- return result;
411
+ return { ...result, effective: this.resolveEffective(params) };
265
412
  }
266
413
  catch (error) {
267
414
  const fallbackCandidates = FALLBACK_ORDER[params.model];
@@ -279,6 +426,7 @@ export class DeepSeekClient {
279
426
  fallbackModel,
280
427
  reason,
281
428
  },
429
+ effective: this.resolveEffective(fallbackParams),
282
430
  };
283
431
  }
284
432
  catch (fallbackError) {
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -82,7 +82,7 @@ async function main() {
82
82
  const transport = new StdioServerTransport();
83
83
  await server.connect(transport);
84
84
  console.error('[DeepSeek MCP] Server running on stdio');
85
- console.error('[DeepSeek MCP] Available tools: deepseek_chat (sessions, fallback), deepseek_sessions');
85
+ console.error('[DeepSeek MCP] Available tools: deepseek_chat (sessions, fallback), deepseek_fim (fill-in-the-middle), deepseek_sessions');
86
86
  console.error('[DeepSeek MCP] Available prompts: 12 reasoning templates');
87
87
  console.error('[DeepSeek MCP] Available resources: deepseek://models, deepseek://config, deepseek://usage');
88
88
  }