ds-web-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DS_TOKEN | No | Directly specify the bearer token, skipping the browser (e.g. from localStorage userToken). Useful for headless server environments. | |
| DS_COOKIE | No | Raw Cookie header sent with requests. | |
| DS_LOCALE | No | Value for the x-client-locale header. | zh_CN |
| DS_BROWSER | No | Path to the Chromium-family browser executable. Defaults to auto-detection. | |
| DS_BASE_URL | No | Route origin override (for testing). | https://chat.deepseek.com |
| DS_DEVICE_ID | No | Value for the x-device-id header. | |
| DS_TIMEOUT_MS | No | Per-round request timeout budget in milliseconds. | 180000 |
| DS_USER_AGENT | No | Full User-Agent override (escape hatch). | |
| DS_APP_VERSION | No | Value for the x-client-version header. | 2.5.0 |
| DS_FINGERPRINT | No | Browser fingerprint profile. Set to off to fall back to legacy behavior (Node default UA, no browser headers). | chrome |
| DS_HTTP_PROTOCOL | No | HTTP protocol selection: auto (https uses h2), h2, or http1. | auto |
| DS_CHROME_PROFILE | No | Dedicated browser profile directory used for login and automatic token refresh. | ~/.ds-web-mcp-chrome |
| DS_CHROME_VERSION | No | Chrome major version used for the UA and client hints. Defaults to auto-detection. | |
| DS_WEB_MCP_CONFIG | No | Path to the credentials configuration file. | ~/.ds-web-mcp.json |
| DS_NO_AUTO_REFRESH | No | Set to 1 to disable automatic token refresh. | |
| DS_CHROME_DEBUG_PORT | No | Debug port used when launching the browser for automatic token refresh. | 9334 |
| DS_FINGERPRINT_PLATFORM | No | Fingerprint platform: win, mac, or linux. | win |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| web_searchA | Ask DeepSeek with its web search turned on. Use for current events, prices, releases, or anything requiring up-to-date sources. Returns the answer plus the session link. |
| upload_filesA | Upload one or more local files (images, PDFs, documents, code, archives) to the DeepSeek account. Returns a file id per upload; pass those ids as refFileIds to the chat tool to attach them to a prompt. Max 104857600 bytes per file. |
| list_filesA | Fetch the server-side metadata for previously uploaded file ids (name, size, mime type, upload status, content-audit verdict). Use to confirm an upload finished or to re-check status before attaching it. |
| chatA | Send a prompt to DeepSeek. Set search=true to attach live web results. Pass sessionId + parentMessageId to continue an existing conversation. |
| new_sessionA | Create an empty DeepSeek chat session and return its id and URL. |
| refresh_tokenA | Re-capture the DeepSeek bearer token from the signed-in browser profile and save it. Use when another tool reports an auth rejection. |
| diagnoseA | Report whether the DeepSeek credential is configured and accepted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools are clearly distinct (upload_files, list_files, new_session, refresh_token, diagnose), but chat with search=true and web_search perform essentially the same operation, leaving a genuine boundary ambiguity. The descriptions hint at when to prefer web_search, but the overlap is structural rather than incidental.
All names are snake_case, which is consistent, and the resource-action pattern (upload_files, list_files, new_session, refresh_token, web_search) is predictable. The bare verbs chat and diagnose deviate slightly from the verb_noun convention but remain readable.
Seven tools is a well-scoped set for a DeepSeek chat/file wrapper: upload, inspect, converse, start session, refresh auth, diagnose, and search. Each tool maps to a concrete operation and none feels redundant except the chat/web_search overlap.
Core lifecycle is covered: files can be uploaded and inspected, sessions created and continued, and auth refreshed or diagnosed. Minor gaps exist — no file deletion/cleanup and no way to list existing sessions or message history to discover a sessionId without already having one.