Registers codex-web-search-mcp as native DSH MCP tools (mcp__codex-web-search__codex_web_search / codex_web_research / web_fetch) for model-independent Codex and Grok web search and deep research.
Install
# from npm (prebuilt)
dsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:dhicoc/dsh-codex-web-search-mcp
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
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).
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 31915
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
superdesigndev/treg★ 4099
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1130
Tencent CloudBase backend for DeepSeek Harness — scaffold and deploy full-stack apps from chat, render query results as table cards with paging, sorting and CSV export, preview a deployment on its domain, and call the CloudBase MCP toolset (`mcp__cloudbase__*`) with device-code login.
gitroomhq/postiz-agent#dsh-postiz★ 501
Connects DeepSeek Harness to Postiz over MCP: list connected social media channels, fetch per-platform posting rules, and schedule, draft, or publish posts to X, LinkedIn, Instagram, Facebook, Threads, TikTok, YouTube, Reddit, Bluesky, Mastodon, Discord, Slack, Telegram and more; adds a postiz workflow skill.
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 484
Local IMAP invoice download, OCR, archive, and Excel reimbursement summaries for DeepSeek Harness.
anysearch-team/anysearch-dsh★ 446
AnySearch-powered real-time web and vertical search provider for DeepSeek Harness.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.