web-search-mcp
This server provides real-time web search capabilities powered by DeepSeek's search-enhanced chat, accessible via the MCP protocol.
web_searchtool: Perform web searches with a natural languagequery(required), returning search-grounded, up-to-date responsesModel selection: Choose between
defaultorexpertDeepSeek models via the optionalmodelparameter orDEEPSEEK_MODEL_TYPEenvironment variableThinking/reasoning mode: Enable via
thinking: trueto include DeepSeek's full reasoning trace alongside the answer; configurable by default withDEEPSEEK_THINKING_ENABLEDAuthentication: Supports
DEEPSEEK_AUTH_TOKENorDEEPSEEK_COOKIE, provided via MCPenvconfig, system environment variables, or.envfilesUniversal MCP compatibility: Communicates via stdio transport with zero external dependencies, working with any MCP client (e.g., Claude Desktop, Claude Code)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@web-search-mcpsearch for the latest breakthroughs in AI"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
web-search-mcp
An online search MCP server based on the DeepSeek web version. It provides real-time web search capabilities to MCP clients through DeepSeek's search-enhanced dialogue feature.
Features
Provides the
web_searchMCP tool, supporting real-time web searchSupports DeepSeek default and expert models
Supports thinking process output
Zero dependencies, pure Node.js implementation
stdio transport, compatible with all MCP clients
Related MCP server: google-search-mcp
Quick Start
1. Use in Claude Desktop
Edit the Claude Desktop configuration file (claude_desktop_config.json) and pass credentials directly via the env field, no .env file required:
{
"mcpServers": {
"web-search": {
"command": "node",
"args": ["D:/ai-projects/web-search-mcp/src/index.js"],
"env": {
"DEEPSEEK_AUTH_TOKEN": "your_token_here"
}
}
}
}2. Use in Claude Code
Add the following to your project's .claude/settings.json:
{
"mcpServers": {
"web-search": {
"command": "node",
"args": ["D:/ai-projects/web-search-mcp/src/index.js"],
"env": {
"DEEPSEEK_AUTH_TOKEN": "your_token_here"
}
}
}
}3. Use a .env file (Optional)
If it is inconvenient to write env in the MCP configuration, you can also use a .env file:
cp .env.example .env
# 编辑 .env 填入凭据Environment variable priority: System environment variables > MCP
envconfiguration >.envfile
MCP Tools
web_search
Uses DeepSeek's search-enhanced dialogue to perform a web search and returns an answer based on the search results.
Parameters:
Parameter | Type | Required | Description |
| string | Yes | Search query content |
| boolean | No | Whether to enable DeepSeek thinking/reasoning mode. If enabled, the model will reason before answering, and the reasoning process is included in the response (default: false) |
| string | No | Model mode: |
Environment Variables
Variable | Required | Default | Description |
| One of two | - | DeepSeek login token |
| One of two | - | DeepSeek browser cookie |
| No |
| Model type: |
| No |
| Whether to enable the thinking process by default |
| No |
| Path to the PoW solver WASM file |
| No |
| Log level: |
Obtaining DeepSeek Credentials
Open chat.deepseek.com and log in
Open browser developer tools (F12) → switch to the Console panel
Enter the following command and press Enter to copy the token:
copy(JSON.parse(localStorage.getItem("userToken")).value)Paste it into the
DEEPSEEK_AUTH_TOKENenvironment variable
Note: Credentials will expire and need to be re-obtained. A typical sign of token expiration is the request returning a Cloudflare verification page.
Testing
# 运行所有测试
npm test
# 运行单个测试文件
node --test tests/mcp-protocol.test.js
node --test tests/config.test.jsProject Structure
src/
index.js # 入口,初始化所有组件并启动 MCP 服务器
mcp-server.js # MCP 协议处理(stdio 传输、JSON-RPC 分发)
deepseek-client.js # DeepSeek 网页版 API 客户端(会话管理、PoW、SSE 流式解析)
pow-solver.js # SHA3 PoW WASM 求解器
env.js # .env 文件加载器
config.js # 环境变量配置解析Available Tools
1 toolweb_searchB
Search the web using DeepSeek's search-enabled chat. Returns a search-grounded response with up-to-date information.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query | |
| thinking | No | Enable DeepSeek thinking/reasoning mode. When true, the model will reason through the query before answering, and the reasoning trace is included in the response. (default: false) | |
| model | No | DeepSeek model mode (default: from server config) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states that the tool returns a 'search-grounded response with up-to-date information', which implies read-only behavior, but it does not explicitly disclose side effects, authentication needs, or limitations. Without annotations, the description carries a heavier burden and falls short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the essential function without unnecessary words. While it is concise, it could be slightly expanded to improve clarity without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description should elaborate on the return format. It mentions 'search-grounded response' but does not specify structure or content. The lack of sibling tools reduces the need for differentiation, but completeness is only moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Search' and clearly identifies the resource 'the web using DeepSeek's search-enabled chat', leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus any alternatives, nor are there any conditions or prerequisites mentioned. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Only one tool exists, so there is no possibility of confusion between tools.
The single tool name 'web_search' is clear and follows a common verb_noun pattern, but with only one tool, consistency cannot be fully assessed.
One tool is minimal for a web search server. It covers the core action but may lack supporting tools for refined queries or result handling.
The tool provides basic web search functionality, but there are no tools for advanced filtering, pagination, or retrieving structured results, leaving potential gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Web search, scraping, RAG answers with citations, and translation as MCP tools.
Search the agentic web. 4,100+ sites, 11 tools incl. check_url + verify_mcp for probe-before-use.
Scrape, crawl and search the web for AI agents via MCP.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables web search and site-specific search capabilities through the Deepsearch model. Provides unified access to broad web retrieval and targeted site search functionality within the MCP ecosystem.2185Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform real-time Google searches and retrieve web results via the MCP protocol.The Unlicense
- AlicenseAqualityCmaintenanceA general MCP server providing web search capabilities using DeepSeek's native online search API.16128MIT
- AlicenseAqualityBmaintenanceEnables real-time web search via DeepSeek's server-side tool without requiring additional search API keys.129MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hbhszy/web-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server