dotbox mcp
使LLM能够执行的模型上下文协议(MCP)服务器。NET工作负载在隔离的Docker容器中。编写C#代码,构建项目,托管web API,并在多个平台上进行测试。NET版本。
目前支持: 仅限克劳德桌面 平台: 🍎 macOS |🪟 视窗
使用FastMCP(Python)和Docker SDK构建。
💡 提示: 要获取最新版本,请运行 自动安装程序 再一次。它将更新您的配置并拉取最新的Docker镜像。
v2.0中的新增功能
重大变更:
- .NET 10现已正式发布 -从RC2升级到稳定版本
- MCP API变更:
dotnet_version现在接受"10"而不是"10-rc2" - 默认版本已更改为。净值10 -所有操作现在默认为。NET 10(以前是.NET 8)
什么是dotbox mcp?
dotbox-mcp是一个专门用于快速处理的工具。NET在Claude Desktop中的实验和原型设计 -而不是像Claude Code或Cursor这样的成熟编码代理的替代品。
注: 目前仅支持Claude Desktop。未来可能会添加对其他MCP客户端(VS Code、Cursor等)的支持。
在以下情况下使用dotbox mcp:
- 快速测试a。NET功能或API
- 原型小型API或控制台应用程序
- 比较各方的行为。NET版本(8、9、10)
- 在不设置本地环境的情况下执行代码段
- 单独使用NuGet包进行实验
需要时使用Claude Code:
- 完整的代码库导航和编辑
- 具有git集成的多文件项目
- 全面的测试与调试
- 生产就绪应用程序开发
通过隔离实现安全: 全部。NET代码在具有资源限制的临时Docker容器中运行,只读文件系统(除 /workspace),以及自动清理。容器在使用后会被销毁,确保没有持续的状态或安全风险。
API Key Management Example *示例:Claude构建了一个完整的API密钥管理服务,包括CRUD端点、内存中存储和密钥验证-从提示到运行API只需几秒钟。*
特性
此MCP服务器是围绕 以代理为中心的工作流 -提供完整的端到端工具,而不是低级Docker命令:
- 快速C#代码段:无需项目设置即可立即执行C#代码
- 全面项目管理:创建、构建和运行完成。NET项目(控制台应用程序、web API、类库)
- 多版本测试:比较代码行为。NET 8、9和10并行
- Web API托管:在具有外部端口映射的容器中启动web服务器,以进行真正的HTTP测试
- 资源管理:自动容器清理、超时处理和资源限制
在后台,它使用管理基于Alpine的Docker镜像。NET SDK,处理构建/执行编排,并格式化输出以保持在MCP的约束范围内。
快速开始
macOS安装(克劳德桌面版)
要求:
- 安装并运行Docker Desktop的macOS
- 克劳德桌面
自动安装(推荐):
curl -fsSL https://raw.githubusercontent.com/domibies/dotbox-mcp/main/scripts/install-claude-desktop.sh | bash安装程序的作用:
- 验证Docker是否已安装并正在运行
- 更新克劳德桌面配置(保留其他MCP服务器)
- 预拉Docker镜像(~1GB)
- 配置为使用GHCR发布的Docker镜像
手动安装:
- 编辑Claude桌面配置 (
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"dotbox-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--add-host",
"host.docker.internal:host-gateway",
"--user",
"1000:0",
"-v",
"/var/run/docker.sock:/var/run/docker.sock",
"ghcr.io/domibies/dotbox-mcp:latest"
]
}
}
}笔记:
- 这 --user 1000:0 以具有根组访问权限的非根用户身份运行容器(Docker套接字需要) - 这 --add-host 标志使MCP服务器能够通过主机的端口映射访问沙盒容器中托管的web API
- 重新启动克劳德桌面
手动安装注意事项: 下载Docker镜像时,您的第一个请求可能会失败或超时(~1GB,1-2分钟)。只需等待一分钟,重新启动Claude Desktop,然后重试。自动安装程序在安装过程中拉取图像以避免这种延迟。
Windows安装(克劳德桌面版)
要求:
- Windows 10或Windows 11
- Docker 桌面版
- 克劳德桌面
自动安装(推荐):
打开PowerShell并运行:
irm https://raw.githubusercontent.com/domibies/dotbox-mcp/main/scripts/install-claude-desktop.ps1 | iex安装程序的作用:
- 检查Docker桌面是否已安装
- 验证Docker TCP端口2375是否已启用(如果未启用,则提供设置说明)
- 更新Claude桌面配置
%APPDATA%\Claude\claude_desktop_config.json - 预拉Docker镜像(~1GB)
- 配置为使用GHCR发布的Docker镜像
先决条件设置:
- 安装Docker桌面:
- 下载自https://docs.docker.com/desktop/install/windows-install/ - 启动Docker桌面
- 启用Docker TCP端口(必需):
- 打开Docker桌面 - 首选 设置 > 将军 - 启用 “打开守护进程tcp://localhost:2375无TLS” - 点击 应用并重新启动
⚠️ 安全说明: 这会在没有身份验证的情况下公开Docker API。仅在受信任的网络(本地主机/专用)上启用。
手动安装:
- 编辑Claude桌面配置 (新闻
Win + R,类型%APPDATA%\Claude,按Enter键,然后打开claude_desktop_config.json):
{
"mcpServers": {
"dotbox-mcp": {
"command": "C:\\Program Files\\Docker\\Docker\\resources\\bin\\docker.exe",
"args": [
"run",
"--rm",
"-i",
"--add-host",
"host.docker.internal:host-gateway",
"-e",
"DOCKER_HOST=tcp://host.docker.internal:2375",
"ghcr.io/domibies/dotbox-mcp:latest"
]
}
}
}笔记:
- 使用本机Docker桌面路径(如果安装在其他地方,请进行调整) - 需要启用Docker TCP端口2375(请参阅上面的先决条件) - 用途 DOCKER_HOST 连接到Docker守护进程的环境变量
- 重新启动克劳德桌面
- 窗户: 点击华夫饼菜单(左上角)→ 文件 → 退出 (关闭窗口使克劳德在后台运行) - macOS: 从菜单中退出Claude Desktop
手动安装注意事项: 下载Docker镜像时,您的第一个请求可能会失败或超时(~1GB,1-2分钟)。只需等待一分钟,重新启动Claude Desktop,然后重试。自动安装程序在安装过程中拉取图像以避免这种延迟。
安装后
- 重新启动克劳德桌面
- 窗户: 华夫饼菜单(☰)→ 文件 → 退出,然后重新启动 - macOS: 退出并重新启动Claude Desktop
- 试着问克劳德: *“执行以下C#代码:Console.WriteLine(DateTime.Now);”*
故障排除
macOS:
- Docker必须正在运行 -在使用Claude Desktop之前启动Docker Desktop
- 检查配置:
~/Library/Application Support/Claude/claude_desktop_config.json - 检查日志:
~/Library/Application Support/Claude/logs/mcp-server-dotbox-mcp.log
窗户:
- Docker桌面必须正在运行 -在使用Claude Desktop之前启动Docker Desktop
- 验证TCP端口2375是否已启用:
- 测试:打开浏览器 http://localhost:2375/version (应显示Docker版本JSON) - 启用:Docker桌面>设置>常规>“打开守护进程tcp://localhost:2375无TLS”
- 检查docker.exe路径:
- 违约: C:\Program Files\Docker\Docker\resources\bin\docker.exe - 如果安装在其他地方,请更新 command 配置中的路径
- 检查配置:
%APPDATA%\Claude\claude_desktop_config.json - 检查日志:
%APPDATA%\Claude\logs\mcp-server-dotbox-mcp.log
示例提示
注: 当您想查看格式化的结果时,明确请求显示输出。
快速代码段:
Generate 10 fake Person records in C# using the Bogus library and run it.
Display the JSON output in an artifact so I can see it properly formatted.Write and execute C# code using LINQ to group products by category and calculate average prices.
Show me the results in an artifact.Generate 10 random pronounceable passwords of length 12 in C#.
Execute it and show me the output. Explain how you did it and show the code in an artifact.Show me a quick example of a new feature in .NET 10 and run it.Web API(在后台运行):
Create and host a simple .NET 8 URL shortener API with in-memory storage. Include:
- POST /api/shorten (takes long URL, returns short code)
- GET /{shortCode} (redirects to original URL)
- GET /api/stats/{shortCode} (shows click count)
Host it in the background and give me the URLs to test.Build a .NET 9 API for generating and validating temporary access codes (like 2FA tokens).
Host it in the background so I can test creating and verifying codes.______________________________________________________________________
已知问题和未来改进
演出
- 容器启动缓慢:第一次执行。NET版本可能需要5-10秒才能启动容器
- *潜在缓解措施*:容器池(预热容器准备接受工作)
用户体验
- 任务管理:MCP没有内置任务跟踪或多步骤工作流指导
- *锦上添花*:用于进度跟踪和分步执行提示的MCP协议扩展
贡献
有改进的想法吗? 我们欢迎捐款!如果您可以实施容器池、缩短启动时间或增强用户体验,请提交PR。查看我们的 发展与贡献 以下部分为指南。
______________________________________________________________________
发展与贡献
状态: ✅ MVP完成-所有核心工具都在工作,改进和优化正在进行中。
对于想要修改代码或测试未发布功能的贡献者:
需求
- Python 3.10+
- Docker 桌面版
- uv(依赖管理器)
设置
- 克隆和安装依赖关系:
git clone https://github.com/domibies/dotbox-mcp.git
cd dotbox-mcp
uv sync- 构建Docker镜像:
cd docker
./build-images.sh在Claude Desktop中运行(开发模式)
注: 开发工作流程目前仅适用于macOS。
使用切换脚本在开发模式之间切换:
选项1:使用uv开发(建议用于代码更改)
# Configure Claude Desktop to run from source with uv
python3 scripts/toggle-claude-desktop-config.py dev
# Restart Claude Desktop此模式:
- 通过uv从源运行服务器
- 代码更改时的热重新加载
- 使用本地Docker镜像
- 最适合TDD工作流程
选项2:使用Docker进行开发(测试容器化设置)
# Build all images (sandbox + server)
./scripts/build-docker-dev.sh
# Configure Claude Desktop to run in Docker
python3 scripts/toggle-claude-desktop-config.py docker
# Restart Claude Desktop此模式:
- 在容器中运行服务器(更接近生产环境)
- 在Docker设置中测试Docker
- 使用标记的本地图像
:dev - 最适合测试部署问题
切换回生产:
python3 scripts/toggle-claude-desktop-config.py production所有切换操作都会保留配置中的其他MCP服务器。
测试
# Unit tests (fast, mocked Docker)
uv run pytest -v -m "not e2e"
# E2E tests (requires Docker running, pulls images as needed)
uv run pytest -v -m e2e
# With coverage
uv run pytest --cov=src --cov-report=term-missing -m "not e2e"Git工作流
始终处理特征分支:
git checkout -b feature/your-feature
# Make changes, commit, push
git push -u origin feature/your-feature
# Create PR via GitHub永远不要直接推到main——所有更改都要经过CI验证的PR。
