Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
中文 | English
Wire codex-web-search-mcp — a model-independent OpenAI Codex / Grok web-search & deep-research MCP server (standalone Rust binary) — into DeepSeek Harness (dsh) as a one-click plugin.
After installing and restarting dsh web, three tools appear as native dsh MCP tools:
| Tool | dsh name |
|---|---|
| Single-step search | mcp__codex-web-search__codex_web_search |
| Multi-step deep research | mcp__codex-web-search__codex_web_research |
| Fetch page text | mcp__codex-web-search__web_fetch |
Unlike the typical Claude Code / Cursor MCP wiring, this plugin is independent of any model vendor — search goes through the Codex search endpoint, so switching to Gemini / OpenRouter / local models changes nothing.
Prerequisites
The plugin relies on these npm packages to distribute cross-platform binaries:
@dhicoc/dsh-codex-web-search-mcp: this dsh plugin;codex-web-search-mcp: the cross-platform command and its platform binary dependencies;@dhicoc/codex-web-search-mcp-*: prebuilt per-platform binaries.
You don't have to install any of these manually — dsh plugin resolves and installs them automatically. The binary distribution sources live in dhicoc/codex-web-search-mcp.
Install
From npm (recommended)
dsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp
dsh web # restart (web bundles have no HMR; a restart is required)
Verify:
dsh --profile web --dump-config
You should see mcp-codex-web-search with serverName: codex-web-search and command: codex-web-search-mcp.
If your default npm mirror returns
404 Not Found, it usually hasn't synced the package yet; retry against the official registry:dsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp --registry=https://registry.npmjs.org
From GitHub (dev / pre-release)
dsh plugin --profile web add github:dhicoc/dsh-codex-web-search-mcp
dsh web
Credentials (pick one)
- Recommended: run
codex login(OAuth writes~/.codex/auth.json); the server reads it automatically. - No auth.json: set
CODEX_ACCESS_TOKEN(optionallyCODEX_ACCOUNT_ID) and uncomment theenv:block incordis.patch.ymlto reference them with!!js process.env.*so secrets never touch disk.
Without valid credentials the three tools return a clear error message instead of crashing.
Uninstall
dsh plugin --profile web remove @dhicoc/dsh-codex-web-search-mcp
Fallback: native dsh MCP config (no plugin)
dsh's built-in @deepseek-ai/dsh-mcp-client already reads .mcp.json / ~/.dsh/mcp.json. To get the same effect without the plugin, add:
{
"mcpServers": {
"codex-web-search": {
"command": "codex-web-search-mcp"
}
}
}
or append to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: mcp-codex-web-search
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: codex-web-search
transport: stdio
command: codex-web-search-mcp
How it works
- This repo is a config-only Cordis bundle:
cordis.patch.ymlreuses dsh's built-in@deepseek-ai/dsh-mcp-clientand, with one line ofconfig, instantiates it as a stdio server pointing at thecodex-web-search-mcpbinary (serverName: codex-web-search). - The
codex-web-search-mcpdependency pulls the matching prebuilt platform binary throughoptionalDependenciesand exposes abin/codex-web-search-mcpcommand (a lightweight JS shim that locates and spawns the installed binary at runtime — no postinstall, sidestepping the pnpmallowBuildsgate).
License
MIT (same as upstream codex-web-search-mcp).