Supports running the MCP server on Linux platforms, enabling OS-level interactions like notifications and command-line prompts
Supports macOS-specific optimizations with Terminal.app profile settings for improved window management when the MCP server starts and stops
Provides a Model Context Protocol server that runs locally alongside MCP clients, with direct access to the user's operating system for notifications and interactive prompts
インタラクティブMCP
Node.js/TypeScriptで実装されたMCPサーバー。LLMとユーザー間のインタラクティブな通信を容易にします。**注:**このサーバーは、通知やコマンドラインプロンプトを表示するためにユーザーのオペレーティングシステムに直接アクセスする必要があるため、MCPクライアント(Claude Desktop、VS Codeなど)と並行してローカルで実行されるように設計されています。
(注: このプロジェクトはまだ初期段階です。)
**概要を知りたいですか?**紹介ブログ記事をご覧ください: AIアシスタントの推測を阻止する - interactive-mcpのご紹介
デモビデオ |
---|
ツール
このサーバーは、モデル コンテキスト プロトコル (MCP) を介して次のツールを公開します。
request_user_input
: ユーザーに質問し、回答を返します。定義済みのオプションを表示できます。message_complete_notification
: 簡単な OS 通知を送信します。start_intensive_chat
: 永続的なコマンドライン チャット セッションを開始します。ask_intensive_chat
: アクティブな集中チャットセッション内で質問します。stop_intensive_chat
: アクティブな集中チャットセッションを閉じます。
デモ
インタラクティブ機能のデモを次に示します。
通常の質問 | 完了通知 |
---|---|
集中チャット開始 | 集中チャット終了 |
---|---|
使用シナリオ
このサーバーは、次のような LLM がローカル マシン上のユーザーと直接対話する必要があるシナリオに最適です。
- 対話型のセットアップまたは構成プロセス。
- コード生成または変更中にフィードバックを収集します。
- ペアプログラミングにおける指示の明確化やアクションの確認。
- LLM 操作中にユーザー入力または確認を必要とするワークフロー。
クライアント構成
このセクションではinteractive-mcp
サーバーを使用するように MCP クライアントを構成する方法について説明します。
デフォルトでは、ユーザープロンプトは30秒後にタイムアウトします。クライアントの設定時に、コマンドラインフラグをargs
配列に直接追加することで、タイムアウトや無効化ツールなどのサーバーオプションをカスタマイズできます。
npx
コマンドが使用可能であることを確認してください。
Claude Desktop / Cursor での使用
次の最小限の構成をclaude_desktop_config.json
(Claude Desktop) またはmcp.json
(Cursor) に追加します。
カスタムタイムアウト(30秒)の例:
VS Codeでの使用
ユーザー設定 (JSON) ファイルまたは.vscode/mcp.json
に次の最小限の構成を追加します。
macOSの推奨事項
macOS でデフォルトのTerminal.app
を使用してよりスムーズなエクスペリエンスを得るには、次のプロファイル設定を検討してください。
- (シェルタブ): 「シェルの終了時」 (ターミナル > 設定 > プロファイル > [あなたのプロファイル] > シェル)で、 **「シェルが正常に終了した場合は閉じる」または「ウィンドウを閉じる」**を選択します。これにより、MCPサーバーの起動時と停止時のウィンドウ管理が容易になります。
開発セットアップ
このセクションは、主にサーバーの修正や貢献を希望する開発者向けです。MCPクライアントでサーバーを使用するだけの場合は、上記の「クライアント設定」セクションをご覧ください。
前提条件
- **Node.js:**バージョンの互換性については
package.json
確認してください。 - **pnpm:**パッケージ管理に使用します。Node.js をインストールした後、
npm install -g pnpm
でインストールしてください。
インストール(開発者)
- リポジトリをクローンします。
- 依存関係をインストールします:
アプリケーションの実行(開発者)
コマンドラインオプション
interactive-mcp
サーバーは以下のコマンドラインオプションを受け入れます。これらのオプションは通常、MCP クライアントの JSON 設定でargs
配列に直接追加することで設定します(「クライアント設定」の例を参照)。
オプション | エイリアス | 説明 |
---|---|---|
--timeout | -t | ユーザー入力プロンプトのデフォルトのタイムアウト(秒単位)を設定します。デフォルトは 30 秒です。 |
--disable-tools | -d | 特定のツールまたはグループ(カンマ区切りのリスト)を無効にします。サーバーがそれらを宣伝したり登録したりすることを防ぎます。オプション: request_user_input 、 message_complete_notification 、 intensive_chat 。 |
**例:**クライアント構成args
配列に複数のオプションを設定する:
開発コマンド
- ビルド:
pnpm build
- リント:
pnpm lint
- フォーマット:
pnpm format
インタラクションの指針
この MCP サーバーと対話する場合 (たとえば、LLM クライアントとして)、明確さを確保し、予期しない変更を減らすために、次の原則に従ってください。
- **インタラクションの優先順位付け:**提供されている MCP ツール (
request_user_input
、start_intensive_chat
など) を頻繁に利用して、ユーザーとやり取りします。 - 明確化を求める:要件、指示、または状況が不明瞭な場合は、先に進む前に必ず明確にするための質問をしてください。決めつけは禁物です。
- **アクションの確認:**重要なアクション (ファイルの変更、複雑なコマンドの実行、アーキテクチャ上の決定など) を実行する前に、ユーザーと計画を確認します。
- **オプションの提供:**可能な場合は常に、MCP ツールを通じて事前定義されたオプションをユーザーに提示し、迅速な意思決定を促進します。
これらの指示は、次のようにして LLM クライアントに提供できます。
貢献
貢献を歓迎します!標準的な開発プラクティスに従ってください。(詳細は後日追加されます)。
ライセンス
MIT (詳細についてはLICENSE
ファイルを参照してください - 該当する場合、またはライセンスを直接指定してください)。
You must be authenticated.
Tools
LLM とユーザー間のインタラクティブな通信を容易にする Node.js/TypeScript MCP サーバー。AI アシスタントがユーザー入力を要求したり、通知を表示したり、コマンドライン チャット セッションを管理したりできるようになります。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA TypeScript-based server that allows calling other MCP clients from your own MCP client, facilitating task delegation and context window offloading for enhanced multi-agent interactions.Last updated -314JavaScriptMIT License
- -securityAlicense-qualityA server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.Last updated -5PythonMIT License
- -securityFlicense-qualityMCP server enabling LLMs to perform browser tasks via SSE transport, allowing clients like Cursor.ai and Claude to open websites and interact with web content through natural language commands.Last updated -
- -securityAlicense-qualityAn MCP server that helps novice developers deploy web applications through conversational interfaces, bridging the gap between LLMs and various hosting environments.Last updated -1PythonMIT License