DeepSeek Capability Hub
Enables agents to search a lightweight catalog, inspect permissions, lazily start trusted MCP servers, and call child tools without keeping all schemas in context. It also loads approved skills on demand and routes third-party additions through a human approval queue.
README
<p align="center"> <img src="docs/cover.png" alt="DeepSeek Capability Hub" width="100%" /> </p>
<h1 align="center">DeepSeek Capability Hub</h1>
<p align="center"><strong>One stable MCP tool. Capabilities appear only when the agent needs them.</strong></p>
<p align="center"> <a href="https://github.com/NeoXider/deepseek-capability-hub/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/NeoXider/deepseek-capability-hub/actions/workflows/ci.yml/badge.svg" /></a> <img alt="Node.js 22+" src="https://img.shields.io/badge/Node.js-22%2B-49e7c6" /> <img alt="MCP" src="https://img.shields.io/badge/MCP-1.30-8b79ff" /> <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg" /></a> </p>
Capability Hub is a lazy MCP and skill broker for DeepSeek Harness and other MCP clients. The host sees one compact tool, capability_hub, instead of paying the context cost of every tool schema from every configured server.
The agent searches a lightweight catalog, inspects permissions, wakes one trusted server, calls it through the hub, and can shut it down again. Skill bodies are loaded only after selection.
Why it exists
Large static MCP configurations waste context and make tool choice noisier. Capability Hub keeps the model-facing surface stable:
search → inspect → enable → tools → call → disable
- One fixed schema stays in the Harness prompt.
- Child tool schemas remain outside the model context until requested.
toolsreturns names and descriptions by default; full schemas are opt-in.- MCP processes start lazily and live only for the hub process lifetime.
- Skills are discovered by metadata and loaded one at a time.
- Third-party additions enter a human approval queue; the model cannot self-approve executable code.
Quick start
Requirements: Node.js 22.19+ and pnpm.
git clone https://github.com/NeoXider/deepseek-capability-hub.git
cd deepseek-capability-hub
pnpm install --frozen-lockfile
pnpm test
pnpm client -- --json '{"action":"search","query":"demo"}'
The default catalog contains only a bundled echo MCP and an example ML skill. Tests do not download or execute third-party packages.
DeepSeek Harness setup
Build the hub, then merge examples/dsh/cordis.patch.yml into the active Harness Web profile and adjust the absolute repository path. Restart Harness.
pnpm build
Harness will expose one model-facing tool:
mcp__capability_hub__capability_hub
Start with:
{"action":"search","query":"web research"}
Model-facing contract
The public schema is intentionally flat so constrained-decoding engines such as LM Studio can compile it reliably. Arbitrary child arguments travel as JSON strings.
Discover and call a tool:
{"action":"tools","name":"web-search-neo"}
{
"action": "call",
"name": "web-search-neo",
"tool": "web_info",
"argumentsJson": "{\"topic\":\"search_status\"}"
}
Available actions:
| Action | Purpose |
|---|---|
search |
Search compact capability metadata |
inspect |
Review one capability, permissions, config and environment status |
configure |
Set allowlisted non-secret values through configJson |
enable / disable |
Start or stop one trusted MCP |
tools |
List child tools; schemas remain optional |
call |
Proxy one child tool call through argumentsJson |
skill.load |
Load one approved local skill body |
propose |
Store an untrusted proposal from entryJson |
proposals |
List pending proposals |
catalog.reload |
Reload approved catalog state |
Real integration examples
Ready-to-review proposals are included for:
- Web Search Neo — dynamic web research and browser tooling.
- Unity CLI MCP — the official Unity CLI transport. Its tool list is populated only while a Unity Editor with Unity Pipeline is connected.
These files are examples, not silently trusted defaults. Review paths, versions and permissions before approval.
Human-gated installation
Model-created proposals are stored under data/state/pending and cannot execute. Approve from a separate human-operated command:
node dist/src/admin.js approve <proposal-id> --state .\data\state --yes
Then call catalog.reload and enable. Prefer pinned package versions or immutable Git revisions; avoid floating latest installers in approved entries.
Catalogs, secrets and skills
- MCP transports:
stdioandstreamable-http. - Templates:
${catalogDir},${packageDir}and explicitly allowlisted${config:key}values. - Secrets: environment-variable references only. Secret-like model configuration keys are rejected.
- Skills: approved local Markdown files, loaded on demand, limited to 256 KiB.
- State: runtime config and proposals are ignored by Git.
See SECURITY.md for the trust boundary.
Current scope
- Tool calls are proxied; child MCP resources and prompts are not bridged yet.
- Reconnect is explicit:
disable, thenenable. - Remote skill download, signature verification and sandboxed installers are future work.
- A model with unrestricted host shell access can bypass plugin-local policy; use Harness permissions as the outer boundary.
Companion project
Want a compact animated desktop view of agents, context, models, reasoning and chat? See DeepSeek Harness Widget.
Contributing
Issues and focused pull requests are welcome. New integrations should include a pinned example, a narrow permission description and an end-to-end test.
MIT © NeoXider
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.