sylvia iot-mcp
特性
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 .envSYLVIA_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-secretURL默认值指向以默认设置启动的本地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