Skip to content

arikusi/deepseek-mcp-server

MCP Developer Tools

MCP server for DeepSeek AI with chat, reasoning, multi-turn sessions, function calling, thinking mode, and cost tracking.

TypeScript Latest v2.2.0 · 21d ago Security brief →

Features

  • Provides DeepSeek V4 (flash & pro) models with 1M‑token context via MCP
  • Supports multi‑turn sessions, thinking mode, and cost tracking
  • Offers function calling, fill‑in‑the‑middle completion, and JSON schema validation
  • Docker‑ready for containerized deployment

Recent releases

View all 24 releases →
Monitor
v2.2.0 Security relevant

ReDoS guard

No immediate action
v2.1.0 New feature

deepseek_fim + quality updates

No immediate action
v2.0.0 Breaking risk

DeepSeek V4 migration

Config change
v1.8.0 Breaking risk
Auth Breaking upgrade

GHSA-72f3-6w86-7rv3 fix

v1.7.0 Breaking risk
⚠ Upgrade required
  • HTTP transport users must upgrade immediately; client code relying on shared session state across HTTP sessions must be refactored to use per‑session instances.
  • Call `UsageTracker.setSessionSource()` to wire `activeSessions` correctly for STDIO vs. HTTP transports; in HTTP mode it will report 0 by design.
Breaking changes
  • Each HTTP session now receives its own `SessionStore` instance; conversation history, listings, and deletions are scoped per-session.
  • `SessionStore.getInstance()` and `SessionStore.resetInstance()` removed; construct instances with `new SessionStore()` and pass explicitly to tool registration functions.
Security fixes
  • CVE pending: Cross-session data exposure in HTTP transport fixed by isolating each HTTP session's `SessionStore` to prevent unauthorized access to other clients' conversation history and session enumeration/deletion capabilities.
Notable features
  • Added integration test (`src/transport-isolation.test.ts`) verifying per-HTTP‑session store isolation.
  • Added unit tests confirming independent `SessionStore` instances have no cross-store effects on `clear`, `delete`, or `list` operations.
Full changelog

Security

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 — each STDIO client runs its own server process, so there was no shared state to leak.

Full advisory and CVE coordination pending.

Changed

  • 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.
  • 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.
  • 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.

Added

  • SessionStore isolation tests: independent instances, no shared state, no cross-store effects on clear/delete/list.
  • 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.

Upgrade

npm install @arikusi/[email protected]

Users on STDIO transport: no action needed beyond the upgrade.

Users on HTTP transport: upgrade immediately. Session data is now correctly scoped per HTTP session — if your client relied on cross-client session sharing, that behaviour was the vulnerability and must be reworked.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
18
Forks
9
Languages
TypeScript JavaScript Dockerfile
Downloads/week
343
NPM Maintainers
1 Single npm maintainer
Contributors
4
TypeScript
Types included ✓

Install & Platforms

Install via
npm

Beta — feedback welcome: [email protected]