Token导航 LogoToken导航TokenDH.com
Iot Cloud MCP logo
运维云端stdio官方级别未说明来源级核验

Iot Cloud MCP

MCP Server

tsc

MCP网关服务器,连接AI助手与Rogo物联网云平台,实现AI客户端查询和控制物联网设备的功能。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
物联网多租户TypeScriptClaude设备控制Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dadadadas111

提供方

dadadadas111

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsc --noEmit # Type check

详细介绍

物联网云mcp

MCP(模型上下文协议)网关服务器,将AI助手连接到Rogo IoT Cloud平台。使用NestJS构建,它将MCP工具调用转换为结构化REST API请求,使ChatGPT和Claude等人工智能客户端能够查询和控制物联网设备。

建筑

MCP Client (ChatGPT / Claude / n8n)
    │
    ▼
┌──────────────────────────────────────────────┐
│  POST /mcp/:projectApiKey                    │
│  ┌─ JWT auth ─ Session mgmt ─ JSON-RPC ─┐   │
│  │  McpController → ProtocolHandler      │   │
│  │  → ToolExecutor → IotApiService       │   │
│  └───────────────────────────────────────┘   │
│  Redis (sessions)    Local cache (servers)    │
└──────────────────────────────────────────────┘
    │
    ▼
Rogo IoT Cloud REST API

多用户 -每个项目都使用嵌入在URL中的API密钥。会话的范围为每个项目、每个用户。

MCP工具

工具说明
fetch_user获取当前用户配置文件
search跨设备、位置搜索
list_devices列出项目中的所有设备
list_locations列出所有地点
list_groups列出设备组
get_device获取单个设备的详细信息+状态
update_device更新设备属性
delete_device删除设备
get_device_state通过ID获取设备状态
get_device_state_by_mac通过MAC地址获取设备状态
get_location_state获取某个位置的所有设备状态
control_device发送控制命令(完整)
control_device_simple发送控制命令(简化)
get_device_documentation获取设备文档
fetch通用数据提取

入门指南

先决条件

  • Node.js 18+
  • Redis 6+
  • 访问Rogo物联网云项目API密钥

安装

git clone https://github.com/dadadadas111/iot-cloud-mcp.git
cd iot-cloud-mcp
npm install

配置

复制示例环境文件并填写您的值:

cp .env.example .env

关键变量:

变量必填默认描述
IOT_API_BASE_URL-Rogo物联网云API基础URL
BASE_URL是(prod)http://localhost:3001此服务器的公共URL(OAuth发现)
REDIS_HOST是的localhostRedis主机名
PORT没有3001服务器端口
MCP_SESSION_TTL没有3600会话TTL(秒)

.env.example 查看带有描述的完整列表。

跑步

# Development (hot reload)
npm run start:dev

# Production build
npm run build
npm run start:prod

码头工人

# Production
docker compose up -d

# Staging
docker compose -f docker-compose.staging.yml up -d

认证

服务器为MCP客户端身份验证实现了OAuth 2.1:

  1. 客户端通过以下方式发现身份验证端点 /.well-known/oauth-authorization-server
  2. 用户通过以下方式进行身份验证 /authorize 流(代理到Rogo IoT Cloud)
  3. 客户端在以下地址交换JWT令牌的授权码 /token
  4. 不记名代币包含在所有后续代币中 /mcp/:projectApiKey 请求:

项目结构

src/
├── main.ts                 # Bootstrap
├── app.module.ts           # Root module
├── mcp/                    # MCP protocol — controller, sessions, server factory
├── tools/                  # 15 MCP tool definitions + executor
│   ├── definitions/        # Individual tool files
│   └── services/           # Registry + executor
├── resources/              # MCP resource definitions
├── auth/                   # OAuth 2.1 flow
├── discovery/              # .well-known endpoints
├── proxy/                  # IoT API proxy layer (IotApiService)
├── redis/                  # Redis client module (global)
└── common/                 # Shared utils, constants, decorators

发展

npm test              # Run tests
npx tsc --noEmit      # Type check
npm run lint          # Lint
npm run format        # Format with Prettier

部署

通过GitHub操作进行CI/CD:

  • 推至 main → 构建Docker镜像→ 部署到生产环境
  • PR到 main → 构建Docker镜像→ 部署到预发布环境

docs/DEPLOYMENT.md 获取完整的操作手册。

技术栈

  • 运行时:NestJS 10+TypeScript
  • MCP-SDK: @modelcontextprotocol/sdk (流式HTTP传输)
  • 会话存储:Redis(ioredis)
  • 验证:Zod v4
  • 认证:OAuth 2.1+JWT
  • 测试:杰斯特
  • 部署:Docker+GitHub操作

许可证

麻省理工学院

目录标签

目录标签

物联网多租户TypeScriptClaude设备控制本地部署AI集成RESTAPI

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsc

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP