Agent Workspace MCP
io.github.HrRodan由 GitHub 帳號 HrRodan 發布v1.4.135更新於 Nov 8, 2026
一個沙箱化的代理程式工作區,提供安全的檔案系統、bash 以及由 uv 驅動的 Python 執行環境。
AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。
原文描述
A sandboxed, agentic workspace providing secure filesystem, bash, and uv-powered Python execution.
概覽
Agent Workspace 的本機 MCP 服務;無需登入;STDIO。
暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Agent Workspace MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
🛡️ Agent Workspace MCP Server
[CI] [License: MIT] [Python 3.14+]
A unified Model Context Protocol (MCP) server providing a highly secure, containerized workspace for Large Language Models (LLMs). It acts as an isolated "agentic playground" where agents can autonomously code, test, and debug without risking the host machine.
✨ Features
- 🏗️ Full Project Lifecycle: Bootstrap projects with
uv init, manage dependencies withuv add, and execute viauv run. - 🐚 Secure Bash Access: Execute shell commands with mandatory timeouts and merged output streams.
- 🚀 Token-Optimized Output: Integrates RTK (Rust Token Killer) to automatically filter and compress
run_bashoutputs (likels,git, and test runners), saving 60-90% of LLM context tokens. - 📂 Robust Filesystem: Path-traversal protected operations for reading, writing, and searching the workspace.
- 🛡️ Multi-Layer Security: Non-root execution, dropped capabilities, resource limits, and a read-only root filesystem.
- ⚡ Precision Editing: Advanced
search_and_replacewith fuzzy whitespace matching, indentation preservation, dry-run support, and syntax validation for Python, JSON, JSONL, TOML, and YAML. - 📊 Real-time Observability: Direct logging to MCP client UI and persistent rotating audit logs.
🏗️ Architecture
📦 Quick Start
1. Pull or Build the Docker Image
2. Programmatic Usage (OpenAI Agents SDK)
Here is a quick boilerplate showing how to use the containerized workspace programmatically using the standard openai-agents SDK:
3. Use with MCP Clients (Claude / Cursor)
Add the following configuration to your claude_desktop_config.json or Cursor settings.
[!IMPORTANT] Linux Users: Replace
1000:1000with your actual UID:GID (runid -uandid -g). Claude Desktop does not expand environment variables. Signal Handling: The--initflag is essential for proper signal forwarding and zombie process reaping.
🛠️ Tool Reference
⚙️ Configuration
The server supports the following environment variables (passed via Docker --env):
🛡️ Security & Architecture Model
This server employs a defense-in-depth strategy, explicitly separating strict security boundaries from developer experience and operational reliability features.
🔒 Core Security Features
These features are designed to protect the host system and enforce strict isolation boundaries.
- Kernel Hardening: All Linux capabilities are dropped (
--cap-drop=ALL), neutralizing privilege escalation vectors. - Immutable Server Code: The
/appdirectory containing the server source and its virtual environment is owned byrootand read-only for themcpuser. This prevents the server from modifying itself or being tampered with viarun_bash. - Privilege Lockdown: Enforces
no-new-privileges:trueto prevent any process from gaining elevated rights. - Immutable System Core: The container's root filesystem is mounted entirely read-only, providing a second layer of defense against OS-level tampering.
- Resource Quotas: Hard limitations on CPU, Memory, and PIDs mitigate denial-of-service (DoS) attempts like fork-bombs and host exhaustion.
- Strict Boundary Enforcement: A robust path validator comprehensively blocks all path traversal attacks outside the designated
/workspace. - Process & Resource Control: Mandatory command timeouts (default 60s) and strict process group isolation ensure runaway or malicious processes are killed.
- Memory-Overload Protection: Hard limits on file reads (1MB) and command outputs (50KB) prevent memory exhaustion.
- Information Leakage Prevention: Internal stack traces and system paths are suppressed and sanitized from tool outputs.
🛠️ Developer Experience & Convenience
Features focused on seamless integration, usability, and reducing friction during agentic workflows.
- Host-Aligned Non-Root Identity: Runs as
mcpuserwith UID/GID customizable at build time, eliminating tedious file permission conflicts on host volume mounts. - Automatic Token Optimization: Shell commands executed via
run_bashare transparently rewritten through RTK to provide ultra-compact, LLM-friendly output without altering underlying command behavior. - Intelligent Search Exclusions: High-noise or sensitive directories (
.git,.venv) are automatically ignored to keep context windows lean and relevant. - Ephemeral Workspaces: Containers are strictly ephemeral (
--rm), guaranteeing a clean, predictable slate for every new session without state leaking across connections. - Standardized Discovery: Complies with the OCI Image Specification for standardized container ecosystem integration and transparent auditing.
⚙️ Reliability & Safety Mechanisms
Features ensuring the structural integrity of the workspace and providing observability.
- Pre-Write Syntax Validation: Both
write_fileandsearch_and_replaceperform in-memory syntax validation for Python, JSON, JSONL, TOML, and YAML before persisting changes, preventing broken code states. - Fail-Safe Writing:
write_fileblocks accidental overwrites of existing files by default and enforces a 5MB size guard to prevent workspace flooding. - Atomic File Operations: Edits utilize temp-and-move logic to guarantee file integrity and prevent corruption, even during unexpected interruptions or crashes.
- Transparent Observability: All tool invocations and state changes are streamed in real-time to the MCP client UI for immediate operator oversight.
🌐 Network Isolation (Optional)
By default, the container has full network access via Docker's bridge network. For maximum isolation, you can completely disable the network stack using --network none:
This creates a fully air-gapped sandbox — only the loopback interface exists inside the container. All outbound connections (curl, DNS, uv add, etc.) will fail immediately, eliminating data exfiltration and lateral movement risks entirely.
[!NOTE] With
--network none, the agent cannot install packages at runtime. All dependencies must be pre-installed in a custom image or pre-populated in the mounted workspace volume.
🤝 Contributing
- Install Dev Dependencies:
uv sync - Run Linting:
uv run ruff check . - Run Unit Tests:
uv run pytest tests/ --ignore=tests/integration/ - Run Integration Tests: Set
OPENROUTER_API_KEYand runuv run pytest tests/integration/
© 2026 HrRodan. Licensed under MIT.
來源:README.md,提交 2541460
工具
0版本歷史
28- v1.4.134Nov 3, 2026
- v1.4.132Nov 1, 2026
- v1.4.130Nov 1, 2026
- v1.4.129Oct 26, 2026
- v1.4.128Oct 25, 2026
- v1.4.127Oct 25, 2026
- v1.4.126Oct 24, 2026
- v1.4.125Oct 19, 2026
- v1.4.124Oct 18, 2026
- v1.4.123Oct 18, 2026
- v1.4.122Oct 18, 2026
- v1.4.121Oct 18, 2026
- v1.4.120Oct 12, 2026
- v1.4.119Oct 11, 2026
- v1.4.118Oct 11, 2026
- v1.4.116Oct 5, 2026
- v1.4.115Oct 4, 2026
- v1.4.114Oct 4, 2026
- v1.4.112Sep 30, 2026
- v1.4.110Sep 29, 2026
- v1.4.109Sep 28, 2026
- v1.4.108Sep 27, 2026
- v1.4.107Sep 27, 2026
- v1.4.106Sep 27, 2026
- v1.4.105Sep 21, 2026
- v1.4.104Sep 20, 2026
- v1.4.102Sep 20, 2026
- v1.4.101Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。