Skip to main content
Glama
README.md
# Dot MCP - Send Notifications to Your Dot E-ink Device

[![NPM Version](https://img.shields.io/npm/v/mindreset-dot-mcp?color=red)](https://www.npmjs.com/package/mindreset-dot-mcp) [![MIT licensed](https://img.shields.io/npm/l/mindreset-dot-mcp)](./LICENSE)

[English](#english) | [中文](#中文)

---

# English

## Introduction

Dot MCP is a Model Context Protocol (MCP) server that enables AI assistants to send notifications to your [Dot](https://dot.mindreset.tech) e-ink display device. When AI completes tasks, encounters issues, or needs your attention, it can proactively notify you through your Dot device.

## Features

- Send text notifications to Dot e-ink device
- Support for title, message, signature, icon, and link
- Immediate refresh or scheduled display
- Proactive notifications from AI assistants

## Requirements

- Node.js >= v18.0.0
- A Dot device, API key and Device ID ([How to get API key and Device ID](https://dot.mindreset.tech/docs/service/studio/api/get_api))
- An MCP-compatible client (Cursor, Claude Code, VS Code, Windsurf, etc.)

## Installation

### Install in Cursor

Go to: `Settings` -> `Cursor Settings` -> `MCP` -> `Add new global MCP server`

Add the following configuration to your `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "YOUR_API_KEY",
        "--device-id",
        "YOUR_DEVICE_ID"
      ]
    }
  }
}
```

### Install in Claude Code

Run this command:

```sh
claude mcp add dot -- npx -y mindreset-dot-mcp --api-key YOUR_API_KEY --device-id YOUR_DEVICE_ID
```

### Install in VS Code

Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.

```json
{
  "mcp": {
    "servers": {
      "dot": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mindreset-dot-mcp",
          "--api-key",
          "YOUR_API_KEY",
          "--device-id",
          "YOUR_DEVICE_ID"
        ]
      }
    }
  }
}
```

### Install in Windsurf

Add this to your Windsurf MCP config file. See [Windsurf MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp) for more info.

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "YOUR_API_KEY",
        "--device-id",
        "YOUR_DEVICE_ID"
      ]
    }
  }
}
```

### Install in Cline

Open Cline MCP settings and add the following configuration:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "YOUR_API_KEY",
        "--device-id",
        "YOUR_DEVICE_ID"
      ]
    }
  }
}
```

### Install in Claude Desktop

Open Claude Desktop developer settings and edit your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "YOUR_API_KEY",
        "--device-id",
        "YOUR_DEVICE_ID"
      ]
    }
  }
}
```

### Using Environment Variables

You can also use environment variables instead of CLI arguments:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": ["-y", "mindreset-dot-mcp"],
      "env": {
        "DOT_API_KEY": "YOUR_API_KEY",
        "DOT_DEVICE_ID": "YOUR_DEVICE_ID"
      }
    }
  }
}
```

## Available Tool

### send_text

Send text content to your Dot e-ink device.

**Parameters:**

| Parameter  | Type    | Required | Description                                                          |
| ---------- | ------- | -------- | -------------------------------------------------------------------- |
| title      | string  | No       | Text title displayed on the screen (max 10 Chinese characters)       |
| message    | string  | No       | Text content displayed on the screen (max 40 Chinese characters)     |
| signature  | string  | No       | Text signature displayed on the screen                               |
| icon       | string  | No       | Base64 encoded PNG icon data (40x40px), displayed in the bottom left |
| link       | string  | No       | HTTP/HTTPS link or Scheme URL for tap-to-open functionality          |
| refreshNow | boolean | No       | Whether to display content immediately (default: true)               |

## Development

```bash
# Install dependencies
pnpm install

# Build
pnpm run build

# Run tests
pnpm run test
```

## License

MIT

---

# 中文

## 简介

Dot MCP 是一个 Model Context Protocol (MCP) 服务器,可以让 AI 助手向你的 [Dot](https://dot.mindreset.tech) 墨水屏设备发送通知。当 AI 完成任务、遇到问题或需要你的注意时,它可以主动通过你的 Dot 设备通知你。

## 功能特性

- 向 Dot 墨水屏设备发送文本通知
- 支持标题、消息、签名、图标和链接
- 即时刷新或定时显示
- AI 助手主动通知

## 系统要求

- Node.js >= v18.0.0
- Dot 设备、API 密钥和设备 ID([如何获取 API 密钥和设备 ID](https://dot.mindreset.tech/docs/service/studio/api/get_api))
- 支持 MCP 的客户端(Cursor、Claude Code、VS Code、Windsurf 等)

## 安装配置

### 在 Cursor 中安装

进入: `Settings` -> `Cursor Settings` -> `MCP` -> `Add new global MCP server`

在 `~/.cursor/mcp.json` 中添加以下配置:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "你的API密钥",
        "--device-id",
        "你的设备ID"
      ]
    }
  }
}
```

### 在 Claude Code 中安装

运行以下命令:

```sh
claude mcp add dot -- npx -y mindreset-dot-mcp --api-key 你的API密钥 --device-id 你的设备ID
```

### 在 VS Code 中安装

将以下配置添加到 VS Code MCP 配置文件中。详见 [VS Code MCP 文档](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)。

```json
{
  "mcp": {
    "servers": {
      "dot": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mindreset-dot-mcp",
          "--api-key",
          "你的API密钥",
          "--device-id",
          "你的设备ID"
        ]
      }
    }
  }
}
```

### 在 Windsurf 中安装

将以下配置添加到 Windsurf MCP 配置文件中。详见 [Windsurf MCP 文档](https://docs.windsurf.com/windsurf/cascade/mcp)。

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "你的API密钥",
        "--device-id",
        "你的设备ID"
      ]
    }
  }
}
```

### 在 Cline 中安装

打开 Cline MCP 设置并添加以下配置:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "你的API密钥",
        "--device-id",
        "你的设备ID"
      ]
    }
  }
}
```

### 在 Claude Desktop 中安装

打开 Claude Desktop 开发者设置并编辑 `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": [
        "-y",
        "mindreset-dot-mcp",
        "--api-key",
        "你的API密钥",
        "--device-id",
        "你的设备ID"
      ]
    }
  }
}
```

### 使用环境变量

你也可以使用环境变量代替命令行参数:

```json
{
  "mcpServers": {
    "dot": {
      "command": "npx",
      "args": ["-y", "mindreset-dot-mcp"],
      "env": {
        "DOT_API_KEY": "你的API密钥",
        "DOT_DEVICE_ID": "你的设备ID"
      }
    }
  }
}
```

## 可用工具

### send_text

向 Dot 墨水屏设备发送文本内容。

**参数:**

| 参数       | 类型    | 必填 | 描述                                               |
| ---------- | ------- | ---- | -------------------------------------------------- |
| title      | string  | 否   | 屏幕上显示的标题(最多 10 个中文字符显示长度)     |
| message    | string  | 否   | 屏幕上显示的内容(最多 40 个中文字符显示长度)     |
| signature  | string  | 否   | 屏幕上显示的签名                                   |
| icon       | string  | 否   | Base64 编码的 PNG 图标(40x40 像素),显示在左下角 |
| link       | string  | 否   | HTTP/HTTPS 链接或 Scheme URL,点击可打开           |
| refreshNow | boolean | 否   | 是否立即显示内容(默认:true)                     |

## 开发

```bash
# 安装依赖
pnpm install

# 构建
pnpm run build

# 运行测试
pnpm run test
```

## 许可证

MIT

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'send_text' has a clear and distinct purpose of sending text to a Dot device, leaving no room for misselection by an agent.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'send_text' follows a clear verb_noun pattern, and there are no other tools to create inconsistency or mixed conventions.

Tool Count2/5

A single tool is too few for a server's purpose, as it limits functionality to basic notifications without supporting other potential operations like device management or status checks. This feels thin and incomplete for a device interaction domain.

Completeness2/5

The tool surface is severely incomplete for interacting with an e-ink display device. While 'send_text' covers notification sending, there are obvious gaps such as retrieving device status, managing display settings, or handling other device-specific operations, which could lead to agent failures in broader tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues