dsh-cordis-mcp
dsh-cordis-mcp
DeepSeek Harness의 동적 Cordis 도구 모음을 MCP(Streamable HTTP)로 Claude Code에 노출합니다. Claude Code는 DSH의 동적 플러그인을 실시간으로 로드, 정의, 실행, 업데이트, 중지, 삭제할 수 있습니다 — DSH 세션에서 cordis_define / cordis_run / cordis_stop / cordis_undefine / cordis_inspect_*를 사용하는 것과 완전히 동일한 기능, 동일한 런타임 에이전트입니다.
┌─────────────┐ MCP (Streamable HTTP, loopback) ┌───────────────────────────┐
│ Claude Code │ ────── http://127.0.0.1:8090/mcp ──▶ │ DSH host (本插件) │
│ (claude) │ ────── JSON-RPC 2.0 ───────────────▶ │ dynamicCordisRunner │
└─────────────┘ │ cordisInspect │
│ agents (会话解析) │
└───────────────────────────┘플러그인은 기존 웹 포트에 마운트되며, 새 포트를 열지 않고 서비스를 게시하지 않습니다. MCP 엔드포인트는 Bearer 인증을 강제하며, 토큰은 DSH 설정 → dsh-cordis-mcp 페이지에서 구성합니다(최초 자동 생성, 사용자 지정/재생성 가능).
기능 (10개 도구)
MCP 도구 | 대응 DSH 도구 | 기능 |
| — | 브리지 상태: 세션 해석, 활성 세션 목록, 플러그인 수 |
| — | 관리 가능한 활성 DSH 세션 나열(플러그인은 세션별 귀속) |
|
| 대상 세션의 모든 동적 플러그인과 상태 나열 |
|
| 플러그인/패키지 상세 정보; |
|
| Inspect provider 디렉터리(host + client) |
|
| 읽기 전용 inspect 쿼리 한 번 실행(서비스/이벤트/내장/슬롯/주제/도구 디렉터리) |
|
| 불변 Package 정의(새 플러그인 생성 또는 버전 추가) |
|
| Package 활성화( |
|
| 실행 중지, 미결 승인 취소, 정의와 버전 유지 |
|
| 플러그인 영구 삭제(모든 Package, 권한, 버전 포인터 포함) |
Client half를 포함하는 패키지의 첫 실행은 여전히 DSH의 승인 흐름을 거칩니다.
dsh_plugin_run은awaiting-approval을 반환하고, DSH Web GUI의 Run 카드에서 허용을 클릭하면 비동기로 완료됩니다 — DSH 세션 내부와 동일합니다.
Related MCP server: cc-plugin-mcp
원클릭 설치
curl -fsSL https://raw.githubusercontent.com/GeekRicardo/dsh-cordis-mcp/main/install.sh | bash스크립트가 수행하는 작업(--dry-run으로 미리 볼 수 있음):
~/.dsh/profiles/web/package.json에 의존성"dsh-cordis-mcp": "github:GeekRicardo/dsh-cordis-mcp"를 기록합니다;dsh-cordis-mcp를dsh.profile.bundles에 추가합니다;cd ~/.dsh/profiles/web && pnpm install;번들이 등록되었는지 확인하고 재시작을 안내합니다.
DSH를 재시작하고 페이지를 강력 새로고침하면 MCP 엔드포인트가 웹 서비스와 함께 준비됩니다:
pm2 restart dsh-web # 若用 pm2 托管;否则用你的启动方式重启Claude Code 연동
# 端口换成你 DSH web 的实际端口(启动日志会打印完整地址)
claude mcp add dsh --transport http http://127.0.0.1:8090/mcp
claude mcp list # 确认 connected인증 (강제, 직접 연결 불가)
MCP 엔드포인트는 Bearer 인증을 강제하며, 토큰이 없으면 모두 401(토큰 미구성이면 503)을 반환합니다. 토큰은 DSH 설정 → dsh-cordis-mcp 페이지에서 구성합니다: 최초 사용 시 자동 생성되어 영속화되며, 페이지에서 조회/복사/사용자 지정/재생성이 가능합니다. .mcp.json의 요청 헤더에 토큰을 입력하세요:
{
"mcpServers": {
"dsh": {
"type": "http",
"url": "http://127.0.0.1:8090/mcp",
"headers": { "Authorization": "Bearer <设置页里的 token>" }
}
}
}토큰 해석 우선순위: 설정 페이지 구성 > DSH_MCP_TOKEN 환경 변수 > 자동 생성입니다. 토큰을 변경하면 즉시 적용되며(재시작 불필요), 재생성 후 이전 토큰은 즉시 무효화되므로 Claude Code 구성을 함께 업데이트해야 합니다.
세션 의미 (중요)
동적 플러그인은 세션별로 귀속되며 프로세스 메모리 상태입니다(DSH 재시작 시 지워짐). 브리지의 세션 해석 순서:
호출 매개변수의
sessionId(dsh_sessions로 조회 가능);환경 변수
DSH_MCP_DEFAULT_SESSION지정;현재 유일한 활성 세션;
활성 세션이 여러 개인데 지정되지 않은 경우 → 오류와 함께 선택 가능한 목록을 표시하고
sessionId를 전달하도록 요구합니다.
기타 환경 변수
변수 | 기본값 | 설명 |
|
| MCP 엔드포인트 경로(webServer에 마운트됨) |
| 없음 | 인증 토큰의 폴백 소스(설정 페이지에 미구성 시 사용) |
| 없음 |
|
보안 경계
Bearer 인증 강제: 토큰이 없으면 모두 401 / 503, 엔드포인트는 절대 직접 연결 불가;
loopback Host(
127.*/localhost/::1)만 허용, 모든 외부 접근 거부;sec-fetch-site: cross-site브라우저 요청 거부, 또한 CORS 헤더를 절대 반환하지 않음 — 웹페이지는 응답을 읽을 수 없음;설정 페이지 경로
/dsh-cordis-mcp/settings는 동일 출처 loopback만 허용(MCP 토큰 없이 접근하지만, 변경하는 것은 토큰 구성 자체뿐);이 엔드포인트는 플러그인을 정의/실행/삭제할 수 있으며, 셸 권한과 동일하므로 포트를 비로컬에 노출하지 마세요.
작동 원리
파일 | 역할 |
| 순수 MCP JSON-RPC 레이어(initialize / ping / tools/list / tools/call), DSH 의존성 없음 |
| 10개 도구의 입력 검증 + 세션 해석, |
| 순수 토큰 해석/생성(설정 > env > 자동 생성) |
| MCP 라우트의 HTTP 레이어: 강제 인증, body 읽기, loopback/크로스 사이트 보호 |
| Cordis 플러그인: 5개 호스트 서비스 주입, settings 네임스페이스, |
| 설정 페이지 UI: 토큰 조회/복사/사용자 지정/재생성 + 엔드포인트 주소 |
제거
# 1. 从 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 移除 "dsh-cordis-mcp"
# 2. 移除 dependencies 里的 "dsh-cordis-mcp"
# 3. cd ~/.dsh/profiles/web && pnpm install
# 4. 重启 DSH;claude mcp remove dsh사전 요구 사항
DeepSeek Harness가 web profile을 초기화했고(
~/.dsh/profiles/web존재), 현재 세션이 Cordis 도구 모음이 포함된 preset에서 실행 중(호스트 측dynamicCordisRunner서비스 존재, 기본 제공);로컬에 Claude Code CLI가 설치되어 있고 로그인되어 있어야 함;
Node.js ≥ 20, pnpm 사용 가능.
문제 해결
현상 | 원인과 처리 |
| DSH 미재시작 / 포트 오류. 재시작 후 DSH 시작 로그에서 |
| Client half를 포함하는 패키지는 DSH Web GUI의 Run 카드에서 허용해야 함; 승인 후 |
| 활성 세션이 여러 개이면 |
| DSH Web GUI에 열린 세션이 없음; 연 후 다시 시도 |
401 / |
|
503 / | 호스트가 토큰을 초기화하지 않음(비정상 상태) — 설정 페이지에서 아무 토큰이나 저장하거나 DSH 재시작 |
재시작 후 플러그인 사라짐 | 동적 플러그인은 프로세스 메모리 상태이므로 예상된 동작; 이 브리지는 실행 중인 DSH 프로세스만 관리 |
License
MIT
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to spawn and control Codex CLI and Claude Code sessions on the host machine, with session management and filesystem access.4MIT
- AlicenseBqualityDmaintenanceMCP server for accessing Claude Code plugins. Enables retrieving plugin lists and detailed information via MCP clients like Claude Desktop, Cursor.2MIT
- AlicenseBqualityCmaintenanceExposes self-owned AI agent plugins as tools to Claude Code via a stdio MCP server, allowing Claude to call system info, calculator, or scribe transcriber directly.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude Code sessions to query fleet status, focus terminals, and manage sessions programmatically via MCP tools.1MIT
Related MCP Connectors
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/GeekRicardo/dsh-cordis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server