NPCterm: AIエージェント向けMCP経由の完全PTYターミナルエミュレータ

NPCtermは、MCP(Model Context Protocol)を介して公開される、AIエージェント向けのヘッドレス・インメモリ完全PTY端末エミュレータです。bashだけでなく完全な端末アクセスをAIエージェントに提供し、シェルの起動、任意のコマンドの実行、画面出力の読み取り、キーストロークの送信、TUIアプリケーションとの対話を可能にします。
主な機能
- portable-ptyによるPTY生成を伴う完全なANSI/VT100端末エミュレーション
- JSON-RPC stdioを介した完全な端末制御のための15個のMCPツール
- プロセス状態検出 – コマンドが実行中、アイドル、入力待ち、終了したかを認識
- イベントシステム – 端末イベントのリングバッファ(CommandFinished、WaitingForInput、Bellなど)
- 正確な画面ナビゲーションのためのAIフレンドリーな座標オーバーレイ
- TUIアプリケーションとの対話のためのマウス、選択、スクロールサポート
- 短い2文字のIDを持つ複数の同時端末
MCPフローの例
ソースでは、NPCtermを使用してVimを開き終了する具体的な例を提供しています:
// 1. 端末を作成する
// -> terminal_create {}
// <- {"id": "a0", "cols": 80, "rows": 24}
// 2. vimを開く
// -> terminal_send_keys {"id": "a0", "input": [{"text": "vim"}, {"key": "Enter"}]}
// <- {"success": true}
// 3. 画面を読み取り、vimが開いていることを確認する
// -> terminal_show_screen {"id": "a0"}
// <- ~ VIM - Vi IMproved
// <- ~ version 9.2.250
// <- ~ by Bram Moolenaar et al.
// <- ~ type :q<Enter> to exit
// <- ...
// 4. vimを終了する
// -> terminal_send_keys {"id": "a0", "input": [{"text": ":q"}, {"key": "Enter"}]}
// <- {"success": true}
ソースには警告が含まれています:「注意して使用してください。端末は制限のない実行環境です。」このツールは、実質的にAIエージェントにコンピュータへのアクセスを与えることに相当します。
プロジェクトはGitHubで利用可能です:github.com/alejandroqh/npcterm。
📖 完全なソースを読む: r/ClaudeAI
👀 See Also

iOSシミュレータの操作とデバッグのためのPepper MCPサーバー
Pepperは、DYLD_INSERT_LIBRARIESを介してiOSシミュレータアプリにdylibを注入するMCPサーバーであり、WebSocketブリッジを通じてリアルタイムなインタラクション、画面読み取り、ボタンタップ、変数検査、ネットワークトラフィック監視を可能にします。

Hypura:Apple Silicon向けストレージ階層対応LLM推論スケジューラー
Hypuraは、Apple Silicon Macにおいて物理メモリを超えるモデルを実行するために、モデルのテンソルをGPU、RAM、NVMeの階層に配置するRustベースの推論スケジューラです。これにより、32GB Mac Miniで31GBのMixtral 8x7Bを2.2 tok/s、40GBのLlama 70Bを0.3 tok/sで実行可能にし、通常のllama.cppではクラッシュする状況を回避します。

Mneme: 永続的なメモリを備えたフリーのローカルファーストClaudeチャットクライアント
Mnemeは、階層型メモリ、エンティティ追跡、日次サマリーを備え、Anthropic API経由でSonnet 4.5をサポートする、無料のオープンソース、ローカルファーストのClaudeチャットクライアントです。

Atuin v18.13では、AIシェルコマンド、高速化された検索デーモン、およびPTYプロキシが追加されました。
Atuin v18.13では、3つの主要機能が導入されました:atuin aiと呼ばれるAI搭載の英語からBashへのヘルパー、インメモリインデックスによる高速な検索デーモン、そして端末出力をクリアせずにポップアップを表示できるPTYプロキシのhexです。