F

FIWARE实体管理服务器

@dncampo/FIWARE-MCP-Server
0 Stars 336 次浏览 dncampo 更新于 2026-08-23

在FIWARE环境中,实现实体发布、更新和查询的基本操作,充当Context Broker和其他服务之间的桥梁。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

FIWARE MCP 服务器


这是 FIWARE 模型上下文协议 (MCP) 服务器的第一个实现,它提供了 Context Broker 和其他服务之间的桥梁。该服务器实现了与 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 集成

mcp install server.py

# Custom name
mcp install server.py --name "FIWARE MCP Server"

# Environment variables, if any
mcp install server.py -v API_KEY=abc123 -v DB_URL=postgres://...
mcp install server.py -f .env

使用

启动 MCP 服务器:

python server.py
# or
mcp run server.py

服务器默认在 127.0.0.1:5001 上启动。

可用工具

  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 中的以下参数来配置服务器:

  • 主机地址
  • 端口号
  • 超时设置

错误处理

服务器包括全面的错误处理,包括:

  • 网络连接问题
  • Context Broker 的无效响应
  • 格式错误的实体数据
  • 服务器关闭

贡献

欢迎提交问题和增强请求!

许可证

该项目根据 Apache License 2.0 许可。

相关 MCP 服务