Skip to main content
Glama
NeoXider

DeepSeek Capability Hub

by NeoXider

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.

  • tools returns 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.

Related MCP server: AgentSkillsHub MCP Server

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: stdio and streamable-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, then enable.

  • 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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A registry of 5,900+ peer-authored skills any MCP agent can search and load on demand.

  • Agent-native marketplace. Bootstrap, list inventory, search, negotiate, and trade via MCP.

  • Fleet entry point: 19 hosted MCP servers, 132 tools, 92 free. Searches 138 agent skills.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NeoXider/deepseek-capability-hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server