InfluxDB集成工具

一个基于Node.js/TypeScript的项目,使用Model Context Protocol (MCP) SDK,提供InfluxDB时间序列数据存储和查询功能。

  • by jussikin
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jussikin/localdude

使用说明

LocalDude

使用模型上下文协议(MCP)SDK的Node.js/TypeScript项目。

GitHub存储库

该项目托管在GitHub上。要克隆存储库,请执行以下操作:

git clone https://github.com/username/localdude.git
cd localdude

贡献

我们欢迎捐款!请看 贡献.md 了解如何为这个项目做出贡献的详细信息。

安装

npm install

可用脚本

发展

  • npm run dev -在开发模式下启动应用程序,并在文件更改时自动重建
  • npm run dev:server -在开发模式下启动服务器,并在文件更改时自动重建

构建并运行

  • npm run build -将TypeScript文件编译为JavaScript
  • npm run watch -在监视模式下编译TypeScript文件(无需重新启动)
  • npm run start -构建并启动主应用程序
  • npm run server -构建并启动服务器

自动重建功能

此项目配置为在TypeScript文件更改时自动重建和重新启动。这是通过以下方式实现的:

  • 节点:监视文件更改并触发重建
  • ts节点:直接执行TypeScript文件

自动重建行为在中配置 nodemon.json,它监视以下方面的变化:

  • 全部 .ts 根目录中的文件
  • 全部 .ts 文件在 src 目录(如果存在)

当检测到更改时,应用程序会自动重建并重新启动。

InfluxDB集成

该项目包括与InfluxDB集成,用于时间序列数据存储和查询。

配置

要使用InfluxDB集成,您需要在您的 .env 文件:

INFLUXDB_URL=http://localhost:8086
INFLUXDB_TOKEN=your_influxdb_token
INFLUXDB_ORG=your_organization
INFLUXDB_BUCKET=your_bucket

您可以从 .env.example 文件,并将占位符值替换为实际的InfluxDB连接详细信息。

可用的InfluxDB工具

服务器提供以下工具用于与InfluxDB交互:

  1. influxdb查询:执行自定义Flux查询

    {
      "query": "from(bucket: \"your_bucket\") |> range(start: -1h) |> filter(fn: (r) => r._measurement == \"your_measurement\")"
    }
    
  2. influexdb最新:获取测量和现场的最新数据点

    {
      "measurement": "your_measurement",
      "field": "your_field",
      "timeRange": "-1h"  // optional, defaults to "-1h"
    }
    
  3. influexdb范围:获取时间范围内的数据

    {
      "measurement": "your_measurement",
      "field": "your_field",
      "start": "-1h",
      "stop": "now()"  // optional, defaults to "now()"
    }
    

这些工具可以通过MCP服务器界面查询您的InfluxDB数据库。