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 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 gradedqualityBmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.5,309MIT
- AlicenseAqualityFmaintenanceA minimal MCP server that exposes a single bash tool to execute commands inside a devcontainer, returning real output and exit codes.1MIT
- FlicenseAqualityCmaintenanceA 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.
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
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/hqzqaq/dsh-mcp-tools-2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server