物联网管理API服务

sylvia-iot-mcp是一个将sylvia-iot-core管理API暴露为AI助手工具的MCP服务器,适用于物联网设备、网络和应用的管理。

  • by woofdogtw
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 woofdogtw/sylvia-iot-mcp

使用说明

sylvia iot-mcp

一 主控程序 暴露的服务器 西尔维娅物联网核心 管理API作为AI助手的工具(Claude等)。

注: 该项目是人工智能辅助开发的实践基地,使用 克劳德代码 采用规范驱动的工作流 开放规范.

特性

10个能力领域的66个工具:

类别 工具
认证 auth_tokeninfo, user_get, user_update
OAuth2客户端 client_create/count/list/get/update/delete
单位 unit_create/count/list/get/update/delete
应用程序 application_create/count/list/get/update/delete/stats, application_send_dldata
网络 network_create/count/list/get/update/delete/stats, network_send_uldata
设备 device_create/count/list/get/update/delete,批量和范围创建/删除
设备路由 device_route_create/count/list/delete,批量和范围创建/删除
网络路由 network_route_create/count/list/delete
下行链路缓冲区 dldata_buffer_count/list/delete
数据 应用程序/网络上行链路/下行链路数据计数和列表、coremgr操作日志

需求

  • Node.js>=18
  • 一个正在运行的sylvia物联网核心实例
  • OAuth2客户端 client_credentials 授权已启用

设置

1.创建OAuth2客户端

MCP服务器使用以下方式向sylvia物联网核心进行身份验证 client_credentials 赠款。你需要一个 私有的 启用此授权的(机密)客户。

如果您有管理员访问权限,您可以通过sylvia-iot-auth API或管理UI创建一个。

2.配置环境变量

复制 .env.example 到 .env 并填写您的值:

cp .env.example .env
SYLVIA_IOT_AUTH_URL=http://your-host/auth
SYLVIA_IOT_COREMGR_URL=http://your-host/coremgr
SYLVIA_IOT_DATA_URL=http://your-host/data
SYLVIA_IOT_CLIENT_ID=your-client-id
SYLVIA_IOT_CLIENT_SECRET=your-client-secret

URL默认值指向以默认设置启动的本地sylvia物联网核心实例。

3.运行服务器

npm install
node src/index.js

克劳德代码/克劳德桌面集成

将服务器添加到MCP配置中(例如。 ~/.claude.json 克劳德代码)。

通过npx(无需安装):

{
  "mcpServers": {
    "sylvia-iot": {
      "command": "npx",
      "args": ["-y", "github:woofdogtw/sylvia-iot-mcp"],
      "env": {
        "SYLVIA_IOT_AUTH_URL": "http://your-host/auth",
        "SYLVIA_IOT_COREMGR_URL": "http://your-host/coremgr",
        "SYLVIA_IOT_DATA_URL": "http://your-host/data",
        "SYLVIA_IOT_CLIENT_ID": "your-client-id",
        "SYLVIA_IOT_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

通过本地结账:

{
  "mcpServers": {
    "sylvia-iot": {
      "command": "node",
      "args": ["/path/to/sylvia-iot-mcp/src/index.js"],
      "env": {
        "SYLVIA_IOT_AUTH_URL": "http://your-host/auth",
        "SYLVIA_IOT_COREMGR_URL": "http://your-host/coremgr",
        "SYLVIA_IOT_DATA_URL": "http://your-host/data",
        "SYLVIA_IOT_CLIENT_ID": "your-client-id",
        "SYLVIA_IOT_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

连接后,您可以通过对话方式管理您的物联网平台:

“列出所有单元”,“为单元X创建新应用程序”,“显示网络Y的最新上行链路数据”

认证

服务器使用OAuth2 client_credentials 授予以获得不记名代币。令牌缓存在内存中,并在到期或401响应时自动刷新。无需用户登录。

发展

# Watch mode
npm run dev

# Run end-to-end tests (requires running sylvia-iot-core)
node test-mcp.mjs