DeepSeek MCP-like Server for Terminal について
Term MCP DeepSeekは、MCPクライアント向けのローカルなターミナル制御サーバーです。ポリシーに基づく計画、人の承認、範囲を限定した実行、署名付きレシートを備え、DeepSeekは任意の助言役です。モデルのテキストが直接実行されることはありません。
主な機能
- 01承認を前提としたコマンド実行
- 02ワークスペースに限定した計画
- 03プロセスの一時停止、再開、キャンセル
- 04実行時間と出力量の制限
- 05署名付き・プライバシー配慮型レシート
- 06DeepSeekなしでもローカルツールを利用
活用シーン
- 01未知のリポジトリを安全に調査
- 02承認後にポリシー範囲内のローカルタスクを実行
- 03コマンド結果の署名付き記録を確認
MCP 対応
HTTPとSTDIOで共通のMCPツールカタログを提供し、記載された新旧プロトコルのライフサイクルに対応します。MCPクライアントはローカルのターミナル制御機能を利用でき、DeepSeekによる助言は任意です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Term MCP DeepSeek
実行前に、コマンド、リスク、ワークスペース、制限を確認できます。その後、実際に起きたことの署名付きレシートを保存します。
Term MCP DeepSeek は、MCP クライアントと人間のための、ローカルで承認を優先するターミナル制御プレーンです。DeepSeek に分離された助言役を与える一方、コマンドの計画、承認、制限付き実行、ライブイベント、署名付き証跡は決定論的なポリシーが管理します。

このプロジェクトを開発した理由
多くのターミナルエージェントでは、提案と実行が不透明な一連の処理にまとめられています。Term MCP DeepSeek では、その境界が明確です。
intent → versioned plan → policy decision → human approval → bounded process → signed receipt
- モデルのテキストが直接実行されることはありません。
- インスペクトモードはデフォルトで読み取り専用です。
- すべてのコマンドはシェルを使わずに解析され、1 つのワークスペースに限定されます。
- 一時停止、再開、キャンセル、タイムアウト、出力制限、プロセス分離が、最初から組み込まれた状態として扱われます。
- DeepSeek が利用できない、またはオフラインでも、ローカルの MCP ツールは無効になりません。
- レシートでは、コマンド、stdout、stderr、終了コード、シグナル、権限、署名がそれぞれ分離されています。
- 共有可能なエクスポートでは、コマンドのテキスト、ワークスペースのパス、引数、出力を削除したうえで、新しい有効な署名を付与します。
60 秒で最初の結果を確認
必要なもの:macOS または Linux、Python 3.10–3.13、pipx。
pipx install "git+https://github.com/OthmaneBlial/[email protected]"
cd /path/to/the/repository/you/want/to/inspect
term-mcp serve
サーバーは一度限りのベアラートークンを出力します。http://127.0.0.1:8000 を開いてそのトークンを貼り付け、ワークスペースをインスペクトを選択してから、プランを作成、実行の順に選択します。
期待される結果:実行前に UI に低リスクの pwd プランが表示され、その後、終了コード 0、分離された stdout/stderr、検証済みの HMAC 署名を含む succeeded レシートが表示されます。DeepSeek キーは必要ありません。
Ctrl+C でサーバーを停止します。生成されたトークンとメモリ内のセッションは、プロセスの終了とともに消去されます。
クローンからインストール
コントリビュートする場合や、未リリースの変更をテストする場合は、この方法を使用してください。
git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git
cd term_mcp_deepseek
./startup.sh token
./startup.sh
startup.sh は .venv を作成してパッケージをインストールし、パッケージ版のインストールで使用されるものと同じ term-mcp CLI を実行します。
安全性の境界
デフォルトでは APPROVAL_MODE=inspect で、ネットワークは無効です。
| モード | 想定用途 | 書き込み | プロジェクトコード | 承認 |
|---|---|---|---|---|
inspect | リポジトリの調査 | ブロック | ブロック | 長時間実行プロセスのみ |
confirm | 意図的なローカル作業 | ポリシーの範囲内 | ポリシーで許可 | リスクのある操作には必須 |
trusted | 事前承認済みの自動化 | ポリシーの範囲内 | ポリシーで許可 | 事前承認済み、常に記録 |
confirm モードと trusted モードは、オペレーティングシステムのサンドボックスではありません。信頼できないリポジトリは、使い捨てのコンテナまたは VM でテストしてください。WORKSPACE_ROOT は狭い範囲に設定し、ALLOW_NETWORK=false を維持してください。また、HTTP サービスを信頼できないネットワークに直接公開しないでください。
コマンドの対象範囲を広げる前に、SECURITY.md と脅威モデルをお読みください。
CLI
term-mcp serve production HTTP server (Waitress)
term-mcp serve --debug Flask development server
term-mcp stdio JSON-RPC over STDIO
term-mcp doctor --json config, permissions, shell, and transport checks
term-mcp doctor --connectivity optional DeepSeek endpoint check
term-mcp demo no-key guided scenarios
term-mcp receipt validate FILE schema and HMAC validation
term-mcp receipt show FILE privacy-aware summary
term-mcp recipe validate FILE... schema and policy validation
term-mcp recipe run FILE inspect-only recipe execution
term-mcp token strong bearer token generator
term-mcp version installed version
ローカルの品質ゲートをすべて実行するには、次のコマンドを実行します。
./local_ci.sh
安全なレシピカタログ
このリポジトリには、リポジトリの調査、Python と JavaScript のテスト検出、ログの一覧表示、ポート設定、読み取り専用の境界を証明するための、6 つの小規模なワークフローが含まれています。各レシピはスキーマのバージョンが管理され、調査のみ、ネットワーク不使用、書き込みなし、実行範囲に上限が設けられており、実行前に本番用ポリシーでチェックされます。
term-mcp recipe validate examples/recipes/*.json --workspace .
term-mcp recipe run examples/recipes/inspect-repository.json --workspace .
レシピカタログと貢献用テンプレートをご覧ください。CI ではカタログ全体を実行し、モデル不使用ベンチマークも実行します。
署名済みで共有時に機密情報がマスキングされた、成功・キャンセル・タイムアウトのレシートについては、証明ギャラリーをご覧ください。3 つの短いデモでは、なじみのないリポジトリ、テスト対象、ローカルのインシデント証拠にレシピを適用します。
MCP クライアント
サーバーは最新の MCP 2026-07-28 を対象とし、旧式の 2025-11-25 初期化ライフサイクルもサポートしています。HTTP と STDIO は、同じディスパッチャーとツールカタログを共有します。
推奨するローカル STDIO 設定:
{
"mcpServers": {
"term-mcp-deepseek": {
"command": "/absolute/path/to/term-mcp",
"args": ["stdio"],
"env": {
"WORKSPACE_ROOT": "/absolute/path/to/your/project",
"APPROVAL_MODE": "inspect"
}
}
}
}
STDOUT には JSON-RPC メッセージのみが出力され、診断情報は STDERR に出力されます。プロトコルの詳細と日付付きのクライアント情報については、MCP 互換性マトリクスをご覧ください。
HTTP と Web API
保護されたルートには Authorization: Bearer $AUTH_TOKEN が必要です。公開ルートは、UI シェル、ヘルスチェック、デモ、静的アセット、レシートスキーマに意図的に限定されています。
| メソッド | パス | 認証 | 用途 |
|---|---|---|---|
GET | /health | 公開 | 準備状態とパッケージのバージョン |
GET | / | 公開 | 承認を優先するミッションコントロール |
GET | /demo/scenarios | 公開 | キー不要のローカルデモカタログ |
GET | /schemas/receipt-1.0.json | 公開 | レシートの JSON Schema |
POST | /mcp | Bearer | 新旧の MCP 呼び出し |
DELETE | /mcp | Bearer | 旧式の MCP トランスポートセッションを終了 |
GET | /mcp/info | Bearer | ランタイム、制限、モデル、プロトコルの情報 |
POST | /sessions | Bearer | 隔離された Web 実行セッションを作成 |
DELETE | /sessions/{id} | Bearer | Web セッションを終了し、そのプロセスを停止 |
GET | /stream?session_id=... | Bearer | セッション単位の実行イベント |
POST | /chat | Bearer | 助言のみを行う DeepSeek のテキスト。実行は行いません |
POST | /receipts/validate | Bearer | スキーマとローカル署名を検証 |
POST | /receipts/redact | Bearer | 共有用に非公開の内容を削除し、再署名 |
/sessions、/stream、/chat ルートは Web 互換 API であり、独立した MCP トランスポートではありません。
Docker
イメージでは、バージョンを固定した Python ベースイメージを使用し、別のステージで wheel をビルドします。ランタイムステージではネットワークを使わずにインストールし、UID/GID 10001 で実行します。
export AUTH_TOKEN="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')"
docker compose up --build
http://127.0.0.1:8000 を開いてください。デフォルトのモードが inspect のため、Compose のワークスペースマウントは読み取り専用です。docker compose down を実行して停止します。
構成
ローカルで確認するだけなら、キーなしのデフォルト設定で十分です。永続的な設定が必要な場合に限り、.env.example をコピーしてください。
cp .env.example .env
term-mcp token
term-mcp doctor
.env はコミットしないでください。オプションのアドバイザーパネルを使用する場合に限り、DEEPSEEK_API_KEY を追加してください。変数の完全な一覧とデプロイ/ロールバックのガイダンスは、運用に記載されています。
プロジェクトの構成
| 領域 | 正式な情報源 |
|---|---|
| インタラクティブな概要とウェブドキュメント | プロジェクトのウェブサイト |
| 製品と信頼境界 | アーキテクチャ |
| 対応する動作と対応しない動作 | 機能マトリックス |
| MCP のバージョンとクライアント | 互換性 |
| デプロイとロールバック | 運用 |
| セキュリティ上の前提 | セキュリティポリシーと脅威モデル |
| 安全なサンプル | レシピカタログ |
| レシートと具体的なデモ | 実証ギャラリーとデモスクリプト |
| ローカルのパフォーマンスに関する証拠 | ベンチマークの取り決め |
| テレメトリーを使わない導入 | 導入の証拠 |
| 方針と受け入れ基準 | ロードマップ |
| リリース履歴 | 変更履歴 |
貢献
小規模なテスト、プロトコルのフィクスチャ、安全なレシピ、アクセシビリティの改善、クライアントの互換性レポートを歓迎します。CONTRIBUTING.mdから始め、./local_ci.sh を実行してください。ターミナル実行のバグによってレシートが生成された場合は、機密情報を削除したレシートを添付してください。
セキュリティ上の脆弱性は、GitHub の非公開の脆弱性報告機能を使って報告してください。公開のイシューには投稿しないでください。
ライセンス
MIT — LICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。