@doist/comms-mcp

中文文档
10.2.1发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 2734

MCP server and importable AI tools for the Doist Comms API

此软件包已被标记为弃用

Moved to @todoist/comms-mcp. Update dependencies and MCP client configs to use @todoist/comms-mcp.

原始使用文档
文档目录19 节
  1. Using the tools
  2. 1. Install
  3. 2. Plug them into an AI
  4. Using as an MCP server
  5. Quick start
  6. Setup
  7. Targeting a non-production deployment
  8. Getting a Comms API key
  9. Features
  10. Available tools
  11. Environment Variables
  12. Dependencies
  13. Local development
  14. Prerequisites
  15. Setup
  16. Commands
  17. Running a single tool directly
  18. Contributing
  19. License

Comms MCP & AI Tools

MCP server and importable AI tools for the Todoist Comms API. Use the tools through an MCP server, or import them directly to plug Comms into your own AI conversational interface.

Using the tools

1. Install

npm install @doist/comms-mcp

2. Plug them into an AI

Example with Vercel's AI SDK:

import { fetchInbox, reply, markDone } from '@doist/comms-mcp'
import { streamText } from 'ai'

const result = streamText({
    model: yourModel,
    system: 'You are a helpful Comms assistant',
    tools: {
        fetchInbox,
        reply,
        markDone,
    },
})

Using as an MCP server

Quick start

npx @doist/comms-mcp

Setup

Claude Desktop

Add to claude_desktop_config.json:

{
    "mcpServers": {
        "comms": {
            "command": "npx",
            "args": ["-y", "@doist/comms-mcp"],
            "env": {
                "COMMS_API_KEY": "your-comms-api-key-here"
            }
        }
    }
}

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):

{
    "mcpServers": {
        "comms": {
            "command": "npx",
            "args": ["-y", "@doist/comms-mcp"],
            "env": {
                "COMMS_API_KEY": "your-comms-api-key-here"
            }
        }
    }
}

Claude Code (CLI)

claude mcp add comms npx @doist/comms-mcp
export COMMS_API_KEY=your-comms-api-key-here

Visual Studio Code

  1. Command Palette → MCP: Add Server
  2. Configure:
{
    "servers": {
        "comms": {
            "command": "npx",
            "args": ["-y", "@doist/comms-mcp"],
            "env": {
                "COMMS_API_KEY": "your-comms-api-key-here"
            }
        }
    }
}

Targeting a non-production deployment

By default the server talks to https://comms.todoist.com. To point at staging or a custom deployment, also set COMMS_BASE_URL:

"env": {
    "COMMS_API_KEY": "your-comms-api-key-here",
    "COMMS_BASE_URL": "https://comms.staging.todoist.com"
}

Getting a Comms API key

Comms accepts your Todoist API token. In Todoist, open Settings → Integrations → Developer and copy the API token, then export it as COMMS_API_KEY (or paste it into the MCP client config above). It has full access to your account, so keep it secret.

Features

The tools are intentionally workflow-shaped rather than 1:1 wrappers around API endpoints, so an LLM can complete a useful action with a small number of calls.

Available tools

  • userInfo — Information about the current user, including their status
  • updateUserInfo — Change the user's name, timezone, language or status. The status is shared with Todoist (message, emoji, end, paused notifications or Karma). Over an OAuth connection this needs the user:write scope
  • fetchInbox — Threads and conversations from the inbox
  • loadThread — Load a thread with its comments
  • loadConversation — Load a conversation with its messages
  • searchContent — Search a workspace for threads, comments, and messages
  • getMentions — Threads, comments, and messages mentioning the current user
  • create-channel / update-channel — Create or update workspace channels through MCP
  • createThread — Start a new channel thread. Accepts an optional displayInInbox boolean (default false). When true, the thread is unarchived after creation so it appears in the author's Inbox. See also COMMS_CREATE_THREAD_DISPLAY_IN_INBOX.
  • updateObject / deleteObject — Edit or remove a thread, comment, or message
  • reply — Reply to a thread or conversation
  • react — Add a reaction to a thread, comment, conversation, or message
  • markDone — Mark threads or conversations as read and/or archived
  • markRead — Mark threads and/or conversations as read without archiving them (specific IDs, or everything unread in a workspace)
  • buildLink — Build URLs to Comms resources
  • listChannels / getGroups / getUsers / getWorkspaces — Discovery helpers

For details, see src/tools.

Environment Variables

VariableDefaultDescription
COMMS_API_KEY(required)Your Comms API key.
COMMS_CREATE_THREAD_DISPLAY_IN_INBOXfalseSet to true to unarchive every newly-created thread so it appears in the author's Inbox, without needing to pass displayInInbox: true on each call. Only takes effect when running the MCP locally. The remote/hosted MCP does not have this variable set and will use the per-call displayInInbox parameter only.

Dependencies

Local development

Prerequisites

  • Node.js 20.18.1+
  • npm
  • A Comms API token

Setup

git clone https://github.com/todoist/comms-mcp.git
cd comms-mcp
npm install
cp .env.example .env  # then add your COMMS_API_KEY
npm run build

Commands

  • npm start — Build and run the MCP inspector
  • npm run dev — Watch mode with auto-restart
  • npm test — Vitest
  • npm run type-check — TypeScript
  • npm run format:check / npm run format:fix — oxlint + oxfmt

Running a single tool directly

npx tsx scripts/run-tool.ts user-info '{}'
npx tsx scripts/run-tool.ts --list

Contributing

  1. Tests pass (npm test)
  2. Types pass (npm run type-check)
  3. Lint & format pass (npm run format:check)

Use Conventional Commits — feat:, fix:, docs:, test:, chore:.

License

MIT

版本与发布记录

@doist/comms-mcp 共发布 38 个版本,首次发布于 2026/05/25;过去 12 个月发布了 38 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
10.2.1latest2026/11/112 天前
10.2.02026/11/112 天前
10.1.02026/11/103 天前
10.0.22026/11/094 天前
10.0.12026/11/094 天前
10.0.02026/11/094 天前

关于 @doist/comms-mcp 的常见问题

@doist/comms-mcp 是什么?

MCP server and importable AI tools for the Doist Comms API注意:该包已被作者标记为弃用——Moved to @todoist/comms-mcp. Update dependencies and MCP client configs to use @todoist/comms-mcp.

如何安装 @doist/comms-mcp?

在项目目录运行 npm install @doist/comms-mcp,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@modelcontextprotocol/server(^2.2.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 comms-mcp,可以用 npx comms-mcp 直接运行。

@doist/comms-mcp 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@doist/comms-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@doist/comms-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@doist/comms-mcp 可以商用吗?

@doist/comms-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@doist/comms-mcp 的下载量有多少?

根据 npm 官方下载统计,@doist/comms-mcp 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,734 次,日均约 91 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@doist/comms-mcp 还在维护吗?

最新版本 10.2.1 发布于 2026/11/11(2 天前);至今共发布 38 个版本,其中过去 12 个月发布了 38 个;首次发布于 2026/05/25。作者已将其标记为弃用,新项目建议寻找替代方案。