Todoist API微服务

一个本地微服务,封装了Todoist v2 REST API,为代理工作流提供简单的本地REST端点。

  • by davemcpherson-fc
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 davemcpherson-fc/go-todoist-mcp

使用说明

转到Todoist MCP服务

这是一个本地微服务(MCP),充当Todoist v2 REST API的包装器。它为代理工作流提供了简单的本地REST端点。


先决条件

  1. Docker: 你必须安装并运行Docker。
  2. 去: (可选,用于本地测试)Go 1.21+
  3. Todoist API代币: 有效的Todoist API令牌。

配置

  1. 复制 config_defaults.yaml 并将此目录重命名为`config.yaml'。
  2. 打开 config.yaml 文件。
  3. 替换占位符 REPLACE_WITH_YOUR_TODOIST_API_TOKEN 使用您的实际Todoist API令牌。
# config.yaml
todoist:
  api_token: "your-real-token-goes-here"
  base_url: "[https://api.todoist.com/rest/v2](https://api.todoist.com/rest/v2)"
server:
  port: "8080"

使用Docker运行

这些指令将构建Docker镜像并将其作为分离的容器运行。

1.塑造形象

从项目目录的根目录(~/projects/go-todoist-mcp),运行:

docker build -t go-todoist-mcp .

2.运行容器

此命令将启动容器,将端口8080映射到本地计算机,最重要的是,挂载本地计算机 config.yaml 以只读模式将文件放入容器。

docker run -d \
  -p 8080:8080 \
  -v $(pwd)/config.yaml:/app/config.yaml:ro \
  --name todoist-mcp \
  go-todoist-mcp
  • -d:在分离模式下运行(在后台)。
  • -p 8080:8080:将本地端口8080映射到容器的端口8080。
  • -v $(pwd)/config.yaml:/app/config.yaml:ro:将本地配置文件装载到容器中 /app/config.yaml (应用程序期望的位置)。这 :ro 使其为只读。
  • --name todoist-mcp:给你的容器一个难忘的名字。

服务管理

确认访问权限

您可以通过发送 curl 从本地计算机请求:

curl http://localhost:8080/tasks

如果它工作正常,您将收到Todoist任务的JSON数组(或空数组 []).

查看日志

服务日志(包括启动消息)被发送到 stdout 在容器内。您可以使用 docker logs 命令。

要查看所有日志:

docker logs todoist-mcp

实时跟踪日志(如 tail -f):

docker logs -f todoist-mcp

停止和删除

要停止服务,请执行以下操作:

docker stop todoist-mcp

要移除已停止的容器(例如,再次运行它):

docker rm todoist-mcp

API终点

该服务提供以下本地终结点:

  • 创建任务: POST http://localhost:8080/tasks
  • 获取所有任务: GET http://localhost:8080/tasks
  • 获取一个任务: GET http://localhost:8080/tasks/{id}
  • 更新任务: PUT http://localhost:8080/tasks/{id}
  • 删除任务: DELETE http://localhost:8080/tasks/{id}