Skip to main content
Glama
Krupalp525

Fledge MCP Server

by Krupalp525

Fledge MCP サーバー

これは、Fledge 機能を Cursor AI に接続し、AI が自然言語コマンドを介して Fledge インスタンスと対話できるようにする Model Context Protocol (MCP) サーバーです。

前提条件

  • Fledge はローカルにインストールされているか、API 経由でアクセス可能です (デフォルト: http://localhost:8081 )

  • カーソルAIがインストール済み

  • Python 3.8以上

Related MCP server: MCP Interactive Service

インストール

  1. このリポジトリをクローンします:

git clone https://github.com/Krupalp525/fledge-mcp.git
cd fledge-mcp
  1. 依存関係をインストールします。

pip install -r requirements.txt

サーバーの実行

  1. Fledge が実行されていることを確認します。

fledge start
  1. MCP サーバーを起動します。

python mcp_server.py

API キー認証による安全な操作の場合:

python secure_mcp_server.py
  1. ヘルスエンドポイントにアクセスして動作していることを確認します。

curl http://localhost:8082/health

応答として「Fledge MCP Server is running」が表示されます。

カーソルに接続

  1. カーソルで、「設定」>「MCPサーバー」に移動します。

  2. 新しいサーバーを追加します:

    • URL: http://localhost:8082/tools

    • ツールファイル: 含まれている tools.json をアップロードするか、ローカルパスを指定します。

  3. セキュア サーバーの場合は、セキュア サーバーの起動時に生成される api_key.txt ファイルの値を使用して、「X-API-Key」ヘッダーを構成します。

  4. テストします: Cursor の Composer (Ctrl+I) を開き、「Fledge API にアクセスできるかどうかを確認する」と入力すると、AI がvalidate_api_connectionツールを呼び出すはずです。

利用可能なツール

データアクセスと管理

  1. get_sensor_data : 時間範囲と制限によるフィルタリングをオプションで行い、Fledge からセンサーデータを取得します。

  2. list_sensors : Fledgeで利用可能なすべてのセンサーを一覧表示します

  3. ingest_test_data : オプションのバッチカウントを使用して、テストデータをFledgeに取り込む

サービス制御

  1. get_service_status : すべてのFledgeサービスのステータスを取得する

  2. start_stop_service : タイプ別にFledgeサービスを開始または停止する

  3. update_config : Fledge 設定パラメータを更新する

フロントエンドコード生成

  1. generate_ui_component : Fledge のデータ視覚化用の React コンポーネントを生成する

  2. fetch_sample_frontend : さまざまなフレームワークのサンプルフロントエンドテンプレートを取得します。

  3. suggests_ui_improvements : UI コードを改善するための AI を活用した提案を取得します

リアルタイムデータストリーミング

  1. subscribe_to_sensor : センサーデータの更新のサブスクリプションを設定する

  2. get_latest_reading : 特定のセンサーから最新の読み取り値を取得する

デバッグと検証

  1. validate_api_connection : Fledge API がアクセス可能かどうかを確認する

  2. simulate_frontend_request : さまざまなメソッドとペイロードを使用して API リクエストをテストする

ドキュメントとスキーマ

  1. get_api_schema : 利用可能なFledge APIエンドポイントに関する情報を取得する

  2. list_plugins : 利用可能なFledgeプラグインを一覧表示する

高度なAI支援機能

  1. generate_mock_data : テスト用の現実的な模擬センサーデータを生成する

APIのテスト

付属のテスト スクリプトを使用してサーバーをテストできます。

# For standard server
python test_mcp.py

# For secure server with API key
python test_secure_mcp.py

セキュリティオプション

セキュア サーバー (secure_mcp_server.py) は、API キー認証を追加します。

  1. 初回実行時に、api_key.txtに保存されるAPIキーを生成します。

  2. すべてのリクエストには、X-API-Key ヘッダーにこのキーを含める必要があります。

  3. ヘルスチェックエンドポイントは認証なしでもアクセス可能です

APIリクエストの例

# Validate API connection
curl -X POST -H "Content-Type: application/json" -d '{"name": "validate_api_connection"}' http://localhost:8082/tools

# Generate mock data
curl -X POST -H "Content-Type: application/json" -d '{"name": "generate_mock_data", "parameters": {"sensor_id": "temp1", "count": 5}}' http://localhost:8082/tools

# Generate React chart component
curl -X POST -H "Content-Type: application/json" -d '{"name": "generate_ui_component", "parameters": {"component_type": "chart", "sensor_id": "temp1"}}' http://localhost:8082/tools

# For secure server, add API key header
curl -X POST -H "Content-Type: application/json" -H "X-API-Key: YOUR_API_KEY" -d '{"name": "list_sensors"}' http://localhost:8082/tools

サーバーの拡張

ツールを追加するには:

  1. ツール定義をtools.jsonに追加する

  2. mcp_server.pysecure_mcp_server.pyにツール ハンドラーを実装します。

生産上の考慮事項

本番環境への展開の場合:

  • HTTPSを使用する

  • Nginxのようなリバースプロキシの背後にデプロイする

  • より堅牢な認証(JWT、OAuth)を実装する

  • レート制限を追加する

  • サブスクリプション用の永続データストレージを設定する

Smithery.aiへのデプロイ

Fledge MCPサーバーは、Smithery.aiにデプロイすることで、スケーラビリティと可用性を向上させることができます。デプロイするには、以下の手順に従ってください。

  1. 前提条件

    • ローカルマシンにDockerがインストールされている

    • Smithery.aiアカウント

    • Smithery CLIツールがインストールされました

  2. ビルドとデプロイ

    # Build the Docker image
    docker build -t fledge-mcp .
    
    # Deploy to Smithery.ai
    smithery deploy
  3. 構成smithery.jsonファイルには、デプロイメントの構成が含まれています。

    • ポート 8082 の WebSocket トランスポート

    • 設定可能なFledge API URL

    • ツールの定義とパラメータ

    • タイムアウト設定

  4. 環境変数Smithery.ai ダッシュボードで次の環境変数を設定します。

    • FLEDGE_API_URL : Fledge APIエンドポイント

    • API_KEY : セキュア API キー (セキュア モードを使用している場合)

  5. 検証デプロイ後、サーバーが実行中であることを確認します。

    smithery status fledge-mcp
  6. 監視Smithery.ai ダッシュボードを通じて展開を監視します。

    • リアルタイムログ

    • パフォーマンスメトリック

    • エラー追跡

    • リソースの使用

  7. 更新デプロイメントを更新するには:

    # Build new image
    docker build -t fledge-mcp .
    
    # Deploy updates
    smithery deploy --update

JSON-RPC プロトコルのサポート

サーバーは、WebSocket経由のJSON-RPC 2.0を使用してモデルコンテキストプロトコル(MCP)を実装します。以下のメソッドがサポートされています。

  1. 初期化する

    {
        "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"
    }
  2. ツール/リスト

    {
        "jsonrpc": "2.0",
        "method": "tools/list",
        "params": {},
        "id": "2"
    }

    応答: 使用可能なツールとそのパラメータのリストを返します。

  3. ツール/呼び出し

    {
        "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: サーバーエラー

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/Krupalp525/fledge-mcp'

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