todoist阅读器mcp
Todoist为了管理“以后读”的报道Model Context Protocol (MCP) 服务器。Go中所述的工具,调整墙的布局和几何形状Claude等的AI助手用自然语言Todoist的阅读列表。
Pocket的人AI最适合想用助手管理阅读清单的人。
英语 |日本语
机能
基本文章管理
- 📝 添加文章 - URL带元数据Todoist阅读列表
- 📋 浏览文章 -检索带有筛选和搜索功能的文章
- ✅ 已读标记 -完成已读文章
- 🗑️ 删除文章 -删除不需要的文章
- 🔍 検索 -按关键字、标记和日期搜索文章
整理与分析
- 🏷️ 标签管理 -添加、删除和过滤标签
- 📊 统计情报 -阅读习惯的插入(未读数、过期文章数等)
- ⏰ 优先度管理 -设置和更新文章优先级
- 📝 笔记 -为文章添加评论和备注
- 📦 一括操作 -存档旧文章,批量更新标记
高级功能
- 🎯 智能优先级 - AI文章优先度提案
- 📈 読书分析 -跟踪阅读模式和工作效率
- 🔗 URL抽出 -从任务URL自动提取和验证
必要要件
- Go 1.21以上
- Todoist账户
- Todoist API标记(从这里获取)
- Claude Desktop或MCP兼容客户机
安装
方法1:从源安装
# リポジトリをクローン
git clone https://github.com/foresukecom/todoist-reader-mcp.git
cd todoist-reader-mcp
# サーバーをビルド
go build -o todoist-reader-mcp ./cmd/server
# PATHの通ったディレクトリに移動(任意)
sudo mv todoist-reader-mcp /usr/local/bin/方法2:go install安装
go install github.com/foresukecom/todoist-reader-mcp/cmd/server@latest设定
Todoist API获取标记
- Todoist 设定→连携机能访问
- 滚动至“开发人员”部分
- API复制标记
Claude Desktop配置
Claude Desktop请在的配置文件中添加以下内容:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"todoist-reader": {
"command": "/usr/local/bin/todoist-reader-mcp",
"env": {
"TODOIST_API_TOKEN": "your_api_token_here",
"TODOIST_PROJECT_ID": "your_reading_list_project_id"
}
}
}
}注意:如果未从源构建并移动二进制文件,请使用构建位置的完整路径。
项目名称ID获取
阅读列表项目ID找到方法:
- Web在浏览器中Todoist打开
- 转到阅读列表项目
- URL确认:
https://todoist.com/app/project/1234567890 - 最后的数字是项目ID
或者,对于所有项目TODOIST_PROJECT_ID框中为对象选择一个对齐选项。
用法
在您查看完详细信息后,单击Claude Desktop中所述修改相应参数的值。Todoist的阅读列表和自然对话:
对话例
ユーザー: 「未読の記事を表示して」
Claude: [get_articlesツールを使って読書リストを取得]
ユーザー: 「この記事を読書リストに追加: https://example.com/article」
Claude: [add_articleツールを使ってURLを保存]
ユーザー: 「Go言語に関する記事を既読にして」
Claude: [mark_article_readツールを使ってタスクを完了]
ユーザー: 「30日以上前の記事をすべてアーカイブして」
Claude: [archive_old_articlesツールを使用]
ユーザー: 「読書の統計情報を教えて」
Claude: [get_article_statisticsツールでインサイトを表示]可用工具
记事管理
get_articles
从阅读列表中获取文章(带有筛选选项)。
参数:
project_id(string, 可选:在项目中筛选filter(string, 可选:Todoist过滤器语法(例如“due before:today”)limit(int, 可选:返回的最大文章数(默认值:100)
get_article_by_id
获取特定文章的详细信息。
参数:
task_id(string, 必需:Todoist任务ID
add_article
在阅读列表中添加新文章。
参数:
url(string, 必需:文章的URLtitle(string, 可选:自定义标题(如果未指定)URL),模板名称将采用不同的格式tags(\[\]string, 可选:要添加的标签priority(int, 可选:优先级级别(1-4)due_date(string, 可选:自然语言或YYYY-MM-DD格式到期日
mark_article_read
使文章成为已读(完成)。
参数:
task_id(string, 必需:Todoist任务ID
delete_article
从阅读列表中删除文章。
参数:
task_id(string, 必需:Todoist任务ID
整理
search_articles
用关键字搜索文章。
参数:
query(string, 必需:搜索关键字project_id(string, 可选:将搜索限制为特定项目
filter_by_tags
用特定标签/标签过滤文章。
参数:
tags(\[\]string, 必需:标签名称列表match_all(bool, 可选:要求所有标记(默认值:false)
bulk_update_tags
一次更新多篇文章的标记。
参数:
task_ids(\[\]string, 必需:任务ID列表中的add_tags(\[\]string, 可选:要添加的标记remove_tags(\[\]string, 可选:要删除的标记
分析
get_article_statistics
获取阅读统计和网站。
参数:
project_id(string, 可选:在项目中筛选
返回值:报道总数、未读数、过期数、本周读过的数等
archive_old_articles
存档早于指定天数的文章。
参数:
days_old(int, 必需:存档日期早于此天数的文章project_id(string, 可选:仅限于特定项目
高级功能
update_article_priority
更新文章的优先级。
参数:
task_id(string, 必需:Todoist任务IDpriority(int, 必需:新优先级(1-4、4最高)
add_article_note
向文章添加注释/注释。
参数:
task_id(string, 必需:Todoist任务IDnote(string, 必需:备注内容
开発
开发要求
- Go 1.21以上
- Git
开发环境设置
# リポジトリをクローン
git clone https://github.com/foresukecom/todoist-reader-mcp.git
cd todoist-reader-mcp
# 依存関係をインストール
go mod download
# テストを実行
go test ./...
# サーバーをローカルで実行
export TODOIST_API_TOKEN="your_token"
export TODOIST_PROJECT_ID="your_project_id"
go run ./cmd/server项目结构
todoist-reader-mcp/
├── cmd/
│ └── server/ # メインアプリケーションのエントリーポイント
│ └── main.go
├── internal/
│ ├── mcp/ # MCPサーバーの実装
│ │ ├── server.go
│ │ └── tools.go
│ ├── todoist/ # Todoist APIクライアント
│ │ ├── client.go
│ │ └── models.go
│ └── handlers/ # ツールハンドラ
│ ├── articles.go
│ ├── analytics.go
│ └── bulk.go
├── go.mod
├── go.sum
├── README.md # 日本語版README
├── README.en.md # 英語版README
└── LICENSE运行测试
# すべてのテストを実行
go test ./...
# カバレッジ付きで実行
go test -cover ./...
# レース検出付きで実行
go test -race ./...构建
# 現在のプラットフォーム向けにビルド
go build -o todoist-reader-mcp ./cmd/server
# 複数のプラットフォーム向けにビルド
GOOS=darwin GOARCH=arm64 go build -o todoist-reader-mcp-darwin-arm64 ./cmd/server
GOOS=linux GOARCH=amd64 go build -o todoist-reader-mcp-linux-amd64 ./cmd/server
GOOS=windows GOARCH=amd64 go build -o todoist-reader-mcp-windows-amd64.exe ./cmd/serverMCP Inspector调试
MCP Inspector可以使用测试服务器:
# Inspectorをインストール
npm install -g @modelcontextprotocol/inspector
# Inspectorを通してサーバーを実行
npx @modelcontextprotocol/inspector todoist-reader-mcp在浏览器中http://localhost:5173对较大场景进行渲染期间已观察到该故障。
故障排除
服务器未连接
- Todoist API确认令牌是否正确
- MCP检查配置文件的二进制路径
- Claude Desktop查看日志:
~/Library/Logs/Claude/(macOS)
找不到项目
TODOIST_PROJECT_ID请确认是否正确。如果要针对所有项目,则可以省略。
API汇率限制
Todoist在API有汇率限制。达到限制时:
- 减少请求频率
- 尽可能使用批处理操作
- 等待几分钟后重试
分发
欢迎分享!请随时提交拉式请求。
- 分叉存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 创建拉式请求
路线图
- \[\]多个Todoist项目支持
- \[ \] AI 自动摘要文章
- \[\]读书时间的推定
- \[\]用于提取全文Web刻划集成
- \[ \] Markdown/Obsidian导出到
- \[\]定期的读书目标和提醒
- \[ \] PDF文章支持
许可证
这个项目MIT在许可证下被许可。了解更多信息许可证请参见文件。
谢辞
- Go MCP SDK构建
- Todoist API客户机todoist api go被触动了
- 从其他“稍后阅读”服务器(Pocket MCP,Raindrop.io MCP)获得灵感
相关项目
- 袖珍MCP - Pocket用MCP服务器
- Raindrop.io MCP - Raindrop.io用MCP服务器
- Todoist API Go客户端
支持
出现问题或有问题:
- 的Issue创建
- MCP文档确认
- Todoist API文档的双曲正切值
______________________________________________________________________
