Skip to main content
Glama

safe-agent-mcp

DeepSeek Harness 기반의 안전한 다중 에이전트 MCP 게이트웨이: DSH의 에이전트 실행 기능을 표준 MCP 도구로 캡슐화하여 모든 MCP 클라이언트(Claude Desktop, Cursor 등)가 호출할 수 있게 합니다.

이 프로젝트가 해결하는 것

  • DSH는 다중 에이전트 프레임워크이지만, 기능은 자체 인터페이스에서만 사용할 수 있습니다;

  • MCP는 표준 프로토콜로, 모든 클라이언트가 연결할 수 있지만 자체적으로 에이전트 기능은 없습니다;

  • safe-agent-mcp는 두 가지를 연결하는 다리입니다: MCP 서버로서 외부에는 표준 도구를 제공하고, 내부적으로는 DSH의 에이전트(하위 에이전트, 샌드박스 포함)를 구동합니다.

Related MCP server: dsh-harness-mcp-server

특징

关键词

实现

MCP

표준 MCP 서버(@modelcontextprotocol/sdk), 모든 MCP 클라이언트에서 플러그 앤 플레이

다중 에이전트

(계획 중 v1.1) dsh --profile headless를 통해 DSH 하위 에이전트가 작업을 실행하도록 구동

샌드박스/보안

(계획 중 v1.2) 위험 명령 차단, 키 마스킹, 감사 로그, 시간 초과 및 동시성 제한

빠른 시작

npm install
npm run smoke     # 自动化冒烟测试(协议握手 + 工具调用)
npm run inspect   # 打开 MCP Inspector 可视化调试

현재 구현된 도구:

  • run_command: 샌드박스에서 셸 명령을 실행하고 stdout / stderr / 종료 코드를 반환합니다(Windows에서는 cmd의 GBK 인코딩 문제를 처리했습니다).

디렉터리 구조

src/index.ts        # MCP 服务器入口
tests/smoke.mjs     # 冒烟测试
docs/DEVELOPMENT.md # 开发文档(架构、里程碑、开发日志)

마일스톤

  • v1.0: MCP 서버 + run_command 도구(스모크 테스트 모두 통과)

  • v1.1: run_agent_task 다중 에이전트 연동(headless 브리지)

  • v1.2: 보안 셸(위험 명령 차단 + 키 마스킹 + 감사 로그)

  • v1.3: 웹 대시보드(보너스 항목)

자세한 내용은 docs/DEVELOPMENT.md를 참조하세요.

라이선스

MIT

Available Tools

1 tool
run_commandA

在沙箱中执行一条 shell 命令,返回 stdout、stderr 和退出码。注意:command 只填命令本身(如 echo hello),不要传 JSON 包装。

NameRequiredDescriptionDefault
commandYes要执行的命令
timeout_msNo超时毫秒数,默认 15000

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the return payload (stdout, stderr, exit code) and the sandbox context, which implies isolation. However, it does not mention potential side effects (e.g., resource usage, network access) or whether the command runs with any restrictions. Since annotations are absent, more behavioral detail would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of one main clause and one clarifying note. It avoids unnecessary detail and is well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool’s simplicity and lack of output schema, the description adequately explains the return format and provides usage guidance. It does not cover edge cases like error handling or timeouts beyond the schema’s timeout parameter, but for a basic shell execution tool this is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already defines both parameters with descriptions, providing 100% coverage. The description adds a meaningful note about the command parameter (not JSON-wrapped), which supplements the schema without redundancy. Thus a score slightly above baseline is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes a shell command in a sandbox, with a specific verb and resource. It also provides an example command, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Despite no sibling tools, the description includes a direct usage guideline: instructing the user to provide only the command itself without JSON wrapping. This clarifies the expected input format and preempts common misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedrun_command

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The name 'run_command' clearly describes its function, eliminating any ambiguity.

Naming Consistency5/5

The single tool follows a consistent verb_noun pattern ('run_command'). There are no other tools to create inconsistency, so the naming is perfectly consistent.

Tool Count3/5

The server has only one tool, which feels thin for a typical tool set. While it may cover the core purpose of safe command execution, the surface is minimal and could benefit from additional related tools.

Completeness5/5

The server's stated purpose is to execute shell commands in a sandbox, and 'run_command' fully covers this operation by returning stdout, stderr, and exit code. No obvious gaps exist for the intended scope.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM clients to execute shell commands safely through the MCP protocol, with features like session management, safe mode, and process control.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes DeepSeek Harness agent capabilities as an MCP server, letting any MCP client drive Harness to execute real coding tasks with structured results, context isolation, and parallel execution.
    149 npm
    13
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Exposes opencode's coding agent and shell as MCP tools, enabling MCP-only AI clients to execute shell commands, manage files, and run agent sessions with async job handling.
    20 npm
    MIT