@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.
- package/CHANGELOG.md +30 -3
- package/README.md +67 -4
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/deepseek-client.d.ts +40 -2
- package/dist/deepseek-client.d.ts.map +1 -1
- package/dist/deepseek-client.js +150 -2
- package/dist/deepseek-client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json-extract.d.ts +34 -0
- package/dist/json-extract.d.ts.map +1 -0
- package/dist/json-extract.js +93 -0
- package/dist/json-extract.js.map +1 -0
- package/dist/resources/models.d.ts.map +1 -1
- package/dist/resources/models.js +2 -0
- package/dist/resources/models.js.map +1 -1
- package/dist/schema-validate.d.ts +28 -0
- package/dist/schema-validate.d.ts.map +1 -0
- package/dist/schema-validate.js +121 -0
- package/dist/schema-validate.js.map +1 -0
- package/dist/schemas.d.ts +19 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +17 -0
- package/dist/schemas.js.map +1 -1
- package/dist/tools/deepseek-chat.d.ts.map +1 -1
- package/dist/tools/deepseek-chat.js +188 -19
- package/dist/tools/deepseek-chat.js.map +1 -1
- package/dist/tools/deepseek-fim.d.ts +13 -0
- package/dist/tools/deepseek-fim.d.ts.map +1 -0
- package/dist/tools/deepseek-fim.js +153 -0
- package/dist/tools/deepseek-fim.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- 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
|
|
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.
|
|
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/
|
|
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
|
-
-
|
|
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
|
-
|
|
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";
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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
|
|
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',
|
package/dist/config.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/deepseek-client.js
CHANGED
|
@@ -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
|
}
|