DeepSHPlugins
dsh-scan-mcp 项目预览
GITHUB / COMMUNITY PROJECT

dsh-scan-mcp

工具与集成JavaScriptMIT

扫描 Claude Code / Codex / CodeBuddy 配置中的 MCP,通过 stdio 与 streamable-http initialize 握手检测真实连通性,支持启停开关与 /mcp 控制面板。

2 Starschenbin-dev 更新时间 2026-08-26
访问 GitHub 仓库
dsh-scan-mcp 项目预览

项目介绍

中文

扫描 Claude Code / Codex / CodeBuddy 配置中的 MCP,通过 stdio 与 streamable-http initialize 握手检测真实连通性,支持启停开关与 /mcp 控制面板。

English

Scans MCP servers configured in Claude Code, Codex and CodeBuddy and probes real connectivity via stdio and streamable-http initialize handshakes, with enable/disable toggles and a /mcp control panel.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
chenbin-dev
仓库
chenbin-dev/dsh-scan-mcp
GitHub Stars
2
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-26
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

59/ 100
维护活跃
90
文档与实用信息
99
生态关注度
14
安装便捷信号
100
项目声明信号
100

近 16 天仍在更新;README 含完整安装与使用说明;关注度尚低(2)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:chenbin-dev/dsh-scan-mcp

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-scan-mcp

dsh-scan-mcp banner

npm version npm downloads license

Windows MCP Hub for DeepSeek Harness — scans the MCP servers configured in your local coding agents (Claude Code / Codex / CodeBuddy), probes real connectivity with an actual MCP initialize handshake (both stdio and streamable-http transports), and lets you enable/disable each server from the UI.

中文文档 · npm · GitHub

Features

  • Auto-scan — reads MCP configs from Claude Code (~/.claude.json), Codex (~/.codex/config.toml)

and CodeBuddy (~/.codebuddy/mcp.json), with cross-agent deduplication (same MCP shown once, sources merged).

  • Real connectivity probe — starts the actual process (stdio) or performs a real MCP initialize

handshake over HTTP (streamable-http, JSON and SSE responses, configurable headers passthrough). Online (green) / offline (red) at a glance, with the concrete failure reason and latency.

  • Enabled-only probing — only enabled MCPs are ever connected. Disabled servers show as offline

(已停用(未启用,不检测连接)) and are never probed; re-enabling auto re-tests.

  • Per-server reconnect — re-test one server without a full rescan (disabled servers: button greyed out).
  • Sliding toggles — all servers enabled by default; toggle any off/on. State persists to

~/.dsh/dsh-scan-mcp.json (survives restarts).

  • /mcp popup panel — type /mcp in any session to open a modal control panel (not an AI reply).
  • Settings section — Settings → Windows MCP 控制中心 (card layout).
  • Model tool — exposes mcp_discovered_catalog (scan + connectivity, read-only).

Requirements

  • Windows (the scanned agent configs live under the Windows user home)
  • DeepSeek Harness (DSH) with a web profile (dsh web)
  • Node.js ≥ 20 (the host half uses the built-in fetch for streamable-http probes)

Installation

Pick one of the following commands (replace <profile-name> with your DSH profile name, e.g. web):

# 1. From npm (recommended)
dsh plugin --profile <profile-name> add dsh-scan-mcp

# 2. From GitHub
dsh plugin --profile <profile-name> add https://github.com/chenbin-dev/dsh-scan-mcp.git

# 3. Local development
dsh plugin --profile <profile-name> add /path/to/dsh-scan-mcp

Then restart the profile (e.g. stop and run dsh web again). The plugin is a static bundle: it survives DSH restarts and needs no per-session approval prompt.

Usage

  1. In any session, type /mcp → the MCP control panel pops up:
  • Summary row: deduped MCP count · online · offline · disabled · diagnostics
  • Each row: name, transport (stdio / streamable-http) · endpoint, ● online / ● offline,

failure reason, Reconnect button (greyed out when disabled), sliding toggle

  • Header: refresh scan / close
  1. Or open Settings → Windows MCP 控制中心 for the same data in card layout.
  2. The model can also call the mcp_discovered_catalog tool for the full catalog.

Scan sources

AgentConfig fileFormat
Claude Code~/.claude.jsonJSON mcpServers object
Codex~/.codex/config.tomlTOML [mcp_servers.<name>] sections
CodeBuddy~/.codebuddy/mcp.jsonJSON

Missing/unreadable files show up in the panel's diagnostics counter and don't break the rest of the scan. Want more sources? Edit the SOURCES array at the top of src/index.js (or open a PR / an issue).

Transport support

  • stdio — spawns command with args (plus env), sends initialize over stdin, waits for the

JSON-RPC response on stdout.

  • streamable-http — POST initialize to url with

Content-Type: application/json and Accept: application/json, text/event-stream; parses both plain JSON and SSE (data: line) responses; forwards the config's headers (e.g. Authorization) verbatim.

Privacy & Security

  • The plugin only ever shows environment variable / header NAMES — it never reads or displays

credential values; tokens stay in your original agent configs.

  • Probing is a handshake only (initialize): no MCP tools are ever invoked, no MCP process is left

running (each probe is terminated when done), and disabled servers are never probed at all.

  • The state file ~/.dsh/dsh-scan-mcp.json stores only MCP ids and their toggle state — no credentials.

Troubleshooting

A server stays offline? Click Reconnect on its row to see the exact reason:

  • ERR_MODULE_NOT_FOUND — usually a corrupted npm/npx cache. Run npm cache clean --force

(or delete the offending directory under %LocalAppData%\npm-cache\_npx\<hash>), then reconnect.

  • npm ... 404 — the package name does not exist; fix it in your agent config (e.g. sequential-thinking

is @modelcontextprotocol/server-sequential-thinking).

  • 连接超时 (stdio) — the process did not answer initialize within 20s (common when network/proxy

is required).

  • HTTP 状态 404/405(该地址可能不是 MCP 端点) — the url is not an MCP endpoint or the server

does not implement MCP.

  • 网络不可达 / 连接超时 (streamable-http) — cannot reach the endpoint; check network/proxy.
  • 未识别到 MCP initialize 响应 — non-JSON/SSE reply; the endpoint may need a headers auth field.

Development

dsh-scan-mcp/
├── package.json        # plugin metadata (dsh.bundle.patch / dsh.client)
├── cordis.patch.yml    # bundle patch — inserts the plugin row (id: wmcp)
└── src/
    ├── index.js        # Host half: scan + handshake probes + HTTP RPC + tool + /mcp command
    └── client.js       # Client half (browser): settings page + popup panel + command trigger
  • Host half is a plain ESM module (export { name, inject, apply }) using Node built-ins only

(child_process, fs, fetch); peer dependency @deepseek-ai/dsh-tools is provided by the host.

  • Host ↔ Client talk over HTTP RPC: POST /__scan-mcp/scan|test|setEnabled.
  • Probe results are cached 30s; up to 3 concurrent probes; 20s stdio / 12s HTTP timeouts.
  • Syntax check: node --check src/index.js && node --check src/client.js (npm test).

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目