Todoist MCP
ทางการจัดการงานและโปรเจกต์ใน Todoist ของคุณโดยตรงจาก LLM
คุณทำอะไรได้บ้างด้วย Todoist MCP?
- ค้นหางานตามวันที่ — ให้ผู้ช่วยของคุณค้นหางานที่กำหนดไว้ในวันใดวันหนึ่งโดยใช้
findTasksByDate - เพิ่มงานใหม่ — ให้ผู้ช่วยของคุณสร้างงาน Todoist หนึ่งรายการหรือมากกว่าสำหรับคุณผ่านเครื่องมือ
addTasks - ตรวจสอบข้อมูลบัญชี — สอบถามว่าบัญชี Todoist ใดเชื่อมต่ออยู่ก่อนทำการเปลี่ยนแปลง โดยใช้
user-infoเพื่อยืนยันผู้ใช้ที่ใช้งานอยู่ - เรียกใช้เครื่องมือโดยตรง — ใช้
npm run toolเพื่อเรียกใช้เครื่องมือใดก็ได้แบบสแตนด์อโลนพร้อมอาร์กิวเมนต์ JSON โดยข้ามเซิร์ฟเวอร์ MCP
เอกสาร
เซิร์ฟเวอร์ Todoist MCP
ไลบรารีสำหรับเชื่อมต่อเอเจนต์ AI เข้ากับ Todoist ประกอบด้วยเครื่องมือที่สามารถผสานรวมเข้ากับ LLM ได้ ทำให้สามารถเข้าถึงและแก้ไขบัญชี Todoist ในนามของผู้ใช้ได้
เครื่องมือเหล่านี้สามารถใช้งานได้ทั้งผ่านเซิร์ฟเวอร์ MCP หรือนำเข้าโดยตรงในโปรเจกต์อื่นเพื่อ ผสานรวมเข้ากับอินเทอร์เฟซการสนทนาด้วย AI ของคุณเอง
การใช้เครื่องมือ
1. เพิ่มพื้นที่เก็บข้อมูลนี้เป็น dependency
npm install @doist/todoist-mcp
2. นำเข้าเครื่องมือและเชื่อมต่อกับ AI
นี่คือตัวอย่างการใช้ Vercel's AI SDK
import { findTasksByDate, addTasks } from '@doist/todoist-mcp'
import { TodoistApi } from '@doist/todoist-sdk'
import { streamText } from 'ai'
// Create Todoist API client
const client = new TodoistApi(process.env.TODOIST_API_KEY)
// Helper to wrap tools with the client
function wrapTool(tool, todoistClient) {
return {
...tool,
execute(args) {
return tool.execute(args, todoistClient)
},
}
}
const result = streamText({
model: yourModel,
system: 'You are a helpful Todoist assistant',
tools: {
findTasksByDate: wrapTool(findTasksByDate, client),
addTasks: wrapTool(addTasks, client),
},
})
การใช้เป็นเซิร์ฟเวอร์ MCP
เริ่มต้นอย่างรวดเร็ว
คุณสามารถรันเซิร์ฟเวอร์ MCP ได้โดยตรงด้วย npx:
npx @doist/todoist-mcp
คู่มือการตั้งค่า
เซิร์ฟเวอร์ Todoist MCP พร้อมใช้งานเป็นบริการ HTTP แบบสตรีมได้ เพื่อการผสานรวมกับไคลเอนต์ AI ต่างๆ ได้อย่างง่ายดาย:
URL หลัก (Streamable HTTP): https://ai.todoist.net/mcp
Claude Desktop
- เปิดการตั้งค่า → ตัวเชื่อมต่อ → เพิ่มตัวเชื่อมต่อแบบกำหนดเอง
- ป้อน
https://ai.todoist.net/mcpและทำการยืนยันตัวตนผ่าน OAuth ให้เสร็จสมบูรณ์
Cursor
สร้างไฟล์การกำหนดค่า:
- ระดับโลก:
~/.cursor/mcp.json - เฉพาะโปรเจกต์:
.cursor/mcp.json
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://ai.todoist.net/mcp"]
}
}
}
จากนั้นเปิดใช้งานเซิร์ฟเวอร์ในการตั้งค่า Cursor หากได้รับพร้อมต์
Claude Code (CLI)
การตั้งค่าที่เร็วที่สุดคือปลั๊กอิน Todoist อย่างเป็นทางการ ซึ่งจะเชื่อมต่อเซิร์ฟเวอร์ MCP ให้คุณโดยอัตโนมัติ:
/plugin marketplace add doist/todoist-mcp
/plugin install todoist@doist
OAuth จะทำงานในเบราว์เซอร์ของคุณในครั้งแรกที่คุณใช้เครื่องมือ Todoist ดู เอกสารปลั๊กอินของ Anthropic สำหรับข้อมูลเพิ่มเติม
หากคุณต้องการกำหนดค่าเซิร์ฟเวอร์ MCP ด้วยตนเอง ให้รัน:
claude mcp add --transport http todoist https://ai.todoist.net/mcp
จากนั้นเปิด claude, รัน /mcp, และเลือกเซิร์ฟเวอร์ MCP todoist เพื่อยืนยันตัวตน
Visual Studio Code
- เปิด Command Palette → MCP: เพิ่มเซิร์ฟเวอร์
- เลือกการส่งผ่าน HTTP และใช้:
{
"servers": {
"todoist": {
"type": "http",
"url": "https://ai.todoist.net/mcp"
}
}
}
ไคลเอนต์ MCP อื่นๆ
npx -y mcp-remote https://ai.todoist.net/mcp
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าและการใช้เซิร์ฟเวอร์ MCP รวมถึงการสร้างเซิร์ฟเวอร์แบบกำหนดเอง ดู docs/mcp-server.md
คุณสมบัติ
คุณสมบัติหลักของโปรเจกต์นี้คือเครื่องมือสามารถนำกลับมาใช้ใหม่ได้ และไม่ได้เขียนขึ้นสำหรับใช้ในเซิร์ฟเวอร์ MCP โดยเฉพาะ สามารถเชื่อมต่อเป็นเครื่องมือกับอินเทอร์เฟซการสนทนาด้วย AI อื่นๆ ได้ (เช่น Vercel's AI SDK)
โปรเจกต์นี้อยู่ในช่วงเริ่มต้น คาดว่าจะมีเครื่องมือเพิ่มเติมและ/หรือดีขึ้นในเร็วๆ นี้
อย่างไรก็ตาม เป้าหมายของเราคือการจัดหาเครื่องมือชุดเล็กๆ ที่เปิดใช้งานเวิร์กโฟลว์ที่สมบูรณ์ แทนที่จะเป็นเพียงการดำเนินการแบบแยกส่วน เพื่อสร้างสมดุลระหว่างความยืดหยุ่นและประสิทธิภาพสำหรับ LLM
สำหรับปรัชญาการออกแบบ แนวทางปฏิบัติ และรูปแบบการพัฒนาของเรา ดู docs/tool-design.md
เครื่องมือที่มีอยู่
สำหรับรายการเครื่องมือที่มีอยู่ทั้งหมด ดูไดเรกทอรี src/tools
ความเข้ากันได้กับ OpenAI MCP
เซิร์ฟเวอร์นี้รวมเครื่องมือ search และ fetch ที่เป็นไปตาม ข้อกำหนด OpenAI MCP ซึ่งเปิดใช้งานการผสานรวมกับโปรโตคอล MCP ของ OpenAI ได้อย่างราบรื่น เครื่องมือเหล่านี้ส่งคืนผลลัพธ์ที่เข้ารหัสเป็น JSON ที่ปรับให้เหมาะสมกับข้อกำหนดของ OpenAI ในขณะที่ยังคงความเข้ากันได้กับระบบนิเวศ MCP ในวงกว้าง
Dependencies
- เซิร์ฟเวอร์ MCP โดยใช้ @modelcontextprotocol/server อย่างเป็นทางการ
- ไคลเอนต์ Todoist Typescript API @doist/todoist-sdk
การตั้งค่าเซิร์ฟเวอร์ MCP
ดู docs/mcp-server.md สำหรับคำแนะนำฉบับเต็มเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์ MCP
การตั้งค่าการพัฒนาท้องถิ่น
ดู docs/dev-setup.md สำหรับคำแนะนำการตั้งค่าฉบับเต็ม และ CONTRIBUTING.md สำหรับเวิร์กโฟลว์ผู้มีส่วนร่วมและการตรวจสอบคุณภาพ
แอป MCP
โปรเจกต์นี้รวมการสนับสนุนสำหรับ แอป MCP – วิดเจ็ต UI แบบโต้ตอบที่แสดงผลแบบอินไลน์ในอินเทอร์เฟซการสนทนาด้วย AI วิดเจ็ตให้การแสดงผลเชิงภาพที่สมบูรณ์ของผลลัพธ์เครื่องมือ (เช่น รายการงาน) แทนข้อความธรรมดา
ดู docs/mcp-apps.md สำหรับสถาปัตยกรรมวิดเจ็ต ไพพ์ไลน์การสร้าง และเวิร์กโฟลว์การพัฒนา
เริ่มต้นอย่างรวดเร็ว
หลังจากโคลนและตั้งค่าพื้นที่เก็บข้อมูล:
npm start- สร้างและรัน MCP inspector สำหรับการทดสอบnpm run dev- โหมดการพัฒนาพร้อมการสร้างใหม่และรีสตาร์ทอัตโนมัติnpm run tool:list- แสดงรายการเครื่องมือที่มีอยู่สำหรับการรันโดยตรงnpm run tool -- <tool-name> '<json-args>'- รันเครื่องมือโดยตรงโดยไม่ต้องใช้ MCP
เมื่อใช้ npm run tool, ให้รวม -- ก่อนอาร์กิวเมนต์เครื่องมือ เพื่อให้ npm ส่งต่อไปยัง scripts/run-tool.ts
ตัวอย่างการตรวจสอบก่อนการดำเนินการเขียน:
npm run tool -- user-info '{}'
ซึ่งยืนยันว่าบัญชี Todoist ใดที่ TODOIST_API_KEY ปัจจุบันเชื่อมต่ออยู่
run-tool ใช้ TODOIST_API_KEY จากไฟล์ .env ของคุณ (สร้างจาก .env.example โดย npm run setup) ใช้บัญชีทดสอบหรือโปรเจกต์ชั่วคราวเมื่อรันการดำเนินการเขียนเพื่อหลีกเลี่ยงการแก้ไขข้อมูลจริง
การมีส่วนร่วม
ดู CONTRIBUTING.md สำหรับ:
- เวิร์กโฟลว์การพัฒนา
- การรันเครื่องมือโดยตรงด้วย
scripts/run-tool.ts - การทดสอบและการตรวจสอบคุณภาพ
- หลักปฏิบัติในการคอมมิต
การเผยแพร่
โปรเจกต์นี้ใช้ release-please เพื่อทำให้การจัดการเวอร์ชันและการเผยแพร่แพ็กเกจเป็นอัตโนมัติ
วิธีการทำงาน
-
ทำการเปลี่ยนแปลงของคุณโดยใช้ Conventional Commits:
feat:สำหรับคุณสมบัติใหม่ (เพิ่มเวอร์ชันรอง)fix:สำหรับการแก้ไขบั๊ก (เพิ่มเวอร์ชันแพตช์)feat!:หรือfix!:สำหรับการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ (เพิ่มเวอร์ชันหลัก)docs:สำหรับการเปลี่ยนแปลงเอกสารchore:สำหรับงานบำรุงรักษาci:สำหรับการเปลี่ยนแปลง CI
-
เมื่อคอมมิตถูกพุชไปยัง
main:- Release-please จะสร้าง/อัปเดต PR การเผยแพร่โดยอัตโนมัติ
- PR รวมถึงการเพิ่มเวอร์ชันและการอัปเดต changelog
- ตรวจสอบ PR และรวมเมื่อพร้อม
-
หลังจากรวม PR การเผยแพร่:
- การเผยแพร่ GitHub ใหม่จะถูกสร้างขึ้นโดยอัตโนมัติ
- แท็กใหม่จะถูกสร้างขึ้น
- เวิร์กโฟลว์
publishจะถูกทริกเกอร์ - แพ็กเกจจะถูกเผยแพร่ไปยัง npm