hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables building and deploying the Fledge MCP server using Docker containers, supporting deployment to Smithery.ai for enhanced scalability and availability.
Supports deployment behind an Nginx reverse proxy for production environments, enhancing security and performance for the Fledge MCP server.
Allows generation of React components for Fledge data visualization, enabling the creation of custom UI elements to display sensor data from Fledge instances.
Fledge MCP サーバー
これは、Fledge 機能を Cursor AI に接続し、AI が自然言語コマンドを介して Fledge インスタンスと対話できるようにする Model Context Protocol (MCP) サーバーです。
前提条件
- Fledge はローカルにインストールされているか、API 経由でアクセス可能です (デフォルト: http://localhost:8081 )
- カーソルAIがインストール済み
- Python 3.8以上
インストール
- このリポジトリをクローンします:
- 依存関係をインストールします。
サーバーの実行
- Fledge が実行されていることを確認します。
- MCP サーバーを起動します。
API キー認証による安全な操作の場合:
- ヘルスエンドポイントにアクセスして動作していることを確認します。
応答として「Fledge MCP Server is running」が表示されます。
カーソルに接続
- カーソルで、「設定」>「MCPサーバー」に移動します。
- 新しいサーバーを追加します:
- URL: http://localhost:8082/tools
- ツールファイル: 含まれている tools.json をアップロードするか、ローカルパスを指定します。
- セキュア サーバーの場合は、セキュア サーバーの起動時に生成される api_key.txt ファイルの値を使用して、「X-API-Key」ヘッダーを構成します。
- テストします: Cursor の Composer (Ctrl+I) を開き、「Fledge API にアクセスできるかどうかを確認する」と入力すると、AI が
validate_api_connection
ツールを呼び出すはずです。
利用可能なツール
データアクセスと管理
- get_sensor_data : 時間範囲と制限によるフィルタリングをオプションで行い、Fledge からセンサーデータを取得します。
- list_sensors : Fledgeで利用可能なすべてのセンサーを一覧表示します
- ingest_test_data : オプションのバッチカウントを使用して、テストデータをFledgeに取り込む
サービス制御
- get_service_status : すべてのFledgeサービスのステータスを取得する
- start_stop_service : タイプ別にFledgeサービスを開始または停止する
- update_config : Fledge 設定パラメータを更新する
フロントエンドコード生成
- generate_ui_component : Fledge のデータ視覚化用の React コンポーネントを生成する
- fetch_sample_frontend : さまざまなフレームワークのサンプルフロントエンドテンプレートを取得します。
- suggests_ui_improvements : UI コードを改善するための AI を活用した提案を取得します
リアルタイムデータストリーミング
- subscribe_to_sensor : センサーデータの更新のサブスクリプションを設定する
- get_latest_reading : 特定のセンサーから最新の読み取り値を取得する
デバッグと検証
- validate_api_connection : Fledge API がアクセス可能かどうかを確認する
- simulate_frontend_request : さまざまなメソッドとペイロードを使用して API リクエストをテストする
ドキュメントとスキーマ
- get_api_schema : 利用可能なFledge APIエンドポイントに関する情報を取得する
- list_plugins : 利用可能なFledgeプラグインを一覧表示する
高度なAI支援機能
- generate_mock_data : テスト用の現実的な模擬センサーデータを生成する
APIのテスト
付属のテスト スクリプトを使用してサーバーをテストできます。
セキュリティオプション
セキュア サーバー (secure_mcp_server.py) は、API キー認証を追加します。
- 初回実行時に、api_key.txtに保存されるAPIキーを生成します。
- すべてのリクエストには、X-API-Key ヘッダーにこのキーを含める必要があります。
- ヘルスチェックエンドポイントは認証なしでもアクセス可能です
APIリクエストの例
サーバーの拡張
ツールを追加するには:
- ツール定義を
tools.json
に追加する mcp_server.py
とsecure_mcp_server.py
にツール ハンドラーを実装します。
生産上の考慮事項
本番環境への展開の場合:
- HTTPSを使用する
- Nginxのようなリバースプロキシの背後にデプロイする
- より堅牢な認証(JWT、OAuth)を実装する
- レート制限を追加する
- サブスクリプション用の永続データストレージを設定する
Smithery.aiへのデプロイ
Fledge MCPサーバーは、Smithery.aiにデプロイすることで、スケーラビリティと可用性を向上させることができます。デプロイするには、以下の手順に従ってください。
- 前提条件
- ローカルマシンにDockerがインストールされている
- Smithery.aiアカウント
- Smithery CLIツールがインストールされました
- ビルドとデプロイCopy
- 構成
smithery.json
ファイルには、デプロイメントの構成が含まれています。- ポート 8082 の WebSocket トランスポート
- 設定可能なFledge API URL
- ツールの定義とパラメータ
- タイムアウト設定
- 環境変数Smithery.ai ダッシュボードで次の環境変数を設定します。
FLEDGE_API_URL
: Fledge APIエンドポイントAPI_KEY
: セキュア API キー (セキュア モードを使用している場合)
- 検証デプロイ後、サーバーが実行中であることを確認します。Copy
- 監視Smithery.ai ダッシュボードを通じて展開を監視します。
- リアルタイムログ
- パフォーマンスメトリック
- エラー追跡
- リソースの使用
- 更新デプロイメントを更新するには:Copy
JSON-RPC プロトコルのサポート
サーバーは、WebSocket経由のJSON-RPC 2.0を使用してモデルコンテキストプロトコル(MCP)を実装します。以下のメソッドがサポートされています。
- 初期化する応答:CopyCopy
- ツール/リスト応答: 使用可能なツールとそのパラメータのリストを返します。Copy
- ツール/呼び出しCopy
エラーコード
サーバーは標準の JSON-RPC 2.0 エラー コードに従います。
- -32700: 解析エラー
- -32600: 無効なリクエスト
- -32601: メソッドが見つかりません
- -32602: 無効なパラメータ
- -32000: サーバーエラー
This server cannot be installed
Fledge 機能を Cursor AI に接続し、自然言語コマンドを介して Fledge インスタンスと対話できるようにします。