mcpField
F
FIWARE MCP Server

FIWARE MCP Server

ローカル
github.com/dncampoその他3今日更新

FIWARE MCP Server について

FIWARE MCP Serverは、MCPクライアントとFIWARE Context Brokerを接続します。バージョン確認、データ検索、エンティティの公開や更新を行うツールを提供します。

主な機能

  1. 01Context Brokerのバージョン確認
  2. 02Context Brokerへのクエリ
  3. 03エンティティの公開・更新
  4. 04STDIOとHTTPモード

活用シーン

  1. 01ブローカーのバージョン確認とデータ検索
  2. 02Context Brokerのエンティティ公開・更新

MCP 対応

MCPサーバーは、Context Brokerのバージョン確認、クエリ、エンティティの公開・更新をツールとして提供します。標準のSTDIOに加え、HTTPモードにも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FIWARE MCP Server

MCP Server MCP Dev

これは、Context Broker と他のサービスをつなぐブリッジを提供する、FIWARE Model Context Protocol(MCP)サーバーの初期実装です。このサーバーでは、FIWARE Context Broker と連携するための基本的な操作を実装しています。

目的

  • FIWARE 向けの基本的な MCP サーバー実装を作成する
  • Context Broker と連携するためのシンプルなツールを提供する
  • Context Broker に対する基本的なインテントの CRUD 操作を実演する
  • より複雑な MCP 実装の基盤として機能する

機能

  • Context Broker のバージョン確認
  • Context Broker のクエリ機能
  • エンティティの公開と更新

前提条件

  • Python 3.7 以降
  • pip(Python パッケージインストーラー)
  • FIWARE Context Broker インスタンスへのアクセス

インストール

  1. このリポジトリをクローンします。
git clone <repository-url>
cd FIWARE_MCP_01
  1. 必要な依存関係をインストールします。
pip install -r requirements.txt

Claude Desktop との連携

Claude Desktop からは STDIO 経由でサーバーを起動してください。このサーバーでは「mcp install」や「mcp run」を使用しないでください。

設定例(ご利用の環境に合わせてパスを調整してください)。

{
  "mcpServers": {
    "CB-assistant": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "requests>=2.31.0",
        "--with",
        "fastmcp>=0.3.0",
        "python",
        "PATH\\TO\\FIWARE-MCP-Server\\server.py"
      ]
    }
  }
}

依存関係を pip でインストールする場合の代替設定:

{
  "mcpServers": {
    "CB-assistant": {
      "command": "python",
      "args": [
        "PATH\\TO\\FIWARE-MCP-Server\\server.py"
      ]
    }
  }
}

使用方法

デフォルトでは、スクリプトを実行するとサーバーが STDIO モードで起動します。HTTP サーバーを起動するには、--http を使用します。

  • STDIO(デフォルト):
python server.py
  • HTTP モード:
python server.py --http
  • HTTP ホスト/ポート(任意):
python server.py --http --host 127.0.0.1 --port 5001

--http を指定して実行すると、サーバーは指定されたホスト/ポートにバインドし、ストリーミング可能な HTTP クライアントとの互換性を確保するためにステートレスな HTTP セッションを使用します。

ngrok を使ったリダイレクト(HTTP モード)

外部 API(OpenAI Responses API など)経由で LLM を使用するには、ローカルの MCP サーバーをインターネットに公開する必要がある場合があります。HTTP モードで実行中のサーバーに公開 HTTPS トンネルを作成するには、ngrok を使用します。

  1. https://ngrok.com でアカウントを作成し、ご使用の OS 用の ngrok クライアントをインストールします。
  2. ngrok の認証トークンをクライアントに追加します(OS ごとの ngrok のセットアップ手順に従ってください)。例:
    • ngrok(v3)の設定コマンド:ngrok config add-authtoken <YOUR_AUTH_TOKEN>
  3. MCP サーバーを HTTP モードで起動します(まだ起動していない場合)。例:
    • python server.py --http --host 127.0.0.1 --port 5001
  4. HTTP サーバーに転送する ngrok トンネルを起動します。
    • ngrok http http://127.0.0.1:5001 (ホスト/ポートの設定を変更した場合は、それに合わせて変更してください)
  5. ngrok が起動すると、1 つ以上の公開転送 URL が表示されます。MCP エンドポイントには次の URL でアクセスできます。
    • {PUBLIC_URL}/mcp

注:認証トークンは安全に管理してください。公開 URL は ngrok の実行中に有効で、トンネルを停止するとアクセスできなくなります。

利用可能なツール
  1. CB_version

    • Context Broker のバージョンを確認します
    • デフォルトパラメーター:address="localhost", port=1026
    • 戻り値:バージョン情報を含む JSON 文字列
  2. query_CB

    • Context Broker にクエリを送信します
    • パラメーター:
      • address(デフォルト:"localhost")
      • port(デフォルト:1026)
      • query(デフォルト:"")
    • 戻り値:クエリ結果を含む JSON 文字列
  3. publish_to_CB

    • Context Broker のエンティティを公開または更新します
    • パラメーター:
      • address(デフォルト:"localhost")
      • port(デフォルト:1026)
      • entity_data(必須:エンティティ情報を含む辞書)
    • 戻り値:操作ステータスを含む JSON 文字列
使用例
# Example entity data
entity_data = {
    "id": "urn:ngsi-ld:TemperatureSensor:001",
    "type": "TemperatureSensor",
    "temperature": {
        "type": "Property",
        "value": 25.5
    },
    "@context": "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
}

# Publish to Context Broker
result = publish_to_CB(entity_data=entity_data)

設定

server.py の次のパラメーターを変更して、サーバーを設定できます。

  • ホストアドレス(HTTP モードのみ)
  • ポート番号(HTTP モードのみ)
  • タイムアウト設定

エラー処理

サーバーには、次の問題に対する包括的なエラー処理が含まれています。

  • ネットワーク接続の問題
  • Context Broker からの無効なレスポンス
  • 不正な形式のエンティティデータ
  • サーバーのシャットダウン

コントリビューション

問題の報告や機能改善のリクエストをぜひお寄せください。

ライセンス

このプロジェクトは Apache License 2.0 の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。