- Home
- Plugins
- Tools & Capabilities
- dsh-research-plugins (dsh-mcp-context7)
dsh-research-plugins (dsh-mcp-context7)
pymodel/dsh-research-plugins/packages/dsh-mcp-context7
Context7 MCP bridge: gives the model up-to-date, version-specific library documentation and code examples through the Context7 MCP server, keyless by default.
Install
dsh plugin --profile web add github:pymodel/dsh-research-pluginsThis plugin lives in the packages/dsh-mcp-context7 subdirectory of the repository.
README
dsh-research-plugins
Research plugins for DeepSeek Harness — a pnpm monorepo adding web search and MCP (Model Context Protocol) bridges for AI research, web scraping, and live documentation to your DSH agent.
What this is · Install · API keys · Repo layout · License
What this is
dsh-research-plugins gives your DeepSeek Harness (DSH) agent three research superpowers it does not have out of the box:
- Web search via the Tavily Search API — a settings toggle that swaps the built-in DeepSeek search for Tavily, with keyless search support.
- Web scraping & crawling via the Firecrawl MCP server — scrape, crawl, map, and search the open web inside tool calls.
- Up-to-date library docs via the Context7 MCP server — on-demand documentation and code examples for any library or framework.
Everything is delivered as drop-in DSH plugins — no vendor lock-in, no forks, just a dsh plugin add away.
| Package | What it adds |
|---|---|
@pymodel/dsh-tavily | Tavily Search API as a web search provider (settings toggle, keyless search) + a Tavily MCP bridge (tavily-search / tavily-extract keyless; crawl / map with a key) |
dsh-mcp-firecrawl | Firecrawl MCP: keyless search / scrape / parse; full tool surface with an API key |
dsh-mcp-context7 | Context7 MCP: mcp__context7__* up-to-date library docs and code examples |
Install
Each package installs independently into a DSH profile:
dsh plugin --profile web add @pymodel/dsh-tavily
dsh plugin --profile web add dsh-mcp-firecrawl
dsh plugin --profile web add dsh-mcp-context7
dsh web
Or follow GitHub (this repo, latest commits):
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-tavily
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-mcp-firecrawl
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-mcp-context7
API keys
The MCP bridges use the harness's shipped @deepseek-ai/dsh-mcp-client. They read keys from the launch environment (a real env var, the project .env, or $DSH_HOME/.env) — not from $DSH_HOME/.credentials.yaml:
| Plugin | Env var | Required | Endpoint |
|---|---|---|---|
dsh-tavily (MCP part) | TAVILY_API_KEY | no (keyless MCP: search + extract; crawl/map need a key) | https://mcp.tavily.com/mcp/ |
dsh-mcp-firecrawl | FIRECRAWL_API_KEY | no (keyless: search/scrape/parse; full surface with a key) | https://mcp.firecrawl.dev/v2/mcp |
dsh-mcp-context7 | CONTEXT7_API_KEY | no (keyless works) | https://mcp.context7.com/mcp |
Keys are sent as an Authorization: Bearer header at load time — never in the URL and never in plain YAML. Without a key the bridges run in each vendor's documented keyless mode (X-Tavily-Access-Mode: keyless for Tavily), so every row works out of the box. A key added to .env needs a dsh web restart.
Repo layout
packages/
dsh-tavily/ # web-search provider + settings card + Tavily MCP row
dsh-mcp-firecrawl/ # pure-config Firecrawl MCP bundle
dsh-mcp-context7/ # pure-config Context7 MCP bundle
The Firecrawl and Context7 packages are pure-config bundles (package.json + cordis.patch.yml) with no build step. The Tavily package keeps its prebuilt lib/ and browser client.
Contributing
Issues and pull requests are welcome. Please open a discussion on GitHub before starting large changes.
Author
License
Related plugins
WeKnora (dsh-weknora)
tencent/weknora
weknora
tencent/weknora
archify (deepseek-harness)
tt-a1i/archify
BrowserSkill (dsh-plugin-browserskill)
tencent/browserskill