web-search-mcp

web-search-mcp

Provides a web search tool with citations by running Claude Code CLI in an isolated Docker container, enabling search even in environments without direct Anthropic web search support.

Category
访问服务器

README

web-search-mcp

An MCP server that exposes a real, cited web_search tool by shelling out to the Claude Code CLI running inside an isolated Docker container, logged into a personal claude.ai Pro subscription.

Why this exists

Some environments proxy Claude Code through a gateway (e.g. an internal LiteLLM-style proxy) that doesn't support Anthropic's built-in web_search server tool for the model it routes to. This project sidesteps that entirely: it's a separate, single-purpose MCP tool backed by its own Claude Code CLI session, running in a container so its login never touches the host's own Claude Code config.

See docs/superpowers/specs/2026-07-28-web-search-mcp-design.md for the full design rationale, including why a raw Anthropic API key doesn't work for this and why Docker isolation is necessary.

How it works

MCP client ──tool call──▶ server.py (FastMCP, stdio) ──subprocess──▶ docker run --rm -v claude-pro-home:/root web-search-claude:latest
                                                                            │
                                                                            ▼
                                                            Claude Code CLI, logged into a Pro account
                                                            (real web_search tool, real Anthropic models)

server.py runs docker run per query, parses the CLI's JSON output, and returns the answer text (which includes a Sources: section whenever the CLI actually searched).

Setup

Requires Docker and uv.

git clone https://github.com/bartdorlandt/web-search-mcp.git
cd web-search-mcp
uv sync

# Build the image (bundles the Claude Code CLI)
docker build -t web-search-claude:latest .

# Create a volume to hold the Pro-account login, then log in (interactive, opens a browser)
docker volume create claude-pro-home
docker run --rm -it -v claude-pro-home:/root web-search-claude:latest /login

The login only needs to happen once — the OAuth session persists in the claude-pro-home volume across container runs.

Manual test

uv run python -c "from server import _web_search_impl; print(_web_search_impl('What are today\'s top technology news headlines?'))"

Using it standalone

uv run python server.py

This starts the MCP server over stdio — point any MCP client at that command directly.

Adding it to gridctl

If you're using gridctl as an MCP gateway, add it as a local-process server in your stack.yaml:

mcp-servers:
  - name: web-search
    command: [uv, run, --directory, /path/to/web-search-mcp, python, server.py]
    transport: stdio

Clone this repo to /path/to/web-search-mcp (or wherever you like) and update the path above, then gridctl reload. No env: block is needed — the only credential this tool uses lives in the claude-pro-home Docker volume, not in gridctl's variable store.

Repo: https://github.com/bartdorlandt/web-search-mcp

Notes

  • No automated test suite — the wrapper's logic is thin enough that its correctness is verified functionally (see the design doc's Testing section).
  • Calls are assumed serial, not concurrent — see "Operational assumptions" in the design doc.
  • Every query bills against the logged-in account's subscription usage.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选