Skip to main content
Glama
MDZZ-123

web-search-mcp

by MDZZ-123

web-search-mcp

多供应商 LLM 服务端搜索网关:把搜索请求转发给支持服务端搜索(DEEP_SEARCH)的 LLM 中转网关,多供应商自动兜底。提供 REST 与 MCP(streamable HTTP)两种接口。

  • 零第三方依赖(纯 Go 标准库),Docker 多阶段构建,镜像解压约 15MB

  • 中文请求体统一 ASCII 转义(\uXXXX),规避网关中文乱码问题

  • 支持 ECH(Encrypted Client Hello)

环境变量

变量

说明

PORT

监听端口,默认 8080

WEBSEARCH_TIMEOUT_MS

默认单请求超时(毫秒),默认 90000;可被 X-Search-Config.timeoutMs 覆盖

网关配置全部由请求头动态提供,修改配置无需重启容器。

Related MCP server: MCP Web Search Server

请求头协议

示例

说明

X-Search-Config

{"timeoutMs":90000,"retries":3,"dns":["https://223.6.6.6/dns-query"]}

全局参数(可选)

X-Search-Providers

网关数组 JSON

按数组顺序兜底,改配置即切换,无需重启

X-Search-Config 全局参数

字段

说明

timeoutMs

单请求超时(毫秒),0=默认

retries

网络失败/5xx 重试轮数,0-10,默认 3

dns

DoH 端点数组(https:// 开头),ECH 查询用,顺序轮询;缺省用内置端点

X-Search-Providers 数组元素

{
  "name": "primary",
  "baseURL": "https://api.example.com/v1",
  "apiKey": "sk-你的key",
  "model": "grok-4.3",
  "apiStyle": "auto",
  "channel": "auto",
  "ech": true,
  "echHost": "cdn.example.net",
  "timeoutMs": 90000,
  "ips": ["1.2.3.4"]
}

字段

必填

说明

name

供应商名(错误报告/日志用)

baseURL

网关地址,如 https://api.example.com/v1

apiKey

Bearer token

model

模型名

apiStyle

responses / chat / auto(缺省 auto,按模型名含 -search 判 chat)

channel

auto/openai/grok/deepseek/gemini/ds-search/kimi/glm/qwen/perplexity

params

通道参数透传(如 searchModesearch_context_size

ech

是否启用 ECH(默认 false)

echHost

查询 HTTPS 记录(获取 ECHConfig)的域名;缺省=baseURL 的 host

timeoutMs

单网关超时覆盖

ips

调试:显式 IP 列表(ipip:port),跳过 DNS 解析

priority

预留排序字段

ECH(Encrypted Client Hello)

网关配置开启 ech: true 时,通过 echHost(缺省为 baseURL 的 host)获取 ECHConfig 并用于 TLS 握手。

HTTP API

端点

说明

POST /search

{"query":"...","provider":"可选"} → 搜索结果 JSON

POST /mcp

MCP Streamable HTTP(initialize/tools/list/tools/call,非流式)

GET /health

健康检查

GET /providers

说明网关由请求头动态提供

POST /search 响应

{
  "ok": true,
  "query": "...",
  "answer": "回答文本(含 [n](url) 来源引用)",
  "searched": true,
  "sources": [{"url": "https://...", "title": "..."}],
  "usage": {"input_tokens": 112, "output_tokens": 500},
  "provider": "primary",
  "model": "grok-4.3",
  "search_calls": 1,
  "latencyMs": 15700
}

全供应商失败时返回 502 + errors 数组(每个供应商的失败原因)。

MCP 接入(Reasonix / Claude 等客户端)

在 MCP 客户端配置 HTTP MCP server:

[[plugins]]
name    = "web-search"
type    = "http"
url     = "https://your-domain.example.com/web_search/mcp"
headers = { "X-Search-Providers" = "${SEARCH_PROVIDERS}" }
call_timeout_seconds = 180

工具名 web_search,参数:query(必填)、provider(可选,指定供应商)。

网络容错

  • 每次请求重新 DNS 解析(不缓存固定 IP,天然支持 CDN 节点轮换)

  • 连接失败/超时/5xx 自动重试(默认 3 轮,retries 可调);每轮重新解析、跳过已失败 IP

  • 4xx(403 等)不重试,网关错误原文透传(据此换模型/网关)

开发

go test ./...        # 44 用例:配置/ECH/DoH/通道/MCP 协议全覆盖
go build -o bin/web-search-mcp .

Docker 部署

docker run -d --name web-search -p 8080:8080 \
  -e PORT=8080 \
  ghcr.io/mdzz-123/web-search-mcp:latest

网关配置经请求头传入(见上文协议),容器无需任何供应商环境变量。

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    MCP server for internet search via direct Google and DuckDuckGo HTML scraping with AI-powered result normalization and optional summarization, requiring no API keys for search.
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    A remote MCP server that routes web search queries across multiple providers (HTTP APIs, external MCP servers, LLM with grounding) with intelligent fallback and quota management.

View all related MCP servers

Related MCP Connectors

  • MCP server for Google search results via SERP API

  • Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

View all MCP Connectors

Latest Blog Posts

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/MDZZ-123/web-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server