LLM-NGSI-LD连接服务

Epafi是一个模型上下文协议(MCP)服务器,用于连接大型语言模型(LLM)与NGSI-LD兼容的代理,支持智能数据模型,实现数据查询、创建、更新和删除等功能。

  • by ScorpioBroker
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ScorpioBroker/epafi

使用说明

Epafi-将LLM与NGSI-LD连接

你好!

欢迎来到Epafi(初步名称,可能会更改),这是一个支持智能数据模型的NGSI-LD模型上下文协议(MCP)服务器。

Epafi提供对任何符合NGSI-LD标准的经纪商的访问权限(例如。 天蝎座经纪人)权威指示LLM尽可能多地包括NGSI-LD。

这将实现如下所示的对话

注意!!!

这是实验代码。使用风险自负。请注意,这允许LLM在您的代理中进行修改。可能会有数据丢失。您可以禁用函数,您可以通过env-vars覆盖相应的描述属性(请参阅下面的配置章节)。

特性

  • 支持所有传输模式(StdIO、HTTP-SSE、流式HTTP)
  • 通过MCP提供完整的NGSI-LD查询接口,并基于NGSI-LD规范进行描述
  • 实体类型和属性查找,应在每次关于数据或信息的请求中引用
  • 实体创建和更新,完全支持所有NGSI-LD属性类型(属性、关系、语言属性等)
  • 实体删除和删除属性(完全支持datasetId)
  • 通过OSM协调地址查找
  • 可用的智能数据模型域
  • 域中可用的智能数据模型
  • 获取智能数据模型的架构
  • 所有功能都可以关闭。

配置

请查看(application.properties)[/src/main/resources/application.properties]以查看所有配置属性。 mcp描述的配置参数的结构如下 mcp。<internal_tool_name>。如果要停用工具,请将工具描述的description设置为“已停用” mcp。<internal_tool_name>。<tool_arg_name>工具arg的描述

您还可以通过env-vars(配置名称更改为所有大写字母和下划线,而不是点)或命令行更改这些设置。请查看此处了解更多详细信息 https://quarkus.io/guides/config-reference.

建筑

Epafi是使用Quarkus和Qurarkiverse编写的,支持本地建筑。 如果你想禁用对其中一种传输模式的支持,你必须在pom.xml中删除/注释它。 Java构建

mvn clean package 

本地构建

mvn clean package -Pnative

克劳德配置

有关详细说明,请参阅 https://modelcontextprotocol.io/quickstart/user.

在Claude Desktop中,转到菜单->文件->设置。点击Developer,然后点击Edt Config,这将打开claude_desktop_Config.json文件夹。编辑它并添加如下配置

{
  "mcpServers": {
    "epafi": {
      "command": "java",
      "args": ["-jar", "<Your build folder>/quarkus-app/quarkus-run.jar"],
      "initializationTimeout": 10000
    }
  }
}

如果您使用的是本机构建的可执行文件,则可以在命令部分直接调用它

{
  "mcpServers": {
    "epafi": {
      "command": "<path to epafi>/epafi.exe",
      "initializationTimeout": 10000
    }
  }
}

目前需要初始化超时,因为Claude似乎不支持list_update通知。

常见问题解答

为什么不使用@Tool和@ToolArgs注释?

我们最初一直在使用它们,它们是一个很好的工具。但不幸的是,在我们开发时,它们不支持通过表达式语言链接到配置参数,而让Epafi高度可配置对我们来说是一个重要方面。

许可证

Epafi的许可证为 BSD-3条款. 对于这些贡献 出资许可证 应用。

©2025 NEC