Token导航 LogoToken导航

MCP Server · 运维云端

DRM MCP

Digi Remote Manager MCP Server 是一个用于集成 Digi Remote Manager API 的模型上下文协议服务器,提供62种工具用于管理物联网设备、数据流、警报、自动化等。

stdio官方级别未说明来源级核验工具 29tsc
JavaScriptClaude云端部署Claude Desktop

快速开始

作者 / 组织
flinntech
提供方
flinntech
运行时
Node.js

工具数量

29

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

DRM MCP 属于运维云端类 MCP Server,公开资料标注 29 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

运维云端

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

npx tsc --noEmit

客户端配置示例

{
  "mcpServers": {
    "drm-mcp": {
      "command": "npx",
      "args": [
        "tsc",
        "--noEmit"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 29 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

Digi Remote Manager MCP Server

Model Context Protocol (MCP) server for Digi Remote Manager API integration. Provides 62 tools for managing IoT devices, data streams, alerts, automations, and more.

Features

  • Multi-Tenant Support: Single or multi-user mode with per-user credentials and isolated state
  • Dynamic Tool Loading: Reduces initial context by ~70% - only loads tools you need
  • 62 API Tools: Full coverage of Digi Remote Manager REST API (13 core + 49 on-demand)
  • SCI/RCI Support: Direct device communication via Server Command Interface
  • Device Management: Query devices, groups, firmware, configurations
  • Data Streams: Access time-series telemetry data with rollups
  • Monitoring: Alerts, monitors, automations, and reports
  • Multiple Transports: Supports stdio and HTTP transports

Dynamic Tool System

The server uses a category-based dynamic tool loading system to reduce LLM context usage:

Core Tools (Always Available - 13 tools)

  • Tool Management: list_tool_categories, load_tool_category
  • Device Basics: list_devices, get_device
  • Stream Basics: list_streams, get_stream, get_stream_history
  • Organization: list_groups, get_group
  • Monitoring: list_alerts, get_alert
  • Account: get_account_info, get_api_info

On-Demand Categories (49 tools organized into 11 categories)

Load additional tools by category using load_tool_category:

  • bulk_operations (5 tools) - CSV export for devices, streams, jobs, events
  • advanced_data (3 tools) - Stream rollups, aggregations, device logs
  • automations (6 tools) - Workflow automation management
  • firmware (4 tools) - Firmware management and updates
  • sci (9 tools) - Direct device communication via SCI/RCI
  • monitors (3 tools) - Webhook and monitor management
  • jobs (2 tools) - Async job tracking
  • user_management (3 tools) - User accounts, security settings
  • configuration (4 tools) - Device templates, health monitoring configs
  • files (2 tools) - File listing and retrieval
  • events (2 tools) - Audit trail and event history

Usage Pattern

  1. Connect to server - only 13 core tools visible
  2. Call list_tool_categories to see available categories
  3. Call load_tool_category with category name (e.g., "configuration")
  4. All tools in that category become available
  5. Repeat as needed for other categories

Prerequisites

  • Node.js 18.0.0 or higher
  • Digi Remote Manager account
  • API Key ID and Secret (get from https://remotemanager.digi.com → Profile → API Keys)

Quick Start

1. Clone and Install

git clone 
cd DRM_MCP
npm install

2. Build the TypeScript Code

The server is written in TypeScript. Build it before running:

npm run build

This compiles the TypeScript code in src/ to JavaScript in dist/.

3. Configure Environment

Copy the example environment file and configure your API credentials:

cp .env.example .env

Edit .env and add your API credentials:

DRM_API_KEY_ID=your_api_key_id_here
DRM_API_KEY_SECRET=your_api_key_secret_here

4. Run the Server

Stdio mode (default) - for MCP clients like Claude Desktop:

npm start

HTTP mode - for web integrations like n8n:

MCP_TRANSPORT=http MCP_PORT=3000 npm start

Development

The project is written in TypeScript with full type safety.

Project Structure

drm-mcp/
├── src/
│   ├── types/
│   │   ├── auth.types.ts      # Authentication & multi-tenant types
│   │   ├── tool.types.ts      # Tool system types
│   │   ├── api.types.ts       # DRM API response types
│   │   └── server.types.ts    # Server configuration types
│   └── server.ts              # Main server implementation
├── dist/                      # Compiled JavaScript (generated)
├── tsconfig.json              # TypeScript configuration
└── package.json

Development Workflow

Watch mode - automatically recompile on changes:

npm run dev

Build for production:

npm run build

Type check without building:

npx tsc --noEmit

TypeScript Benefits

  • Type safety for all 60+ tool arguments and responses
  • Compile-time validation of API calls and data structures
  • Better IDE support with autocomplete and inline documentation
  • Refactoring safety across the 2,700+ line codebase
  • Multi-tenant credential type checking

Multi-Tenant Configuration

The server supports two modes:

Single-Tenant Mode (Default)

Use environment variables for a single set of credentials:

DRM_API_KEY_ID=your_api_key_id_here
DRM_API_KEY_SECRET=your_api_key_secret_here

All requests will use these credentials.

Multi-Tenant Mode

For multiple users with different DRM credentials:

  1. Create credentials.json in the project root:
{
  "user1": {
    "api_key_id": "user1_key_id",
    "api_key_secret": "user1_key_secret"
  },
  "user2": {
    "api_key_id": "user2_key_id",
    "api_key_secret": "user2_key_secret"
  },
  "alice": {
    "api_key_id": "alice_key_id",
    "api_key_secret": "alice_key_secret"
  }
}
  1. When making HTTP requests to the MCP server, include the X-User-ID header:
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "X-User-ID: alice" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
  1. Each user's credentials will be used for their requests
  2. Tool categories are tracked separately per user

Security Notes:

  • credentials.json is gitignored by default
  • Store credentials securely
  • Each user gets isolated access with their own DRM API credentials
  • Per-user tool category state is maintained in memory

Docker Deployment

Using Docker Compose

  1. Configure environment variables in .env:
cp .env.example .env
# Edit .env with your credentials
  1. Start the server:
docker-compose up -d
  1. Check logs:
docker-compose logs -f
  1. Health check:
curl http://localhost:3000/health

Manual Docker Build

docker build -t drm-mcp-server .
docker run -d \
  -e DRM_API_KEY_ID=your_key_id \
  -e DRM_API_KEY_SECRET=your_key_secret \
  -e MCP_TRANSPORT=http \
  -e MCP_PORT=3000 \
  -p 3000:3000 \
  drm-mcp-server

Environment Variables

VariableRequiredDefaultDescription
DRM_API_KEY_IDYes-Digi Remote Manager API Key ID
DRM_API_KEY_SECRETYes-Digi Remote Manager API Key Secret
MCP_TRANSPORTNostdioTransport type: stdio or http
MCP_PORTNo3000HTTP server port (when using http transport)
NODE_ENVNoproductionNode environment

Usage Examples

List Available Tool Categories

{
  "tool": "list_tool_categories",
  "arguments": {}
}

Load a Tool Category

{
  "tool": "load_tool_category",
  "arguments": {
    "category": "configuration"
  }
}

List Connected Devices

{
  "tool": "list_devices",
  "arguments": {
    "query": "connection_status=\"connected\"",
    "size": 100
  }
}

Get Stream Historical Data

{
  "tool": "get_stream_history",
  "arguments": {
    "stream_id": "00000000-00000000-00409DFF-FF122B8E/temperature",
    "start_time": "-24h",
    "size": 1000
  }
}

Query Device State via SCI

{
  "tool": "sci_query_device_state",
  "arguments": {
    "device_id": "00000000-00000000-00409DFF-FF122B8E",
    "state_group": "mobile_stats",
    "use_cache": false
  }
}

Available Tools

Device Management

  • list_devices, get_device
  • list_groups, get_group
  • list_firmware, get_firmware

Data & Telemetry

  • list_streams, get_stream, get_stream_history
  • get_stream_rollups (aggregated data)
  • get_device_logs

Monitoring & Automation

  • list_alerts, get_alert
  • list_monitors, get_monitor
  • list_automations, get_automation

SCI/RCI (Direct Device Communication)

  • sci_query_device_state
  • sci_query_device_settings
  • sci_list_device_files, sci_get_device_file
  • sci_query_multiple_devices

Reports & Analytics

  • get_connection_report
  • get_device_report
  • get_cellular_utilization_report

See tool descriptions for complete parameter documentation.

Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Run with custom environment
DRM_API_KEY_ID=xxx DRM_API_KEY_SECRET=yyy npm start

Troubleshooting

Error: API credentials not configured

Make sure you've set both environment variables:

  • DRM_API_KEY_ID
  • DRM_API_KEY_SECRET

Check that your .env file exists and contains valid credentials.

401 Authentication Error

Verify your API credentials are correct in Digi Remote Manager.

403 Permission Denied

Some features require Remote Manager Premier Edition.

License

MIT

工具与能力

工具数量

29

资源数量

0

提示词数量

0

能力标签

物联网管理JavaScript本地部署设备监控数据流处理自动化工具远程管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 29 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
DRM MCP

MCP World · 本页

29stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

DRM MCP 怎么安装?

公开资料给出的安装命令是 npx tsc --noEmit,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

DRM MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

DRM MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

DRM MCP 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

DRM MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP