dsh-mcp-manager
dsh-mcp-manager

DeepSeek Harness(DSH)를 위한 내구성 있는 MCP 서버 관리자 — 동적 세션 플러그인이 아닌 구성 로더 플러그인이므로 DSH 재시작 및 업그레이드에도 유지됩니다.
DSH 플러그인 개발 표준에 따라 제작되었습니다(공식 문서 참조: 第一个插件, 开发一个工具):
객체 형태의 Cordis 플러그인 (
export default { name, inject, apply })inject에 선언된 필수 서비스 — 프레임워크는apply실행 전에 이들이 준비되었음을 보장하며, 하나라도 사라지면 플러그인을 다시 로드합니다(이것이 플러그인이 DSH 업그레이드 전반에 걸쳐 살아 있도록 유지하는 방식입니다).에이전트가 사용할 수 있는 기능은
ctx.tools.register(defineTool(...))를 통해 등록된 모델 도구로 노출됩니다:mcp_manager_list,mcp_manager_set_enabled,mcp_manager_restart,mcp_manager_addUI 기능은
webServer정확한 라우트(POST /dsh-mcp-manager/api)를 통해 제공되며, 클라이언트 측에서 사용합니다.
기능:
설정 → MCP 관리 페이지 (클라이언트 측에서 추가됨)
호스트 측은 실제 패치 파일에서
@deepseek-ai/dsh-mcp-client행을 관리합니다:프로젝트 수준 →
~/.dsh/profiles/<profile>/cordis.patch.yml전역 →
~/.dsh/cordis.patch.yml추가 / 편집 / 활성화 / 비활성화 / 재시작 / 삭제, 실시간 도구 개수 상태, JSON 내보내기/가져오기, 파일별 쓰기 잠금
작동 방식
구성 요소 | 파일 | 역할 |
호스트 플러그인 소스 |
| TypeScript 소스 (문서화된 플러그인 형태); |
호스트 플러그인 (컴파일됨) |
| Cordis 객체-형태 플러그인: 패치 파일 CRUD + 4개 모델 도구 + |
클라이언트 번들 |
| 브라우저 모듈: 설정 페이지를 등록하고 |
로더 행 | 프로필의 | 호스트 엔트리를 구성합니다; client-modules 서비스는 활성화된 엔트리를 스캔하여 클라이언트 번들을 제공합니다. |
로더 엔트리는 두 부분의 단일 구성 지점입니다 — 배포된 DSH 패키지에 변경이 없습니다. 패키지 자체는 플랫폼 중립적입니다(순수 JS; 경로 구분자는 런타임에 감지됨). 따라서 Windows, macOS, Linux에서 작동합니다. 빌드(npm run build)에는 devDependencies(typescript, @deepseek-ai/cordis, @deepseek-ai/dsh-tools, @types/node)가 필요합니다; 배포/설치된 패키지에는 필요하지 않습니다.
Related MCP server: mcp-serverman
설치 (모든 플랫폼)
가장 빠른 방법 — npm을 통한 단일 명령어 (Node.js >= 18 필요):
# Option A — one-shot with npx, nothing to install
npx -y @xxxyz/dsh-mcp-manager
# Option B — global npm install, then run the command any time
npm i -g @xxxyz/dsh-mcp-manager
dsh-mcp-manager # install the plugin
dsh-mcp-manager-uninstall # uninstall the plugin
npm i -g @xxxyz/dsh-mcp-manager@latest # upgrade두 옵션 모두 모든 플래그가 전달됩니다: npx -y @xxxyz/dsh-mcp-manager --dsh-home /path/.dsh --profile web --repair --port 3080.
npm 패키지 이름:
@xxxyz/dsh-mcp-manager(원래 이름dsh-mcp-manager는 npm에서 관련 없는 패키지가 사용 중입니다). 배포된 플러그인 이름은 여전히dsh-mcp-manager입니다 — npm/npx는 전달 채널일 뿐이며, 설치 프로그램은 파일을 아래에 명시된 동일한 고정 위치에 복사합니다.
npm을 사용하지 않는 대안 — GitHub에서 직접:
npx -y github:xxxyz/DeepSeekHarness-MCP-Manager대안 — 소스 체크아웃에서 설치 프로그램 스크립트 실행 (모든 설치 프로그램은 하나의 크로스 플랫폼 로직 파일 install.mjs을 공유합니다). 설치 단계:
패키지를
<dshHome>/local-packages/dsh-mcp-manager에 복사합니다 (node_modules외부에 보관되는 실제 소스로, DSH 업그레이드가 절대 건드리지 않습니다).<dshHome>/profiles/node_modules/dsh-mcp-manager에 복사합니다 (의도적으로 일반 복사본 — 심볼릭 링크를 사용하면 Node ESM이@deepseek-ai/dsh-tools를 찾을 수 없는 플러그인의 실제 경로를 확인하게 됩니다).profiles/<profile>/cordis.patch.yml에 로더 행을 추가합니다 (멱등성, 패치를 유효한 최상위 배열로 유지).
Windows (PowerShell):
.\dsh-mcp-manager\install.ps1 # default: ~/.dsh, web profile
# or: .\install.ps1 -DshHome D:\path\.dsh -Profile webmacOS / Linux:
./dsh-mcp-manager/install.sh # default: ~/.dsh, web profile
# or: ./install.sh --dsh-home /path/.dsh --profile web모든 플랫폼 (직접):
node dsh-mcp-manager/install.mjs [--dsh-home <path>] [--profile <name>] [--port <n>] [--repair] [--skip-patch]그런 다음 DSH를 재시작하고 설정 → MCP 관리를 엽니다. 재시작 후 네 개의 mcp_manager_* 도구를 모델이 호출할 수 있게 됩니다.
제거 (모든 방법):
dsh-mcp-manager-uninstall # if installed via npm -g
# or: .\dsh-mcp-manager\uninstall.ps1 | ./uninstall.sh | node uninstall.mjs [--dsh-home <path>] [--profile <name>]그런 다음 DSH를 재시작합니다. 제거는 배포된 복사본, local-packages의 실제 소스, 로더 행을 제거합니다.
DSH 업그레이드 후: --repair
DSH 업그레이드(또는 깨진 HMR 상태)로 인해 파일은 그대로 있지만 플러그인의 호스트 절반이 로드되지 않을 수 있습니다. 한 명령어로 해결됩니다 — 레코드 소스에서 패키지를 다시 복사하고, 로더 행의 config.version을 증가시켜 HMR 재적용을 강제한 다음, API가 응답할 때까지 폴링합니다:
node dsh-mcp-manager/install.mjs --repair # default ~/.dsh, web, port 3080
node dsh-mcp-manager/install.mjs --repair --port 3080
# PowerShell: .\install.ps1 -Repair -Port 3080 bash: ./install.sh --repair --port 3080--repair는 POST /dsh-mcp-manager/api가 {ok:true}로 응답할 때만 성공을 반환합니다. 30초 후에도 API가 응답하지 않으면 DSH를 한 번 재시작합니다(로더는 항상 부팅 시 새로 가져옵니다).
API 참조
모든 작업은 동일 출처에서 POST /dsh-mcp-manager/api에 {"op": "<op>", "args": {...}}로 요청합니다.
op | args | 결과 | |
|
|
| |
| `{serverName, transport, url | command, args?, headers?, env?, level, enabled?}` |
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
모델 도구
ctx.tools.register(defineTool(...)) (표준 @deepseek-ai/dsh-tools)로 호스트에 등록됨:
도구 | 설명 | ||
| 구성된 모든 MCP 서버 나열 (수준, 활성화 상태, 라이브 로더 상태, 도구 개수) | ||
| 하나의 서버 활성화/비활성화 (id, level, enabled) | ||
| 하나의 서버 재시작 (id, level) | ||
| 서버 추가 (serverName, transport, url | command, …, level) |
참고 사항 / 제한 사항
HTTP 라우트는 로컬 웹 서버에서 인증되지 않음 — 로컬 단일 사용자 머신에는 적합하지만 DSH 웹 포트를 공개적으로 노출하지 마십시오.
관리되는 행은
# dsh-mcp-manager:server:<id>마커를 포함합니다; 로더 행은id: mcp-manager, name: dsh-mcp-manager를 추가하는insert블록입니다 — DSH의 패치 언어는 일반- id:행을 기존 항목의 재정의로 처리하고(없으면 자동으로 건너뜀)하므로, 플러그인을 추가하려면insert형식이 필요합니다.실행 중인 웹 페이지가 설치보다 오래된 경우, 클라이언트 모듈이 작동하려면 페이지 새로고침이나 DSH 재시작이 필요합니다(부트 그래프는 페이지 로드 시 구축됩니다).
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
MCP server for AI dialogue using various LLM models via AceDataCloud
A MCP server built for developers enabling Git based project management with project and personal…
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- FlicenseAqualityCmaintenanceA robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.417-
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to manage MCP server configurations, including listing, enabling, disabling, and version control.10MIT
- AlicenseNot gradedqualityCmaintenanceTurns DeepSeek Harness into an MCP server with tools for session management, agent execution, resources, and OAuth, plus browser automation and GitHub/GitLab integration.67 npm20MIT
- AlicenseNot gradedqualityBmaintenanceMCP management panel for DeepSeek Harness, enabling connection status monitoring, one-click upgrades, and server addition via a settings UI.1MIT