open-index/open-npm huggingface dataset:
npm package: @links777/todo-mcp
Description: MCP Server for managing daily to-dos
Latest version: 1.0.0

# Todo MCP 服务器

基于 Model Context Protocol (MCP) 开发的待办事项管理服务器，提供待办事项的创建、更新、删除和查询功能。使用 TypeScript 编写，支持中文界面。

## 功能特性

- ✨ **创建待办事项**：设置标题、描述、截止日期和可选的提醒时间
- 📝 **更新待办事项**：修改所有属性，包括完成状态
- 🗑️ **删除待办事项**：通过 ID 删除指定事项
- 📅 **查询待办事项**：查看未来指定天数内的未完成事项
- ⏰ **时间验证**：确保日期时间的有效性
- 🌐 **本地化**：默认使用中文界面和时间格式

## 技术栈

- TypeScript
- Node.js
- Model Context Protocol SDK
- Zod（数据验证）
- UUID（唯一标识符）

## 快速开始

### 安装

```bash
# 安装依赖
npm install

# 构建项目
npm run build
```

### 运行

```bash
# 开发模式
npm run dev

# 生产模式
npm start
```

## 使用说明

### 1. 创建待办事项

创建一个新的待办事项，需要提供：
- 标题（必填）
- 描述（必填）
- 截止日期（必填，格式：YYYY-MM-DD HH:mm:ss）
- 提醒时间（可选，格式同上）

### 2. 更新待办事项

通过 ID 更新指定待办事项的以下属性（均为可选）：
- 标题
- 描述
- 截止日期
- 提醒时间
- 完成状态

### 3. 删除待办事项

通过 ID 删除指定的待办事项。

### 4. 查询待办事项

查看未来指定天数内的所有未完成待办事项：
- 默认查询未来 7 天的事项
- 按截止时间排序显示
- 显示每个事项的详细信息
## MCP本地配置
```
{
    "servers": {
        "todo-mcp": {
            "command": "node",
            "args": [
                "f:/MCP文章/todo-mcp/build/index.js"
            ]
        }
    }
}
```
## 项目结构

```
todo-mcp/
├── src/
│   └── index.ts      # 主要源代码文件
├── build/
│   └── index.js      # 编译后的 JavaScript 文件
├── package.json      # 项目配置和依赖
└── tsconfig.json     # TypeScript 配置
```

## 注意事项

- 时间格式要求：`YYYY-MM-DD HH:mm:ss`
- 截止日期和提醒时间不能早于当前时间
- 当前版本使用内存存储，服务器重启后数据会清空

## 开发计划

- [ ] 添加持久化存储支持
- [ ] 实现批量操作功能
- [ ] 增加定时提醒功能
- [ ] 支持标签分类
- [ ] 添加导入/导出功能

## 脚本命令

```json
{
  "scripts": {
    "build": "tsc",
    "start": "node build/index.js",
    "dev": "ts-node --esm src/index.ts"
  }
}
```

## 依赖项

### 生产依赖
- @modelcontextprotocol/sdk: MCP 服务器开发框架
- zod: 数据验证库
- uuid: 唯一标识符生成

### 开发依赖
- typescript: TypeScript 编译器
- @types/node: Node.js 类型定义

## 许可证

[MIT](LICENSE)

## 贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进项目。请确保：
1. 编写清晰的提交信息
2. 遵循现有的代码风格
3. 添加必要的测试和文档
npm package: @linkshell/gateway
Description: LinkShell Gateway — WebSocket 消息中转服务，连接 CLI 和手机 App。
Latest version: 0.2.22

# @linkshell/gateway

LinkShell Gateway — WebSocket 消息中转服务，连接 CLI 和手机 App。

Gateway 不运行任何终端进程，只负责配对、会话管理和消息路由。

## 部署

### Docker（推荐）

```bash
docker compose up -d
```

### 直接运行

```bash
pnpm install
pnpm --filter @linkshell/gateway build
PORT=8787 node packages/gateway/dist/gateway/src/index.js
```

## 环境变量

| 变量 | 默认值 | 说明 |
|------|--------|------|
| `PORT` | `8787` | 监听端口 |
| `LOG_LEVEL` | `info` | 日志级别：debug / info / warn / error |

## API

| 方法 | 路径 | 说明 |
|------|------|------|
| `GET` | `/healthz` | 健康检查 |
| `POST` | `/pairings` | 创建配对（返回 6 位 code，10 分钟有效） |
| `POST` | `/pairings/claim` | 用 code 换取 sessionId |
| `GET` | `/pairings/:code/status` | 查询配对状态 |
| `GET` | `/sessions` | 列出活跃会话 |
| `GET` | `/sessions/:id` | 会话详情 |
| `WS` | `/ws?sessionId=&role=` | 实时连接（role=host 或 client） |

## 特性

- 内存态会话管理（无外部依赖）
- ACK 追踪 + 输出缓存（最近 200 条，client 重连时快速重放）
- 单设备控制权管理（claim/grant/reject/release）
- 心跳 ping/pong 检测死连接（20s 间隔）
- 会话 TTL（host 断开保留 60s，空闲 30min 清理）
- IP 限流（配对 30 req/min，WebSocket 20 conn/min）
- CORS 支持
- 协议版本协商
- 优雅关闭（SIGINT/SIGTERM）

## 代码入口

如果要继续改 Gateway，优先从这几个文件进入：

1. src/index.ts
2. src/pairings.ts
3. src/sessions.ts
4. src/relay.ts

## License

MIT
npm package: @linkshell/protocol
Description: LinkShell 三端共享协议层 — CLI、Gateway、App 共用的消息类型定义和序列化工具。
Latest version: 0.2.18

# @linkshell/protocol

LinkShell 三端共享协议层 — CLI、Gateway、App 共用的消息类型定义和序列化工具。

## 安装

```bash
npm install @linkshell/protocol
```

## 使用

```typescript
import {
  createEnvelope,
  parseEnvelope,
  serializeEnvelope,
  parseTypedPayload,
  PROTOCOL_VERSION,
} from "@linkshell/protocol";

// 创建消息
const msg = createEnvelope({
  type: "terminal.output",
  sessionId: "abc-123",
  seq: 0,
  payload: {
    stream: "stdout",
    data: "hello world",
    encoding: "utf8",
    isReplay: false,
    isFinal: false,
  },
});

// 序列化 / 反序列化
const json = serializeEnvelope(msg);
const parsed = parseEnvelope(json);

// 类型安全的 payload 解析
const output = parseTypedPayload("terminal.output", parsed.payload);
// output.data === "hello world"
```

## 消息类型

| 类型 | 说明 |
|------|------|
| `session.connect` | 连接握手（含 protocolVersion、hostname） |
| `session.ack` | ACK 确认 |
| `session.resume` | 重连恢复请求 |
| `session.heartbeat` | 心跳 |
| `session.error` | 错误通知 |
| `terminal.output` | 终端输出 |
| `terminal.input` | 用户输入 |
| `terminal.resize` | 窗口尺寸变化 |
| `terminal.exit` | 进程退出 |
| `pairing.created` | 配对已创建 |
| `pairing.claim` | 配对认领 |
| `pairing.claimed` | 配对成功 |
| `control.claim` | 请求控制权 |
| `control.grant` | 授予控制权 |
| `control.reject` | 拒绝控制权 |
| `control.release` | 释放控制权 |

所有 payload 使用 Zod schema 做运行时校验。

## 代码入口

协议定义当前集中在：

1. src/index.ts

如果 CLI、Gateway、Mobile 出现消息结构不一致，先从这里排查。

## License

MIT