mcpField
D
Development Safety System - MCP Server

Development Safety System - MCP Server

ローカル
github.com/fti9999開発ツール073 週間前に更新

Development Safety System - MCP Server について

Development Safety System - MCP Serverは、LLM開発ワークフローでセッション継続とサンドボックス分離を支援します。進捗を保ち、メインプロジェクトと分けて作業し、承認済みの変更を反映したい開発者向けです。

主な機能

  1. 01開発セッションの保存と復元
  2. 02分離された開発サンドボックスの作成
  3. 03ファイル活動の監視と保存提案
  4. 04承認済み変更の安全な同期
  5. 05サーバーの稼働状況確認

活用シーン

  1. 01休止後の開発再開
  2. 02メインプロジェクトに触れずに試行
  3. 03選択したファイルをメインプロジェクトへ同期
  4. 04MCPサーバーの状態確認

MCP 対応

サンドボックス管理、セッションの保存と復元、活動確認、安全な同期、状態確認のMCPツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

開発安全システム - MCP サーバー

LLM 開発ワークフローのセッション継続性とサンドボックスの安全性を実現する MCP(Model Context Protocol)サーバーです。

🎯 主な目標

AI 支援開発において、「中断したところから正確に再開する」機能と「メインアプリを壊さない」機能を備えた MCP サーバーを作成します。

✨ 主な機能

  • セッション状態の永続化:開発セッションのコンテキスト全体を保存・復元します
  • サンドボックス管理:安全に試行できる、隔離された開発環境を提供します
  • アクティビティ検知:ファイルを監視し、セッション状態の保存を促すタイミングを提案します
  • 安全な同期:承認済みの変更をメインプロジェクトに制御しながらコピーします

🚀 クイックスタート

インストール
# Clone the repository
git clone <repository-url>
cd dev-safety-mcp

# Install dependencies
pip install -r requirements.txt

# Install the package
pip install -e .
基本的な使い方
  1. 安全な開発のためにサンドボックスを作成します:
# Through MCP client
await create_sandbox("F:/my-project")
  1. 休憩するときにセッション状態を保存します:
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"}
)
  1. 中断したところから再開します:
session = await load_session_state()
print(session['continuation_prompt'])
  1. 承認済みの変更をメインプロジェクトに同期します:
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, optional):サンドボックスのカスタム名
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, optional):確認する時間枠(デフォルト:10)
sync_to_main

承認済みの変更をサンドボックスからメインプロジェクトに安全にコピーします。

パラメーター:

  • sandbox_path (str):コピー元のサンドボックスのパス
  • main_path (str):コピー先のメインプロジェクトのパス
  • files (List[str], optional):同期する特定のファイル(デフォルト:変更されたすべてのファイル)
commit_progress

作業の消失を防ぐために、現在の進捗を手動でコミットします。

パラメーター:

  • sandbox_path (str):サンドボックスへのパス
  • message (str, optional):進捗を説明するコミットメッセージ
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

🔧 開発ワークフロー

  1. 開発を開始する - create_sandbox でサンドボックスを作成します
  2. 安全に作業する - すべての変更は隔離されたサンドボックス内で行います
  3. 進捗を保存する - 休憩するときは save_session_state を使用します
  4. シームレスに再開する - セッション状態を読み込み、中断したところから正確に再開します
  5. 変更を反映する - 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 ファイルをご覧ください。

🤝 貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 新しい機能のテストを追加します
  5. プルリクエストを送信します

📞 サポート

問題や質問がある場合は、GitHub のイシュートラッカーをご利用ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。