关于 Development Safety System - MCP Server
Development Safety System - MCP Server 为 LLM 开发工作流提供会话续接与沙盒隔离,适合需要安全试验并保留进度的开发者。它支持将批准的更改同步回主项目,并监测服务状态。
主要功能
- 01保存和恢复开发会话
- 02创建隔离开发沙盒
- 03监测文件活动并提示保存
- 04安全同步批准的更改
- 05查看服务健康状态
适用场景
- 01暂停后恢复开发进度
- 02在不改动主项目的情况下试验
- 03将选定文件同步回主项目
- 04检查 MCP 服务运行状态
MCP 相关
它通过 MCP 工具提供沙盒管理、会话保存与恢复、活动检查、安全同步和状态检查功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
开发安全系统 - MCP 服务
一个 MCP(Model Control Protocol)服务,为大模型开发工作流提供会话连续性和沙盒安全保障。
🎯 核心目标
创建一个 MCP 服务,为 AI 辅助开发提供“从上次中断处精准继续”+“绝不破坏主应用”的功能。
✨ 主要功能
- 会话状态持久化:保存和恢复完整的开发会话上下文
- 沙盒管理:提供隔离的开发环境,支持安全试验
- 活动检测:通过文件监控,建议何时保存会话状态
- 安全同步:将已批准的更改可控地复制回主项目
🚀 快速开始
安装
# Clone the repository
git clone <repository-url>
cd dev-safety-mcp
# Install dependencies
pip install -r requirements.txt
# Install the package
pip install -e .
基本用法
- 创建沙盒以安全地进行开发:
# Through MCP client
await create_sandbox("F:/my-project")
- 休息时保存会话状态:
await save_session_state(
operation="Add payment feature",
current_step="Created component files",
next_steps=["Add API endpoints", "Test integration"],
sandbox_path="F:/my-project-sandbox-session-20250604-143022",
context={"feature": "payment", "priority": "high"}
)
- 从上次中断处继续:
session = await load_session_state()
print(session['continuation_prompt'])
- 将已批准的更改同步到主项目:
await sync_to_main(
sandbox_path="F:/my-project-sandbox-session-20250604-143022",
main_path="F:/my-project",
files=["src/components/Payment.jsx", "src/api/payment.js"]
)
🛠️ 可用的 MCP 工具
create_sandbox
为项目创建隔离副本,以便安全地进行开发。
参数:
project_path(str):主项目的路径sandbox_name(str,可选):沙盒的自定义名称
save_session_state
保存完整的会话上下文,以便稍后继续。
参数:
operation(str):描述正在进行的工作current_step(str):刚刚完成的内容next_steps(List[str]):接下来需要完成的事项sandbox_path(str):正在使用的沙盒路径context(Dict):其他上下文信息
load_session_state
加载最近的会话状态,并提供继续工作的提示词。
check_activity
监控沙盒中的文件活动,以建议何时保存状态。
参数:
sandbox_path(str):要监控的路径minutes(int,可选):检查的时间范围(默认值:10)
sync_to_main
将沙盒中已批准的更改安全地复制到主项目。
参数:
sandbox_path(str):源沙盒路径main_path(str):目标主项目路径files(List[str],可选):要同步的特定文件(默认值:所有已更改的文件)
commit_progress
手动提交当前进度,以防工作丢失。
参数:
sandbox_path(str):沙盒路径message(str,可选):描述进度的提交消息
check_mcp_status
新增:检查 MCP 服务监控系统的运行状况和状态。
返回:
- 服务状态和心跳信息
- 进程 ID 和启动时间
- 服务似乎已停止时的健康警告
📁 项目结构
dev-safety-mcp/
├── README.md
├── requirements.txt
├── setup.py
├── config/
│ └── project_types.json
├── src/
│ ├── __init__.py
│ ├── mcp_server.py # Main MCP server
│ ├── sandbox_manager.py # Sandbox creation/management
│ ├── session_manager.py # Session state persistence
│ ├── activity_monitor.py # File-based activity detection
│ └── utils.py # Helper functions
├── tests/
│ ├── test_basic_functionality.py
│ └── test_with_real_project.py
└── examples/
└── basic_workflow_example.py
🔧 开发工作流
- 开始开发 - 使用
create_sandbox创建沙盒 - 安全地工作 - 所有更改都在隔离的沙盒中进行
- 保存进度 - 休息时使用
save_session_state - 无缝继续 - 加载会话状态,从上次中断处精准继续
- 部署更改 - 使用
sync_to_main将已批准的更改复制回主项目
🛡️ 安全功能
- 沙盒隔离:开发期间绝不触碰主项目
- 自动备份:每次同步操作前都会创建备份
- 活动监控:在不活动期间建议保存状态
- 版本控制:在沙盒中使用 Git 分支跟踪更改
- 服务健康监控:内置状态监控,通过心跳文件跟踪运行状况
- 外部状态检查:使用独立脚本验证 MCP 服务的运行状况
📊 服务监控
dev-safety MCP 服务内置监控功能,可检测服务何时停止运行,确保你不会在不知情的情况下失去保护。
状态监控功能:
- 自动心跳文件 - 每 30 秒更新一次
- 启动通知 - 服务启动时会明确提示
- 外部状态检查器 - 独立的监控脚本
- 健康警告 - 服务似乎已停止时发出警报
使用外部状态检查器:
# Check if MCP server is running
python tools/check-mcp-status.py
# Example outputs:
# ✅ MCP server is ACTIVE (last seen: 15s ago)
# 🔴 MCP server appears DOWN ⚠️ (last seen: 5m ago)
状态文件位置:
- 文件:
~/.dev-safety/mcp_status.json - 更新:服务运行期间每 30 秒更新一次
- 内容:PID、启动时间、工具数量、健康状态
🧪 测试
# Run basic functionality tests
python -m pytest tests/test_basic_functionality.py
# Test with a real project
python -m pytest tests/test_with_real_project.py
# Run example workflow
python examples/basic_workflow_example.py
📋 要求
- Python 3.8+
- Git(用于沙盒版本控制)
- 兼容 MCP 的客户端(Claude Desktop 等)
🚧 实现状态
✅ 阶段 1:核心价值(当前)
- 提供会话连续性工具的 MCP 服务
- 用于安全开发的沙盒管理
- 会话状态持久化
- 基于文件的活动检测
- 手动延续会话
🔮 后续阶段
- 阶段 2:智能提示(基于计时器的监控、自动建议)
- 阶段 3:简单自动化(自动保存、健康检查)
- 阶段 4:高级功能(多界面支持、可视化监控)
📄 许可证
MIT 许可证 — 详情请参阅 LICENSE 文件。
🤝 贡献
- Fork 此仓库
- 创建功能分支
- 进行修改
- 为新功能添加测试
- 提交 pull request
📞 支持
如有问题或疑问,请使用 GitHub issue 跟踪器。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。