@arikusi/deepseek-mcp-server 1.5.2 → 1.7.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 +44 -1
- package/README.md +10 -4
- package/dist/deepseek-client.d.ts.map +1 -1
- package/dist/deepseek-client.js +16 -10
- package/dist/deepseek-client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -4
- package/dist/index.js.map +1 -1
- package/dist/resources/models.js +2 -2
- package/dist/resources/models.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/session.d.ts +5 -13
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +5 -20
- package/dist/session.js.map +1 -1
- package/dist/tools/deepseek-chat.d.ts +2 -1
- package/dist/tools/deepseek-chat.d.ts.map +1 -1
- package/dist/tools/deepseek-chat.js +7 -3
- package/dist/tools/deepseek-chat.js.map +1 -1
- package/dist/tools/deepseek-sessions.d.ts +2 -1
- package/dist/tools/deepseek-sessions.d.ts.map +1 -1
- package/dist/tools/deepseek-sessions.js +1 -3
- package/dist/tools/deepseek-sessions.js.map +1 -1
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/usage-tracker.d.ts +12 -0
- package/dist/usage-tracker.d.ts.map +1 -1
- package/dist/usage-tracker.js +23 -6
- package/dist/usage-tracker.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.7.0] - 2026-04-22
|
|
11
|
+
|
|
12
|
+
### Security
|
|
13
|
+
- **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.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- **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.
|
|
17
|
+
- `SessionStore` is no longer a singleton. `SessionStore.getInstance()` and `SessionStore.resetInstance()` have been removed. Construct instances with `new SessionStore()` and pass them explicitly to `registerChatTool`, `registerSessionsTool`, and `registerAllTools`.
|
|
18
|
+
- `UsageTracker.getStats().activeSessions` is wired to the STDIO store via `UsageTracker.setSessionSource()`. In HTTP transport it reports `0` by design — a process-wide count across isolated stores would be both meaningless and a minor cross-tenant information leak.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- `SessionStore` isolation tests: independent instances, no shared state, no cross-store effects on `clear`/`delete`/`list`.
|
|
22
|
+
- HTTP transport integration test (`src/transport-isolation.test.ts`) proving each `serverFactory` invocation produces a fresh store and that user-supplied `session_id` collisions across HTTP sessions do not merge data.
|
|
23
|
+
|
|
24
|
+
## [1.6.0] - 2026-03-17
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- Transparent reasoner routing: all `deepseek-reasoner` requests are now routed through `deepseek-chat` + thinking mode for full feature support including function calling
|
|
28
|
+
- Model-aware parameter filtering prevents sending unsupported sampling params to thinking mode
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- Function calling now works with `deepseek-reasoner` (via transparent routing to `deepseek-chat` + thinking)
|
|
32
|
+
- Sampling parameters (temperature, top_p, frequency_penalty, presence_penalty) properly filtered for reasoning requests
|
|
33
|
+
- Thinking parameter now passed as top-level property instead of extra_body (OpenAI SDK v6 compatibility)
|
|
34
|
+
- Corrected model capabilities in `deepseek://models` resource
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- `deepseek-reasoner` capability list updated: added `function_calling`, removed `thinking_mode`
|
|
38
|
+
- Both `deepseek-chat` and `deepseek-reasoner` run DeepSeek V3.2. The reasoner model is now transparently handled as `deepseek-chat` with `thinking: {type: "enabled"}`, which provides identical reasoning behavior plus function calling support
|
|
39
|
+
|
|
40
|
+
## [1.5.2] - 2026-03-11
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- Worker hang on non-POST requests to `/mcp` endpoint. External GET requests caused the stateless MCP transport to hang indefinitely, triggering Cloudflare Worker "code hung" errors. Now returns 405 for non-POST methods.
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Worker VERSION synced to 1.5.2
|
|
47
|
+
- Added `websiteUrl` to server.json
|
|
48
|
+
|
|
10
49
|
## [1.5.1] - 2026-03-09
|
|
11
50
|
|
|
12
51
|
### Fixed
|
|
@@ -285,6 +324,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
285
324
|
|
|
286
325
|
## Version History
|
|
287
326
|
|
|
327
|
+
- **1.5.2** (2026-03-11): Fix worker hang on non-POST /mcp requests, add registry badges
|
|
328
|
+
- **1.5.1** (2026-03-09): CVE patches, per-model circuit breaker
|
|
288
329
|
- **1.5.0** (2026-03-07): Cloudflare Workers remote endpoint (BYOK), deepseek-mcp.tahirl.com
|
|
289
330
|
- **1.4.3** (2026-03-07): MCP Registry description fix
|
|
290
331
|
- **1.4.2** (2026-03-07): Streamable HTTP transport, Docker support, health endpoint, 253 tests
|
|
@@ -307,7 +348,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
307
348
|
- [GitHub repository](https://github.com/arikusi/deepseek-mcp-server)
|
|
308
349
|
- [Issue tracker](https://github.com/arikusi/deepseek-mcp-server/issues)
|
|
309
350
|
|
|
310
|
-
[Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.
|
|
351
|
+
[Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.2...HEAD
|
|
352
|
+
[1.5.2]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.1...v1.5.2
|
|
353
|
+
[1.5.1]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.5.0...v1.5.1
|
|
311
354
|
[1.5.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.4.3...v1.5.0
|
|
312
355
|
[1.4.3]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.4.2...v1.4.3
|
|
313
356
|
[1.4.2]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.4.1...v1.4.2
|
package/README.md
CHANGED
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
|
|
20
20
|
<p align="center">
|
|
21
21
|
Compatible with Claude Code, Gemini CLI, Cursor, Windsurf, and any MCP-compatible client.<br />
|
|
22
|
-
Officially listed on the <a href="https://registry.modelcontextprotocol.io/?q=io.github.arikusi"><strong>MCP Registry</strong></a>, <a href="https://smithery.ai/servers/arikusi/deepseek-mcp-server">Smithery</a>, <a href="https://glama.ai/mcp/servers/arikusi/deepseek-mcp-server">Glama</a>,
|
|
22
|
+
Officially listed on the <a href="https://registry.modelcontextprotocol.io/?q=io.github.arikusi"><strong>MCP Registry</strong></a>, <a href="https://smithery.ai/servers/arikusi/deepseek-mcp-server">Smithery</a>, <a href="https://glama.ai/mcp/servers/arikusi/deepseek-mcp-server">Glama</a>, <a href="https://lobehub.com/mcp/arikusi-deepseek-mcp-server">LobeHub</a>, and <a href="https://fronteir.ai/mcp/arikusi-deepseek-mcp-server">Fronteir AI</a>.
|
|
23
23
|
</p>
|
|
24
24
|
|
|
25
25
|
<p align="center">
|
|
26
26
|
<a href="https://registry.modelcontextprotocol.io/?q=io.github.arikusi"><img src="https://img.shields.io/badge/Official_MCP_Registry-active-brightgreen" alt="Official MCP Registry" /></a>
|
|
27
27
|
<a href="https://smithery.ai/servers/arikusi/deepseek-mcp-server"><img src="https://smithery.ai/badge/@arikusi/deepseek-mcp-server" alt="Smithery" /></a>
|
|
28
|
-
<a href="https://lobehub.com/mcp/arikusi-deepseek-mcp-server"><img src="https://
|
|
28
|
+
<a href="https://lobehub.com/mcp/arikusi-deepseek-mcp-server"><img src="https://lobehub.com/badge/mcp/arikusi-deepseek-mcp-server" alt="LobeHub" /></a>
|
|
29
29
|
</p>
|
|
30
30
|
|
|
31
31
|
<p align="center">
|
|
@@ -100,7 +100,7 @@ gemini mcp add deepseek npx @arikusi/deepseek-mcp-server -e DEEPSEEK_API_KEY=you
|
|
|
100
100
|
- **Remote Endpoint**: Hosted at `deepseek-mcp.tahirl.com/mcp` — BYOK (Bring Your Own Key), no install needed
|
|
101
101
|
- **HTTP Transport**: Self-hosted remote access via Streamable HTTP with `TRANSPORT=http`
|
|
102
102
|
- **Docker Ready**: Multi-stage Dockerfile with health checks for containerized deployment
|
|
103
|
-
- **Tested**:
|
|
103
|
+
- **Tested**: 265 tests, ~89% line coverage
|
|
104
104
|
- **Type-Safe**: Full TypeScript implementation
|
|
105
105
|
- **MCP Compatible**: Works with any MCP-compatible CLI (Claude Code, Gemini CLI, etc.)
|
|
106
106
|
|
|
@@ -317,7 +317,7 @@ JSON mode ensures the model outputs valid JSON. Include the word "json" in your
|
|
|
317
317
|
}
|
|
318
318
|
```
|
|
319
319
|
|
|
320
|
-
Use the same `session_id` across requests to maintain conversation context.
|
|
320
|
+
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).
|
|
321
321
|
|
|
322
322
|
### `deepseek_sessions`
|
|
323
323
|
|
|
@@ -559,6 +559,12 @@ curl http://localhost:3000/health
|
|
|
559
559
|
|
|
560
560
|
The MCP endpoint is available at `POST /mcp` (Streamable HTTP protocol).
|
|
561
561
|
|
|
562
|
+
**Session isolation (1.7.0+):** In HTTP transport each connected MCP session
|
|
563
|
+
gets its own `McpServer` instance and its own `SessionStore`. Conversation
|
|
564
|
+
history, session listings, and deletions are scoped to the MCP session that
|
|
565
|
+
created them — one client cannot read, enumerate, or wipe another client's
|
|
566
|
+
sessions. STDIO transport is single-tenant by nature and unaffected.
|
|
567
|
+
|
|
562
568
|
### Docker
|
|
563
569
|
|
|
564
570
|
```bash
|
|
@@ -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;AAqBpB,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;
|
|
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;AAqBpB,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;IAgE1B;;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"}
|
package/dist/deepseek-client.js
CHANGED
|
@@ -93,7 +93,17 @@ export class DeepSeekClient {
|
|
|
93
93
|
* Build request params shared between streaming and non-streaming
|
|
94
94
|
*/
|
|
95
95
|
buildRequestParams(params, stream) {
|
|
96
|
-
|
|
96
|
+
// Transparently convert reasoner to chat + thinking
|
|
97
|
+
// deepseek-reasoner = deepseek-chat with thinking always enabled
|
|
98
|
+
// chat + thinking supports function calling, which reasoner alone does not
|
|
99
|
+
let effectiveModel = params.model;
|
|
100
|
+
let effectiveThinking = params.thinking;
|
|
101
|
+
if (params.model === 'deepseek-reasoner') {
|
|
102
|
+
effectiveModel = 'deepseek-chat';
|
|
103
|
+
effectiveThinking = { type: 'enabled' };
|
|
104
|
+
console.error('[DeepSeek MCP] Routing: reasoner -> chat + thinking');
|
|
105
|
+
}
|
|
106
|
+
const isThinkingEnabled = effectiveThinking?.type === 'enabled';
|
|
97
107
|
// Filter incompatible params when thinking mode is active
|
|
98
108
|
if (isThinkingEnabled) {
|
|
99
109
|
const filtered = [];
|
|
@@ -107,7 +117,7 @@ export class DeepSeekClient {
|
|
|
107
117
|
}
|
|
108
118
|
}
|
|
109
119
|
const requestParams = {
|
|
110
|
-
model:
|
|
120
|
+
model: effectiveModel,
|
|
111
121
|
messages: params.messages,
|
|
112
122
|
temperature: isThinkingEnabled ? undefined : (params.temperature ?? 1.0),
|
|
113
123
|
max_tokens: params.max_tokens,
|
|
@@ -117,12 +127,9 @@ export class DeepSeekClient {
|
|
|
117
127
|
stop: params.stop,
|
|
118
128
|
stream,
|
|
119
129
|
};
|
|
120
|
-
// Pass thinking
|
|
121
|
-
if (
|
|
122
|
-
requestParams.
|
|
123
|
-
...requestParams.extra_body,
|
|
124
|
-
thinking: params.thinking,
|
|
125
|
-
};
|
|
130
|
+
// Pass thinking as top-level param (OpenAI SDK v6 passes unknown props to the API body)
|
|
131
|
+
if (effectiveThinking?.type === 'enabled') {
|
|
132
|
+
requestParams.thinking = effectiveThinking;
|
|
126
133
|
}
|
|
127
134
|
// Pass response_format for JSON mode
|
|
128
135
|
if (params.response_format) {
|
|
@@ -132,8 +139,7 @@ export class DeepSeekClient {
|
|
|
132
139
|
requestParams.tools = params.tools;
|
|
133
140
|
}
|
|
134
141
|
if (params.tool_choice !== undefined) {
|
|
135
|
-
requestParams.tool_choice =
|
|
136
|
-
params.tool_choice;
|
|
142
|
+
requestParams.tool_choice = params.tool_choice;
|
|
137
143
|
}
|
|
138
144
|
return requestParams;
|
|
139
145
|
}
|
|
@@ -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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AA+GH,wBAAgB,mBAAmB,gEAWlC"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,8 @@ import { registerAllTools } from './tools/index.js';
|
|
|
12
12
|
import { registerAllPrompts } from './prompts/index.js';
|
|
13
13
|
import { registerAllResources } from './resources/index.js';
|
|
14
14
|
import { startHttpTransport } from './transport-http.js';
|
|
15
|
+
import { SessionStore } from './session.js';
|
|
16
|
+
import { UsageTracker } from './usage-tracker.js';
|
|
15
17
|
async function main() {
|
|
16
18
|
// Load and validate configuration
|
|
17
19
|
try {
|
|
@@ -29,10 +31,20 @@ async function main() {
|
|
|
29
31
|
const config = getConfig();
|
|
30
32
|
const deepseek = new DeepSeekClient();
|
|
31
33
|
const server = createServer();
|
|
34
|
+
// STDIO mode: single shared SessionStore for the lifetime of this process.
|
|
35
|
+
// (HTTP mode builds its own per-session stores below — see serverFactory.)
|
|
36
|
+
const stdioSessionStore = new SessionStore();
|
|
32
37
|
// Register tools, prompts, and resources
|
|
33
|
-
registerAllTools(server, deepseek);
|
|
38
|
+
registerAllTools(server, deepseek, stdioSessionStore);
|
|
34
39
|
registerAllPrompts(server);
|
|
35
40
|
registerAllResources(server);
|
|
41
|
+
// Wire the usage tracker's active-session count to the STDIO store.
|
|
42
|
+
// In HTTP mode this is intentionally NOT wired: each HTTP session owns its
|
|
43
|
+
// own store, so a process-wide count would be misleading and could leak
|
|
44
|
+
// tenant info.
|
|
45
|
+
if (config.transport !== 'http') {
|
|
46
|
+
UsageTracker.getInstance().setSessionSource(() => stdioSessionStore.list().length);
|
|
47
|
+
}
|
|
36
48
|
console.error(`[DeepSeek MCP] Starting server v${version}...`);
|
|
37
49
|
// Optional connection test (controlled by SKIP_CONNECTION_TEST env)
|
|
38
50
|
if (!config.skipConnectionTest) {
|
|
@@ -47,10 +59,14 @@ async function main() {
|
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
if (config.transport === 'http') {
|
|
50
|
-
// HTTP transport: per-session McpServer
|
|
62
|
+
// HTTP transport: per-session McpServer AND per-session SessionStore.
|
|
63
|
+
// DeepSeekClient is shared (stateless API client is fine cross-session).
|
|
64
|
+
// Each HTTP session gets an isolated SessionStore so that one client
|
|
65
|
+
// cannot read, list, or clear another client's conversation history.
|
|
51
66
|
const serverFactory = () => {
|
|
52
67
|
const s = createServer();
|
|
53
|
-
|
|
68
|
+
const sessionStore = new SessionStore();
|
|
69
|
+
registerAllTools(s, deepseek, sessionStore);
|
|
54
70
|
registerAllPrompts(s);
|
|
55
71
|
registerAllResources(s);
|
|
56
72
|
return s;
|
|
@@ -83,7 +99,8 @@ export function createSandboxServer() {
|
|
|
83
99
|
loadConfig();
|
|
84
100
|
const client = new DeepSeekClient();
|
|
85
101
|
const server = createServer();
|
|
86
|
-
|
|
102
|
+
const sessionStore = new SessionStore();
|
|
103
|
+
registerAllTools(server, client, sessionStore);
|
|
87
104
|
registerAllPrompts(server);
|
|
88
105
|
registerAllResources(server);
|
|
89
106
|
return server;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,kCAAkC;IAClC,IAAI,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;IAE7C,yCAAyC;IACzC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACtD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,oEAAoE;IACpE,2EAA2E;IAC3E,wEAAwE;IACxE,eAAe;IACf,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,KAAK,CAAC,CAAC;IAE/D,oEAAoE;IACpE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CACX,kEAAkE,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,qEAAqE;QACrE,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACxC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC5C,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtB,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,MAAM,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CACX,uFAAuF,CACxF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CACX,wCAAwC,EACxC,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC;IAC1C,UAAU,EAAE,CAAC;IACb,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/resources/models.js
CHANGED
|
@@ -29,7 +29,7 @@ function buildModelsData() {
|
|
|
29
29
|
{
|
|
30
30
|
id: 'deepseek-reasoner',
|
|
31
31
|
name: 'DeepSeek Reasoner (V3.2)',
|
|
32
|
-
description: 'Advanced reasoning model with chain-of-thought
|
|
32
|
+
description: 'Advanced reasoning model with chain-of-thought. Transparently routed through chat + thinking mode for full feature support including function calling.',
|
|
33
33
|
context_length: 131072,
|
|
34
34
|
max_output_tokens: 65536,
|
|
35
35
|
capabilities: [
|
|
@@ -37,7 +37,7 @@ function buildModelsData() {
|
|
|
37
37
|
'reasoning',
|
|
38
38
|
'chain_of_thought',
|
|
39
39
|
'json_mode',
|
|
40
|
-
'
|
|
40
|
+
'function_calling',
|
|
41
41
|
],
|
|
42
42
|
pricing_per_million_tokens: {
|
|
43
43
|
input_cache_hit: reasonerPricing.cache_hit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAExD,OAAO;QACL,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,0DAA0D;gBACvE,cAAc,EAAE,MAAM;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE;oBACZ,MAAM;oBACN,kBAAkB;oBAClB,WAAW;oBACX,eAAe;iBAChB;gBACD,0BAA0B,EAAE;oBAC1B,eAAe,EAAE,WAAW,CAAC,SAAS;oBACtC,gBAAgB,EAAE,WAAW,CAAC,UAAU;oBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B;aACF;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAExD,OAAO;QACL,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,0DAA0D;gBACvE,cAAc,EAAE,MAAM;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE;oBACZ,MAAM;oBACN,kBAAkB;oBAClB,WAAW;oBACX,eAAe;iBAChB;gBACD,0BAA0B,EAAE;oBAC1B,eAAe,EAAE,WAAW,CAAC,SAAS;oBACtC,gBAAgB,EAAE,WAAW,CAAC,UAAU;oBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B;aACF;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EACT,wJAAwJ;gBAC1J,cAAc,EAAE,MAAM;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE;oBACZ,MAAM;oBACN,WAAW;oBACX,kBAAkB;oBAClB,WAAW;oBACX,kBAAkB;iBACnB;gBACD,0BAA0B,EAAE;oBAC1B,eAAe,EAAE,eAAe,CAAC,SAAS;oBAC1C,gBAAgB,EAAE,eAAe,CAAC,UAAU;oBAC5C,MAAM,EAAE,eAAe,CAAC,MAAM;iBAC/B;aACF;YACD,qEAAqE;SACtE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EACR,mBAAmB,EACnB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,8FAA8F;QAChG,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACjD;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -6,7 +6,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
6
6
|
import { readFileSync } from 'fs';
|
|
7
7
|
import { dirname, join } from 'path';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
9
|
-
let version = '1.
|
|
9
|
+
let version = '1.7.0';
|
|
10
10
|
try {
|
|
11
11
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
12
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
package/dist/session.d.ts
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* In-Memory Session Store
|
|
3
|
-
* Manages multi-turn conversation sessions within a single MCP server
|
|
3
|
+
* Manages multi-turn conversation sessions within a single MCP server instance lifetime.
|
|
4
|
+
*
|
|
5
|
+
* One SessionStore per McpServer instance. In HTTP transport mode this means
|
|
6
|
+
* one store per connected HTTP session, which gives cross-client isolation.
|
|
7
|
+
* In STDIO mode a single store is shared for the life of the process.
|
|
4
8
|
*/
|
|
5
9
|
import type { ChatMessage, Session, SessionInfo } from './types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Singleton session store backed by an in-memory Map.
|
|
8
|
-
* Sessions live for the duration of the MCP server process.
|
|
9
|
-
* TTL-based cleanup prevents unbounded memory growth.
|
|
10
|
-
*/
|
|
11
10
|
export declare class SessionStore {
|
|
12
|
-
private static instance;
|
|
13
11
|
private sessions;
|
|
14
12
|
private requestCounter;
|
|
15
|
-
private constructor();
|
|
16
|
-
static getInstance(): SessionStore;
|
|
17
|
-
/**
|
|
18
|
-
* Reset singleton (for testing)
|
|
19
|
-
*/
|
|
20
|
-
static resetInstance(): void;
|
|
21
13
|
/**
|
|
22
14
|
* Create a new session or return existing one
|
|
23
15
|
*/
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpE,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAAK;IAE3B;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAgCnC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAc3C;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAc7D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM7C;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,IAAI,IAAI,WAAW,EAAE;IAkBrB;;OAEG;IACH,OAAO,IAAI,MAAM;IAWjB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,MAAM;IAMf;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;CAarB"}
|
package/dist/session.js
CHANGED
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* In-Memory Session Store
|
|
3
|
-
* Manages multi-turn conversation sessions within a single MCP server
|
|
3
|
+
* Manages multi-turn conversation sessions within a single MCP server instance lifetime.
|
|
4
|
+
*
|
|
5
|
+
* One SessionStore per McpServer instance. In HTTP transport mode this means
|
|
6
|
+
* one store per connected HTTP session, which gives cross-client isolation.
|
|
7
|
+
* In STDIO mode a single store is shared for the life of the process.
|
|
4
8
|
*/
|
|
5
9
|
import { randomUUID } from 'crypto';
|
|
6
10
|
import { getConfig } from './config.js';
|
|
7
|
-
/**
|
|
8
|
-
* Singleton session store backed by an in-memory Map.
|
|
9
|
-
* Sessions live for the duration of the MCP server process.
|
|
10
|
-
* TTL-based cleanup prevents unbounded memory growth.
|
|
11
|
-
*/
|
|
12
11
|
export class SessionStore {
|
|
13
|
-
static instance = null;
|
|
14
12
|
sessions = new Map();
|
|
15
13
|
requestCounter = 0;
|
|
16
|
-
constructor() { }
|
|
17
|
-
static getInstance() {
|
|
18
|
-
if (!SessionStore.instance) {
|
|
19
|
-
SessionStore.instance = new SessionStore();
|
|
20
|
-
}
|
|
21
|
-
return SessionStore.instance;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Reset singleton (for testing)
|
|
25
|
-
*/
|
|
26
|
-
static resetInstance() {
|
|
27
|
-
SessionStore.instance = null;
|
|
28
|
-
}
|
|
29
14
|
/**
|
|
30
15
|
* Create a new session or return existing one
|
|
31
16
|
*/
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
7
|
import type { DeepSeekClient } from '../deepseek-client.js';
|
|
8
|
-
|
|
8
|
+
import type { SessionStore } from '../session.js';
|
|
9
|
+
export declare function registerChatTool(server: McpServer, client: DeepSeekClient, sessionStore: SessionStore): void;
|
|
9
10
|
//# sourceMappingURL=deepseek-chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-chat.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek-chat.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAqBlD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,YAAY,GACzB,IAAI,CA8RN"}
|
|
@@ -8,7 +8,6 @@ import { getConfig } from '../config.js';
|
|
|
8
8
|
import { calculateCost, formatCost } from '../cost.js';
|
|
9
9
|
import { ExtendedMessageSchema, ChatInputWithToolsSchema, ToolDefinitionSchema, ToolChoiceSchema, ThinkingSchema, } from '../schemas.js';
|
|
10
10
|
import { getErrorMessage, getTextContent } from '../types.js';
|
|
11
|
-
import { SessionStore } from '../session.js';
|
|
12
11
|
import { UsageTracker } from '../usage-tracker.js';
|
|
13
12
|
/** Maximum allowed message content length (from config) */
|
|
14
13
|
function validateMessageLength(input) {
|
|
@@ -20,7 +19,7 @@ function validateMessageLength(input) {
|
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
export function registerChatTool(server, client) {
|
|
22
|
+
export function registerChatTool(server, client, sessionStore) {
|
|
24
23
|
// Use config's defaultModel if it's a valid model name
|
|
25
24
|
const cfg = getConfig();
|
|
26
25
|
const modelDefault = cfg.defaultModel === 'deepseek-reasoner' ? 'deepseek-reasoner' : 'deepseek-chat';
|
|
@@ -129,7 +128,6 @@ export function registerChatTool(server, client) {
|
|
|
129
128
|
}
|
|
130
129
|
// Session management: build full message list
|
|
131
130
|
let allMessages = validated.messages;
|
|
132
|
-
const sessionStore = SessionStore.getInstance();
|
|
133
131
|
if (validated.session_id) {
|
|
134
132
|
// Create or get session
|
|
135
133
|
const session = sessionStore.create(validated.session_id);
|
|
@@ -138,6 +136,8 @@ export function registerChatTool(server, client) {
|
|
|
138
136
|
allMessages = [...previousMessages, ...validated.messages];
|
|
139
137
|
console.error(`[DeepSeek MCP] Session: id=${validated.session_id}, previous_messages=${previousMessages.length}, total_messages=${allMessages.length}`);
|
|
140
138
|
}
|
|
139
|
+
// Track if reasoner was selected (routing happens in deepseek-client)
|
|
140
|
+
const isReasonerRouted = validated.model === 'deepseek-reasoner';
|
|
141
141
|
console.error(`[DeepSeek MCP] Request: model=${validated.model}, messages=${allMessages.length}, stream=${validated.stream}${validated.tools ? `, tools=${validated.tools.length}` : ''}${validated.thinking ? `, thinking=${validated.thinking.type}` : ''}${validated.json_mode ? ', json_mode=true' : ''}${validated.session_id ? `, session=${validated.session_id}` : ''}`);
|
|
142
142
|
// Build params for client
|
|
143
143
|
const clientParams = {
|
|
@@ -201,6 +201,9 @@ export function registerChatTool(server, client) {
|
|
|
201
201
|
responseText += `- **Tokens:** ${response.usage.total_tokens} (${response.usage.prompt_tokens} prompt + ${response.usage.completion_tokens} completion)\n`;
|
|
202
202
|
responseText += `- **Model:** ${response.model}\n`;
|
|
203
203
|
responseText += `- **Cost:** ${formatCost(costBreakdown)}`;
|
|
204
|
+
if (isReasonerRouted) {
|
|
205
|
+
responseText += `\n- **Routed:** reasoner -> chat + thinking`;
|
|
206
|
+
}
|
|
204
207
|
if (response.tool_calls?.length) {
|
|
205
208
|
responseText += `\n- **Tool Calls:** ${response.tool_calls.length}`;
|
|
206
209
|
}
|
|
@@ -220,6 +223,7 @@ export function registerChatTool(server, client) {
|
|
|
220
223
|
],
|
|
221
224
|
structuredContent: {
|
|
222
225
|
...response,
|
|
226
|
+
...(isReasonerRouted ? { routed_from: 'deepseek-reasoner' } : {}),
|
|
223
227
|
cost_usd: parseFloat(costBreakdown.totalCost.toFixed(6)),
|
|
224
228
|
...(validated.session_id ? { session_id: validated.session_id } : {}),
|
|
225
229
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-chat.js","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GAEf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek-chat.js","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
* Session management for multi-turn conversations
|
|
4
4
|
*/
|
|
5
5
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
-
|
|
6
|
+
import type { SessionStore } from '../session.js';
|
|
7
|
+
export declare function registerSessionsTool(server: McpServer, store: SessionStore): void;
|
|
7
8
|
//# sourceMappingURL=deepseek-sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAuGjF"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* Session management for multi-turn conversations
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { SessionStore } from '../session.js';
|
|
7
6
|
import { getErrorMessage } from '../types.js';
|
|
8
|
-
export function registerSessionsTool(server) {
|
|
7
|
+
export function registerSessionsTool(server, store) {
|
|
9
8
|
server.registerTool('deepseek_sessions', {
|
|
10
9
|
title: 'DeepSeek Session Management',
|
|
11
10
|
description: 'Manage multi-turn conversation sessions. List active sessions, delete a specific session, or clear all sessions. ' +
|
|
@@ -21,7 +20,6 @@ export function registerSessionsTool(server) {
|
|
|
21
20
|
},
|
|
22
21
|
}, async (input) => {
|
|
23
22
|
try {
|
|
24
|
-
const store = SessionStore.getInstance();
|
|
25
23
|
switch (input.action) {
|
|
26
24
|
case 'list': {
|
|
27
25
|
const sessions = store.list();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-sessions.js","sourceRoot":"","sources":["../../src/tools/deepseek-sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek-sessions.js","sourceRoot":"","sources":["../../src/tools/deepseek-sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
6
|
import type { DeepSeekClient } from '../deepseek-client.js';
|
|
7
|
-
|
|
7
|
+
import type { SessionStore } from '../session.js';
|
|
8
|
+
export declare function registerAllTools(server: McpServer, client: DeepSeekClient, sessionStore: SessionStore): void;
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,YAAY,GACzB,IAAI,CAGN"}
|
package/dist/tools/index.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { registerChatTool } from './deepseek-chat.js';
|
|
6
6
|
import { registerSessionsTool } from './deepseek-sessions.js';
|
|
7
|
-
export function registerAllTools(server, client) {
|
|
8
|
-
registerChatTool(server, client);
|
|
9
|
-
registerSessionsTool(server);
|
|
7
|
+
export function registerAllTools(server, client, sessionStore) {
|
|
8
|
+
registerChatTool(server, client, sessionStore);
|
|
9
|
+
registerSessionsTool(server, sessionStore);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,MAAsB,EACtB,YAA0B;IAE1B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/usage-tracker.d.ts
CHANGED
|
@@ -12,12 +12,24 @@ export declare class UsageTracker {
|
|
|
12
12
|
private totalCost;
|
|
13
13
|
private cacheHitTokens;
|
|
14
14
|
private cacheMissTokens;
|
|
15
|
+
private sessionSource;
|
|
15
16
|
private constructor();
|
|
16
17
|
static getInstance(): UsageTracker;
|
|
17
18
|
/**
|
|
18
19
|
* Reset singleton (for testing)
|
|
19
20
|
*/
|
|
20
21
|
static resetInstance(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Wire up a callback that reports the current active session count.
|
|
24
|
+
* In STDIO mode this maps to the single shared SessionStore.
|
|
25
|
+
* In HTTP mode no source is set — each HTTP session owns its own store,
|
|
26
|
+
* so a process-wide count would be misleading and could leak tenant info.
|
|
27
|
+
*/
|
|
28
|
+
setSessionSource(fn: () => number): void;
|
|
29
|
+
/**
|
|
30
|
+
* Clear the session source (used in tests or when swapping stores)
|
|
31
|
+
*/
|
|
32
|
+
clearSessionSource(): void;
|
|
21
33
|
/**
|
|
22
34
|
* Track a completed API request
|
|
23
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../src/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../src/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IAEpD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAA+B;IAEpD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAOlC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,YAAY,CACV,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,EACD,IAAI,EAAE,MAAM,GACX,IAAI;IAeP;;OAEG;IACH,QAAQ,IAAI,UAAU;IAsBtB;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAK3B"}
|
package/dist/usage-tracker.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Usage Tracker
|
|
3
3
|
* Singleton that tracks aggregated API usage statistics
|
|
4
4
|
*/
|
|
5
|
-
import { SessionStore } from './session.js';
|
|
6
5
|
export class UsageTracker {
|
|
7
6
|
static instance = null;
|
|
8
7
|
totalRequests = 0;
|
|
@@ -12,6 +11,7 @@ export class UsageTracker {
|
|
|
12
11
|
totalCost = 0;
|
|
13
12
|
cacheHitTokens = 0;
|
|
14
13
|
cacheMissTokens = 0;
|
|
14
|
+
sessionSource = null;
|
|
15
15
|
constructor() { }
|
|
16
16
|
static getInstance() {
|
|
17
17
|
if (!UsageTracker.instance) {
|
|
@@ -25,6 +25,21 @@ export class UsageTracker {
|
|
|
25
25
|
static resetInstance() {
|
|
26
26
|
UsageTracker.instance = null;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Wire up a callback that reports the current active session count.
|
|
30
|
+
* In STDIO mode this maps to the single shared SessionStore.
|
|
31
|
+
* In HTTP mode no source is set — each HTTP session owns its own store,
|
|
32
|
+
* so a process-wide count would be misleading and could leak tenant info.
|
|
33
|
+
*/
|
|
34
|
+
setSessionSource(fn) {
|
|
35
|
+
this.sessionSource = fn;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Clear the session source (used in tests or when swapping stores)
|
|
39
|
+
*/
|
|
40
|
+
clearSessionSource() {
|
|
41
|
+
this.sessionSource = null;
|
|
42
|
+
}
|
|
28
43
|
/**
|
|
29
44
|
* Track a completed API request
|
|
30
45
|
*/
|
|
@@ -46,11 +61,13 @@ export class UsageTracker {
|
|
|
46
61
|
*/
|
|
47
62
|
getStats() {
|
|
48
63
|
let activeSessions = 0;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
if (this.sessionSource) {
|
|
65
|
+
try {
|
|
66
|
+
activeSessions = this.sessionSource();
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// callback failed — fall through with 0
|
|
70
|
+
}
|
|
54
71
|
}
|
|
55
72
|
return {
|
|
56
73
|
totalRequests: this.totalRequests,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../src/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../src/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,GAAwB,IAAI,CAAC;IAE5C,aAAa,GAAG,CAAC,CAAC;IAClB,WAAW,GAAG,CAAC,CAAC;IAChB,iBAAiB,GAAG,CAAC,CAAC;IACtB,qBAAqB,GAAG,CAAC,CAAC;IAC1B,SAAS,GAAG,CAAC,CAAC;IACd,cAAc,GAAG,CAAC,CAAC;IACnB,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,GAA0B,IAAI,CAAC;IAEpD,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,EAAgB;QAC/B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CACV,KAMC,EACD,IAAY;QAEZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,uBAAuB,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,wBAAwB,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QACzD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IACrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arikusi/deepseek-mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"mcpName": "io.github.arikusi/deepseek",
|
|
5
5
|
"description": "MCP Server for DeepSeek API integration - enables Claude Code to use DeepSeek Chat and Reasoner models",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"license": "MIT",
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|
|
49
|
-
"url": "
|
|
49
|
+
"url": "https://github.com/arikusi/deepseek-mcp-server"
|
|
50
50
|
},
|
|
51
51
|
"bugs": {
|
|
52
52
|
"url": "https://github.com/arikusi/deepseek-mcp-server/issues"
|