mcpField
T
Togello MCP Server

Togello MCP Server

本地服务
github.com/Toru-Takagi生产力03 天前更新

关于 Togello MCP Server

Togello MCP Server 通过 MCP 客户端提供 Togello 任务、日历和活动数据及操作。它支持本地 stdio 和远程 HTTP 连接,使用 Bearer 令牌认证,并兼容新旧 MCP 客户端。

主要功能

  1. 01读取和管理 TODO 任务
  2. 02读取日历备忘录及 Google Calendar 事件
  3. 03列出活动项目和日志
  4. 04开始和完成活动日志
  5. 05查看有效的日程投票
  6. 06返回日本当前时间

适用场景

  1. 01查看未完成或已完成的任务
  2. 02将已安排任务与日历事件一并查看
  3. 03更新指定日期的日历备忘录
  4. 04记录活动的开始和完成

MCP 相关

该服务通过 MCP 工具提供 Togello 任务、类别、日历备忘录、Google Calendar 事件、活动、日志、日程投票及日本时间。它支持 stdio 和远程 Streamable HTTP,也保留旧版 SSE 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"togello": {
"command": "npx",
"args": [
"-y",
"togello-mcp-server"
],
"env": {
"TOGELLO_API_TOKEN": "<TOGELLO_API_TOKEN>"
}
}
}
}
启动命令npx -y togello-mcp-server
需要配置的环境变量
TOGELLO_API_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtogello-mcp-server

工具

12

收录的工具列表 · 更新于 3 周前

参数类型必填说明
categoryUUIDsarray否按指定的类别 UUID 筛选任务。
completionStatusenum否按完成状态筛选任务。省略此项时,默认检索未完成的任务。已完成的任务请使用 COMPLETED。INCOMPLETE | COMPLETED
completedStartDatestring否RFC3339 格式的完成时间范围起始值(包含),例如昨天 00:00:00+09:00。
completedEndDateany否RFC3339 格式的完成时间范围结束值(不包含),例如检索昨天的数据时使用今天 00:00:00+09:00。

详细介绍

Togello MCP 服务

Togello MCP 服务通过 Model Context Protocol 提供 Togello 任务、类别、日历备忘录、Google Calendar 事件、活动项和活动日志。

https://togello.com/sign

要求

  • Node.js 24.22.1 或更高版本
  • Togello API 令牌

协议兼容性

该服务使用 MCP TypeScript SDK v2。Stdio 和 /mcp 支持 MCP 2026-07-28 协议,以及使用 initialize 握手的旧版客户端。/mcp 端点会为旧版客户端保留会话;现代请求则为无状态。/sse 和 /message 仍可供旧版客户端使用。

每个现代远程请求都必须包含 Authorization: Bearer ... 标头。每个请求的凭据彼此隔离,包括提供旧版会话 ID 时也是如此。旧版连接会保留创建会话时提供的令牌。现有 OAuth 元数据 URL 和身份验证模式保持不变。

未实现 MCP Events。

使用 npm 运行本地 MCP

适用于通过 stdio 启动 MCP 服务的桌面客户端和本地开发工具。

{
  "mcpServers": {
    "togello": {
      "command": "npx",
      "args": ["-y", "togello-mcp-server"],
      "env": {
        "TOGELLO_API_TOKEN": "replace_with_your_token"
      }
    }
  }
}

远程 MCP

远程模式在 /mcp 提供 Streamable HTTP 端点。此外,也保留旧版 SSE 端点 /sse 和消息端点 /message,供旧版 MCP 客户端使用。

TOGELLO_MCP_MODE=remote \
TOGELLO_MCP_AUTH_MODE=passthrough \
TOGELLO_MCP_HOST=0.0.0.0 \
TOGELLO_MCP_PORT=8081 \
npm start

将远程 MCP 客户端连接到:

https://your-domain.example/mcp

passthrough 身份验证会使用连接用户在 Authorization: Bearer ... 标头中提供的 Togello API 令牌。现代请求必须在每个请求中都包含此标头;旧版会话会保留连接的令牌。已发布的远程 MCP 服务应使用此模式。

env 身份验证会为所有远程客户端使用同一个服务器端 TOGELLO_API_TOKEN。此模式仅适用于受信任的本地部署或单用户部署。绑定到非本地主机时,TOGELLO_MCP_AUTH_MODE=env 还要求设置 TOGELLO_MCP_ALLOW_ENV_AUTH=true,以防止公共部署意外启用共享令牌身份验证。

ChatGPT 开发者模式可以添加使用 SSE 的远程 MCP 服务。对于生产环境中的 ChatGPT 应用或连接器,请使用 passthrough 身份验证,或使用在将请求转发到 Togello 之前单独验证每位用户身份的部署。

远程模式会使用通过 TOGELLO_OAUTH_ISSUER 或 TOGELLO_API_BASE_URL 配置的 Togello OAuth 颁发者,在 /.well-known/oauth-authorization-server 和 /.well-known/oauth-authorization-server/mcp 提供 OAuth 授权服务器元数据。

连接到 /mcp 的远程 OAuth 客户端应在 /.well-known/oauth-protected-resource/mcp 发现受保护资源元数据。该元数据会将 resource 返回为完整的 MCP 端点 URL,例如 https://your-domain.example/mcp。未经身份验证的 /mcp 请求会包含 WWW-Authenticate 挑战,其中的 resource_metadata 值指向该 /mcp 元数据路径。

配置的 OAuth 颁发者必须是没有路径组件的来源 URL。

如需验证 OpenAI Apps 域名,请将 TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN 设置为验证令牌。随后,远程模式会通过 /.well-known/openai-apps-challenge 以 text/plain 格式提供该令牌。如果同时设置了 TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN 和 OPENAI_APPS_CHALLENGE_TOKEN,则优先使用 Togello 专用变量。

工具

所有工具都会显式设置 MCP readOnlyHint、openWorldHint 和 destructiveHint 注解。只读工具会在 structuredContent 和文本内容中返回稳定的 JSON。

  • get-tasks-list:检索待办任务。默认检索未完成的任务。可选的 categoryUUIDs 用于按类别 UUID 筛选。使用 RFC3339 格式的 completionStatus: "COMPLETED"、completedStartDate 和 completedEndDate,可检索某个时间段内完成的任务。
  • get-calendar-date-memo:检索 YYYY-MM-DD 日期的日历日期备忘录。
  • get-todo-category-list:检索待办类别。
  • get-today-calendar:检索关联的 Google Calendar 事件和已安排的任务。
  • get-activity-item-list:检索已启用的活动项目。
  • get-activity-log-list:检索活动日志。
  • get-active-gathers:使用 GET /v2/gathers 检索经身份验证的用户创建或之前查看过的活动排期投票。不接受参数。未确认的投票在调整截止时间之前均为活动状态;已确认的事件和招募在开始时间之前(含开始时间)均为活动状态。即使事件尚未结束,也会排除已开始的事件。缺少或无效的资格日期会被排除。结果保留 API 排序,仅包含 UUID、标题、模式、调整和确认时间戳、参与者人数以及关系类型。没有符合条件的结果时返回 { "gathers": [] };API 失败时会报错。
  • get-japan-current-time:返回日本当前时间。

写入工具会返回 JSON。失败的工具响应也会返回 JSON,并标记 isError: true。可能覆盖现有私有 Togello 数据的工具会设置 destructiveHint: true;创建/启动工具会设置 destructiveHint: false。

  • create-task:创建待办任务。
  • update-task:更新待办任务,包括分配或移除类别。
  • delete-task:根据 get-tasks-list 中的 todoUUID 永久删除一项待办任务。使用 update-task 配合 status: "DONE" 完成任务。若要查找已完成的待删除任务,请使用 completionStatus: "COMPLETED"。此破坏性、幂等工具在 API 响应成功后会返回 { "todoUUID": "...", "deleted": true },即使没有匹配到调用者拥有的任务也是如此。成功并不能证明任务之前存在。删除前必须先澄清目标不明确的情况。
  • update-calendar-date-memo:更新或清除日历日期备忘录。
  • start-activity-log:启动活动日志。
  • complete-activity-log:完成活动日志。

开发

npm ci
npm test

协议测试通过 stdio、Streamable HTTP 和旧版 SSE,针对本地模拟 API 测试 SDK v2 现代客户端和 SDK v1.32.2 旧版客户端。测试会验证现有的 12 项工具契约、新增的删除和活动排期投票工具、读取/写入/删除结果、请求凭证隔离、协议标头错误、请求体大小限制、元数据以及旧版会话生命周期。test/fixtures/v1-tools.json 记录了提交 558c2c2fda81f7c8b20f443afa1bf5e554a72dad 中服务器 1.0.42 的 tools/list;比较时允许 SDK 的 JSON Schema 方言和传输格式发生变化。

面向 SDK 的架构使用 Zod 4。UUID 字段保留了此前宽松的 UUID 语法,日期时间字段则通过 Zod 软件包中包含的兼容性导出,保留了先前的 Zod 3 验证行为。

MCP 审核

已认证
https://mcpreview.com/mcp-servers/toru-takagi/togello-mcp-server

发布

npm run build
npm version patch
npm publish --access public

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。