Skip to main content
Glama

MCP Interactive Service

Integrations
  • Used as the web framework for the MCP service's web interface, enabling HTTP-based interactions between AI tools and users through a browser.

  • The primary language for the MCP service, providing the foundation for all UI types (CLI, Web, PyQt) and tool implementations.

  • Mentioned as an example implementation option in the select_option tool, allowing AI tools to present PyTorch as an implementation choice to users.

MCPインタラクティブサービス

これは、Cursor、Windsurf などの AI ツールとの対話用に設計された、FastMCP ライブラリを使用して実装された MCP サービスです。AI ツールは、大規模な言語モデルを呼び出す際にユーザー入力やオプション選択が必要な場合、この MCP サービスを呼び出すことができます。

コア目的

このプラグインの主な目的は、AIツール(CursorやWindsurfなど)とユーザー間の高頻度の通信と確認を可能にすることです。以下の機能により、AIインタラクションの効率と効果を大幅に向上させます。

  1. 無駄なリソースの削減: AI が潜在的に誤った解決パスにコミットする前に、ユーザーが AI のアプローチを確認またはリダイレクトできるようにすることで、プラグインは無駄な API 呼び出しと計算リソースを最小限に抑えます。
  2. リソース使用率の最大化: AI が処理を進める前にユーザーとともに理解とアプローチを確認できるため、Cursor または Windsurf へのすべての API 呼び出しの生産性が向上します。
  3. 注意の断片化を防ぐ: プラグインは、アプローチを早期に確認することで、間違ったアプローチに注意が逸らされるのではなく、正しい解決パスに焦点を維持するのに役立ちます。
  4. インタラクティブな意思決定の実現: ユーザーは意思決定プロセスに積極的に参加して、AI に即時のフィードバックとガイダンスを提供できます。
  5. 複雑なタスクの合理化: 複数のステップから成るタスクの場合、プラグインは、各重要な意思決定ポイントでユーザーの期待と AI 実行の整合性を確保します。

特徴

  • オプション選択: ユーザーが数字を入力するか、カスタムの回答を提供することで選択できるオプションのリストを表示します。
  • 情報補足: AIモデルがより完全な情報を必要とする場合、ユーザーに補足情報を直接入力するよう要求できます。
  • 複数のユーザーインターフェース: CLI、Web、PyQtインターフェースのサポート

UIタイプ

このプロジェクトは、それぞれ独自の特性を持つ 3 種類の異なるユーザー インターフェイスをサポートしています。

CLI (コマンドラインインターフェース)

  • 説明: ユーザー操作用の新しいコマンドプロンプトウィンドウを開きます
  • 利点
    • 依存関係が最小限(追加パッケージは不要)
    • 複数のダイアログウィンドウを同時に処理できます
    • グラフィカルインターフェースのない環境でも問題なく動作します
    • 軽量で起動が速い
  • デメリット
    • 基本的な視覚的プレゼンテーション
    • 技術に詳しくないユーザーにとっては直感的ではないかもしれない
  • 最適な用途: サーバー環境、リソースが限られたシステム、または複数の同時ダイアログが必要な場合

PyQtインターフェース

  • 説明: PyQtを使用した最新のグラフィカルユーザーインターフェースを提供します
  • 利点
    • すっきりとしたプロフェッショナルなダイアログ
    • 使い慣れたデスクトップアプリケーションエクスペリエンス
    • あらゆるタイプのユーザーが簡単に使用できます
  • デメリット
    • 一度に表示できるダイアログは 1 つだけです
    • PyQt の依存関係が必要 (大規模なインストール)
  • 最適な用途: 視覚的な魅力が重要で、一度に必要なダイアログが 1 つだけのデスクトップでの使用

ウェブインターフェース

  • 説明: Webブラウザでダイアログを開きます
  • 利点
    • 複数のダイアログウィンドウを同時に処理できます
    • ウェブブラウザ経由でどこからでもアクセス可能
    • モダンでカスタマイズ可能なインターフェース
  • デメリット
    • ウェブブラウザのインストールが必要です
    • 少し複雑な設定
  • 最適な用途: リモート アクセス シナリオ、Web インターフェースが優先される環境、または複数の同時ダイアログが必要な場合

使用ガイド

1. はじめに(2つのオプション)

オプション A: コンパイル済み実行ファイルを使用する (Windows に推奨)
  1. GitHub リリースページから最新のコンパイル済み実行可能ファイルをダウンロードします。
  2. インストールは不要です。実行ファイルをダウンロードして実行するだけです。
  3. 次のコマンドを使用して機能をテストできます。
# Test option selection with PyQt interface .\dist\mcp-interactive.exe test select_option --ui pyqt # Test information supplement with PyQt interface .\dist\mcp-interactive.exe test request_additional_info --ui pyqt # You can also specify a file path for testing the request_additional_info tool .\dist\mcp-interactive.exe test request_additional_info --ui pyqt D:\Path\To\Your\File.md
  1. 設定については、以下の手順 3 に進んでください。
オプションB: ソースコードからインストール

このプロジェクトは、さまざまな UI タイプに基づいて依存関係を分離します。

  • requirements-base.txt : すべての UI タイプで共有される基本依存関係
  • requirements-pyqt.txt : PyQt5 UI の依存関係
  • requirements-web.txt : Web UI (Flask) の依存関係

依存関係をインストールするには、従来の pip またはより高速な uv パッケージ マネージャーのいずれかを使用できます。

pip を使用する(従来の方法)

使用する UI タイプに基づいて適切な依存ファイルを選択します。

cd requirements # CLI UI (minimal dependencies) pip install -r requirements-base.txt # PyQt5 UI pip install -r requirements-pyqt.txt # Web UI pip install -r requirements-web.txt

注: 各特定の UI 依存ファイルには、基本依存ファイルへの参照 ( -r requirements-base.txt経由) が既に含まれているため、インストールする必要があるのは 1 つのファイルだけです。

uv を使用する(推奨、高速)

すでにuvがインストールされている場合は、次のコマンドを使用して仮想環境を作成し、依存関係をインストールできます。

# Create a virtual environment uv venv # Activate the virtual environment # Windows .venv\Scripts\activate # macOS / Linux source .venv/bin/activate # Install dependencies based on UI type cd requirements # CLI UI (minimal dependencies) uv pip install -r requirements-base.txt # PyQt5 UI uv pip install -r requirements-pyqt.txt # Web UI uv pip install -r requirements-web.txt

プロジェクトの pyproject.toml ファイルを使用して、すべての依存関係を直接インストールすることもできます。

# Install base dependencies uv pip install -e . # Install specific UI type dependencies uv pip install -e ".[pyqt]" # PyQt5 UI uv pip install -e ".[web]" # Web UI uv pip install -e ".[all]" # All UI types

2. プログラムを起動する

さまざまな UI 応答方法を開始します。

# Command line interface (default) python main.py run --ui=cli # Web interface python main.py run --ui=web # PyQt interface python main.py run --ui=pyqt

その他のサービス起動オプション:

# Start the service with default settings (address: 127.0.0.1, port: 7888) python main.py run # Specify host and port python main.py run --host 0.0.0.0 --port 8888 # Specify log level python main.py run --log-level warning

3. カーソル、ウィンドサーフィン、クロードを設定する

stdio プロトコルの使用 (推奨)

stdio プロトコルは最も安定しており、推奨される接続方法であり、標準入出力を介して Python スクリプトと直接通信し、次の利点があります。

  • より高い安定性と信頼性
  • 複数のダイアログボックスを同時に開くことができます
  • シンプルで直接的、ネットワーク接続の問題に対処する必要はありません
  • システムとの緊密な統合、より速い応答

設定例:

Python での使用 (ソースコード)
{ "ai-interaction": { "command": "python", "args": ["path/to/main.py", "run", "--transport", "stdio", "--ui", "cli"], "env": {} } }
実行ファイルの使用
{ "ai-interaction": { "command": "D:/Path/To/Your/mcp-interactive.exe", "args": ["run", "--transport", "stdio", "--ui", "pyqt"], "env": {} } }
SSEプロトコルの使用(代替)

ネットワーク経由でリモート サーバーに接続する必要がある場合は、SSE プロトコルを使用できます。

ローカルスタートアップ:

python main.py run --transport sse

カーソルの設定:

{ "ai-interaction": { "type": "sse", "url": "http://127.0.0.1:8000/sse", "env": {} } }

ウィンドサーフィンの構成:

{ "ai-interaction": { "serverUrl": "http://127.0.0.1:7888/sse", "disabled": false } }

4. AIインタラクションルールを設定する

カーソルとウィンドサーフィンでの AI 相互作用の有効性を最大限に高めるには、MCP を使用するときに AI が従う次のルールを構成します。

  1. AI がタスクについて不明な点がある場合、または追加情報が必要な場合は、MCP ai-interaction を呼び出してユーザーに説明を求める必要があります。
  2. AI が解決策に対して複数のアプローチをとることができる場合、ユーザーが優先するアプローチを選択できるように、MCP ai-interaction を呼び出す必要があります。
  3. タスクを完了した後、AI は MCP ai-interaction を呼び出して、実行する必要がある他のタスクがあるかどうかを確認する必要があります。
  4. AI はタスクを複数のステージに分割し、新しいステージを開始する前に MCP ai-interaction を呼び出して、追加の考えや考慮事項を組み込む必要があるかどうかをユーザーに確認する必要があります。
  5. AI は、仮定を行うのではなく、MCP を積極的に使用して重要な決定を確認する必要があります。

これらのルールにより、各 API 呼び出しの価値を最大化しながら、高品質でインタラクティブな AI アシスタンスが保証されます。

その他の機能

利用可能なツールを表示
python main.py list-tools
テストツール
# Test option selection tool python main.py test select_option --ui=cli # Test information supplement tool python main.py test request_additional_info --ui=cli
インタラクティブテストクライアント

このプロジェクトには、さまざまな UI タイプとメソッドを使用して MCP サービスをテストできる対話型テスト クライアントが含まれています。

# Run the interactive test client python mcp_client_en.py --host localhost --port 7888 --ui cli

オプション:

  • --host : サーバーホスト (デフォルト: localhost)
  • --port : サーバーポート (デフォルト: 7888)
  • --ui : 使用する UI タイプ (cli、pyqt、web)

クライアントが提供するもの:

  • MCPサービスとの接続テスト
  • テストするUIタイプの選択
  • select_optionとrequest_additional_infoメソッドの両方をテストする
  • 各メソッドに複数のパラメータプリセット
  • リクエストとレスポンスの完全な視覚化

これは特に次の場合に役立ちます:

  • UIインタラクションの問題のデバッグ
  • さまざまなUIタイプの動作をテストする
  • ユーザーへのサービスのデモンストレーション
  • サーバー機能の検証
STDIO テストクライアント

特に stdio トランスポート プロトコルをテストするために、コマンド ライン ツールを提供しています。

# Test stdio connection with default settings python mcp_client_stdio.py # Specify UI type python mcp_client_stdio.py --ui=pyqt # Test specific tools python mcp_client_stdio.py --test=select_option

詳細については、 STDIO テスト ガイドを参照してください。

UIテスト
# Test PyQt interface python test_ui.py --ui=pyqt # Test Web interface python test_ui.py --ui=web # Test CLI interface python test_ui.py --ui=cli

ツールの説明

オプション選択 (select_option)

このツールは、ユーザーに一連のオプションを提示し、数字を入力するかカスタムの回答を提供することで選択できるようにするために使用されます。

パラメータ:

  • options : オプションのリスト。文字列または辞書のリストになります。
  • prompt : ユーザーに表示されるプロンプトメッセージ

戻り値: 選択結果を含む辞書。形式は次の通りです:

{ "selected_index": 0, // Index of the user's selection, -1 if custom answer "selected_option": {}, // Content of the user's selected option "custom_input": "", // User's custom input, if any "is_custom": false // Whether it's a custom answer }

情報補足(request_additional_info)

このツールは、ユーザーから補足情報を要求するために使用されます。

パラメータ:

  • prompt : 情報を要求するためのプロンプト
  • current_info : ユーザーに参考として表示される最新情報

戻り値: ユーザーが入力した補足情報(文字列)

AIツールとの統合

この MCP サービスを AI ツールと統合するには、次の手順に従います。

  1. 実行可能ファイルまたは Python ソース コードを使用して MCP サービスを開始します。
    • 実行ファイルの使用: mcp-interactive.exe run
    • Pythonソースの使用: python main.py run
  2. AIツールでMCPエンドポイントを設定し、必要に応じてstdioまたはSSEプロトコルを選択します。
  3. AIモデルがユーザー入力やオプション選択を必要とするときに適切なMCPツールを呼び出す

クロード・インテグレーション

Anthropic の公式製品またはサードパーティ アプリで Claude と統合するには:

  1. AI ツール設定で stdio 接続を構成します。
    { "mcp-interaction": { "command": "D:/Path/To/Your/mcp-interactive.exe", "args": ["run", "--transport", "stdio", "--ui", "pyqt"], "env": {} } }
  2. 次のような手順で、必要に応じて Claude がインタラクション サービスを使用するように設定します。
    • 「ユーザー入力や確認が必要な場合は、MCPインタラクションサービスを使用してください」
    • 複数選択オプションの場合は、select_optionツールを呼び出します。
    • 追加のユーザー情報を収集するには、request_additional_info ツールを呼び出します。
  3. クロードは、MCP サービスを通じて直接オプションを提示し、追加情報をリクエストできるようになります。

オプション選択の例

from fastmcp import Client async with Client("http://127.0.0.1:8000/sse") as client: options = [ "Option 1: Implement with TensorFlow", "Option 2: Implement with PyTorch", {"title": "Option 3: Implement with JAX", "description": "Better for research purposes"} ] result = await client.call_tool( "select_option", {"options": options, "prompt": "Please select a framework implementation"} ) selected_option = result.json print(f"User selected: {selected_option}")

情報補足例

from fastmcp import Client async with Client("http://127.0.0.1:8000/sse") as client: additional_info = await client.call_tool( "request_additional_info", { "prompt": "Please provide specific project requirements", "current_info": "This is a data analysis project" } ) print(f"User provided information: {additional_info.text}")

開発ノート

  • 複数のUIタイプを開発またはテストする必要がない限り、UI依存関係を1つだけインストールすることをお勧めします。
  • 新しい依存関係を追加する必要がある場合は、適切な依存関係ファイルに追加してください。

現在の開発状況

実装のステータスは次のとおりです。

  • Windows : CLI および PyQt UI バージョンは完全に機能します。Web UI にはまだ対処が必要な問題がいくつかあります。
  • Linux/Mac : これらのプラットフォームはまだ十分にテストされていません。動作環境によって異なる場合があります。

当社は、すべてのプラットフォームと UI タイプ間の互換性の向上に積極的に取り組んでいます。

建築と流通

実行ファイルの作成

このプロジェクトには、Windows 用のスタンドアロン実行可能ファイルを作成するためのスクリプトが含まれています。

# Build the Windows executable build_executable.bat

これにより、Python をインストールしなくても実行できるmcp-interactive.exedistディレクトリに作成されます。

クロスプラットフォーム構築

さまざまなプラットフォーム用の実行可能ファイルを構築するには:

ウィンドウズ
# Using the batch script build_executable.bat # Or manual PyInstaller command pyinstaller mcp-interactive.spec
macOS
# Ensure PyInstaller is installed pip install pyinstaller # Build using the spec file pyinstaller mcp-interactive.spec
リナックス
# Ensure PyInstaller is installed pip install pyinstaller # Build using the spec file pyinstaller mcp-interactive.spec

注意: ターゲット プラットフォームでビルドする必要があります (Windows などから macOS 実行ファイルをビルドすることはできません)

GitHub経由で配布する

ビルドした実行可能ファイルをダウンロードできるようにするには:

  1. プロジェクトのGitHubリリースを作成する
  2. ビルドされた実行ファイルをリリースアセットとしてアップロードする
  3. 各プラットフォームで使用する実行ファイルに関する明確なドキュメントを提供する

手順の例:

  1. GitHubリポジトリに移動する
  2. 右側のサイドバーの「リリース」をクリックします
  3. 「新しいリリースを作成」をクリックします
  4. バージョンタグを設定する(例:v1.0.0)
  5. リリースのタイトルと説明を追加します
  6. さまざまなプラットフォーム用の実行ファイルをドラッグアンドドロップまたはアップロードします
  7. 「リリースを公開」をクリック

ユーザーは、GitHub リリース ページから自分のオペレーティング システムに適したバージョンをダウンロードできます。

ライセンス

このプロジェクトは MIT ライセンスの下でリリースされています。

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    This server acts as a Message Communication Protocol (MCP) service for integrating Apifox and Cursor, enabling OpenAPI interface implementation through AI-driven interaction.
    Last updated -
    7
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.
    Last updated -
    10
    Python
    • Apple
  • -
    security
    F
    license
    -
    quality
    A server that connects AI coding assistants like Cursor and Cline to Apifox API definitions, allowing developers to implement API interfaces through natural language commands.
    Last updated -
    832
    1
    • Apple
    • Linux
  • -
    security
    F
    license
    -
    quality
    This server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.
    Last updated -
    1
    TypeScript
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielZhao1990/interaction-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server