dsh-minimal-mcp
dsh-minimal-mcp
deepseek-harness의 **미니멀 모드(minimal agent preset)**의 모델 지향 도구를 MCP 서버로 래핑하여, 임의의 외부 에이전트(Claude Desktop, Trae, Cursor, LangChain 등)가 표준 MCP 프로토콜을 통해 호출할 수 있도록 합니다.
미니멀 모드(apps/cli/config/agent-presets/minimal/agent.cordis.yml)는 deepseek-harness가 공식 제공하는 최소 이중 도구 코딩 에이전트로, 두 가지 도구만 노출합니다:
bash— 영구 bash(PTY, 호출 간 cwd / 환경 변수 / 함수 / 백그라운드 작업 공유)str_replace_editor—view/create/str_replace/insert파일 편집
본 구현은 자체 개발로 원본 의미론을 재현했으며(@deepseek-ai/dsh-tool-bash-persistent 및 @deepseek-ai/dsh-tool-str-replace-editor), 완전한 harness 런타임에 의존하지 않고, 크로스 플랫폼, 경량, 독립 실행이 가능합니다.
도구 의미론(원본과 동일)
bash
실제 PTY 영구 셸, 명령 간 상태 유지.
0이 아닌 종료 코드에 주석 추가:
[exit code: N].출력이 상한을 초과하면 잘라내고
<response clipped>표시.타임아웃 시 부분 출력을 반환하고 셸을 리셋.
str_replace_editor
view: 파일을cat -n스타일로 줄 번호를 붙여 표시; 디렉터리는 숨김 항목을 제외하고 하위 2단계까지 나열.create: 경로가 존재하지 않을 때만 생성, 존재하면 오류 반환.str_replace:old_str가 유일하게 정확히 일치해야 하며, 다중 일치 / 불일치 시 오류 반환.insert:insert_line은 0 기반, 삽입 시 추가 줄바꿈 없음.
Related MCP server: devcontainer-mcp
설치 및 실행
pnpm install
pnpm run build최초 설치 시
postinstall스크립트가 실행되어 macOS에서node-pty사전 컴파일 바이너리의 실행 권한을 복구합니다(누락 시posix_spawnp failed오류 발생).
실행
node dist/index.js환경 변수
변수 | 기본값 | 설명 |
|
| bash 및 파일 시스템 도구의 작업 디렉터리 |
|
| 단일 명령 타임아웃(밀리초), 타임아웃 시 셸 자동 리셋으로 멈춤 방지 |
|
| 명령 / 파일 출력 보존 문자 상한 |
|
| spawn에 사용할 셸 경로 |
연동 구성
Claude / 일반 MCP 클라이언트를 예로 들면, MCP 구성에 다음을 추가합니다:
{
"mcpServers": {
"dsh-minimal": {
"command": "node",
"args": ["/absolute/path/to/dsh-mcp-tools/dist/index.js"],
"env": {
"DSH_CWD": "/your/workspace"
}
}
}
}서비스 호출 한 번으로 bash와 str_replace_editor 두 도구가 노출되며, 이것이 deepseek-harness 미니멀 모드의 코딩 능력 전체입니다.
디렉터리 구조
src/
index.ts # MCP server 入口,注册两个工具(stdio 传输)
config.ts # 环境变量解析与描述文本
bash.ts # 持久 bash(node-pty)
editor.ts # str_replace_editor
scripts/
fix-node-pty-perms.mjs # 安装后修复 node-pty 二进制权限설명
전송 방식은 stdio(MCP 표준, 로컬 에이전트용). 필요 시 streamable-HTTP로 확장 가능.
원본 bash 설명에는 "미러를 통한 apt/pip 패키지 접근" 등 환경 정보가 포함되어 있으나, 본 구현은 해당 설명 텍스트를 유지하되 실제 네트워크 능력은 실행 환경에 따라 달라집니다.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for agentverse documentation, generated by doc2mcp.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
1
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.3,012 npmMIT
- AlicenseAqualityFmaintenanceA minimal MCP server that exposes a single bash tool to execute commands inside a devcontainer, returning real output and exit codes.1MIT
- FlicenseAqualityDmaintenanceA simple MCP server that exposes a terminal tool, allowing AI agents to execute shell commands.1-
- FlicenseNot gradedqualityBmaintenanceContainerized MCP server for coding agents with tools for file editing, shell commands, process management, Git, browser automation, and project snapshots.-