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サーバー」に移動します。
新しいサーバーを追加します:
ツールファイル: 含まれている 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ツールがインストールされました
ビルドとデプロイ
# Build the Docker image docker build -t fledge-mcp . # Deploy to Smithery.ai smithery deploy構成
smithery.jsonファイルには、デプロイメントの構成が含まれています。ポート 8082 の WebSocket トランスポート
設定可能なFledge API URL
ツールの定義とパラメータ
タイムアウト設定
環境変数Smithery.ai ダッシュボードで次の環境変数を設定します。
FLEDGE_API_URL: Fledge APIエンドポイントAPI_KEY: セキュア API キー (セキュア モードを使用している場合)
検証デプロイ後、サーバーが実行中であることを確認します。
smithery status fledge-mcp監視Smithery.ai ダッシュボードを通じて展開を監視します。
リアルタイムログ
パフォーマンスメトリック
エラー追跡
リソースの使用
更新デプロイメントを更新するには:
# Build new image docker build -t fledge-mcp . # Deploy updates smithery deploy --update
JSON-RPC プロトコルのサポート
サーバーは、WebSocket経由のJSON-RPC 2.0を使用してモデルコンテキストプロトコル(MCP)を実装します。以下のメソッドがサポートされています。
初期化する
{ "jsonrpc": "2.0", "method": "initialize", "params": {}, "id": "1" }応答:
{ "jsonrpc": "2.0", "result": { "serverInfo": { "name": "fledge-mcp", "version": "1.0.0", "description": "Fledge Model Context Protocol (MCP) Server", "vendor": "Fledge", "capabilities": { "tools": true, "streaming": true, "authentication": "api_key" } }, "configSchema": { "type": "object", "properties": { "fledge_api_url": { "type": "string", "description": "Fledge API URL", "default": "http://localhost:8081/fledge" } } } }, "id": "1" }ツール/リスト
{ "jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": "2" }応答: 使用可能なツールとそのパラメータのリストを返します。
ツール/呼び出し
{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "get_sensor_data", "parameters": { "sensor_id": "temp1", "limit": 10 } }, "id": "3" }
エラーコード
サーバーは標準の JSON-RPC 2.0 エラー コードに従います。
-32700: 解析エラー
-32600: 無効なリクエスト
-32601: メソッドが見つかりません
-32602: 無効なパラメータ
-32000: サーバーエラー
This server cannot be installed
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityEnables Cursor AI to interact with Figma designs, allowing users to read design information and programmatically modify elements through natural language commands.Last updated -382,0484
- -securityFlicense-qualityAn interface enabling high-frequency communication between AI tools (like Cursor and Windsurf) and users, allowing for option selection and information gathering through CLI, Web, or PyQt interfaces.Last updated -28
- AsecurityAlicenseAqualityEnables Cursor AI to communicate with Figma for reading designs and modifying them programmatically, allowing users to automate design tasks through natural language.Last updated -382,048MIT License
- AsecurityAlicenseAqualityAllows Cursor AI to communicate with Figma for reading designs and modifying them programmatically through a Model Context Protocol integration.Last updated -382,048MIT License