Todoist MCP

ทางการ

จัดการงานและโปรเจกต์ใน Todoist ของคุณโดยตรงจาก LLM

GitHub
541
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย 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

  1. เปิดการตั้งค่า → ตัวเชื่อมต่อ → เพิ่มตัวเชื่อมต่อแบบกำหนดเอง
  2. ป้อน 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

  1. เปิด Command Palette → MCP: เพิ่มเซิร์ฟเวอร์
  2. เลือกการส่งผ่าน 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

ดู 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 เพื่อทำให้การจัดการเวอร์ชันและการเผยแพร่แพ็กเกจเป็นอัตโนมัติ

วิธีการทำงาน

  1. ทำการเปลี่ยนแปลงของคุณโดยใช้ Conventional Commits:

    • feat: สำหรับคุณสมบัติใหม่ (เพิ่มเวอร์ชันรอง)
    • fix: สำหรับการแก้ไขบั๊ก (เพิ่มเวอร์ชันแพตช์)
    • feat!: หรือ fix!: สำหรับการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ (เพิ่มเวอร์ชันหลัก)
    • docs: สำหรับการเปลี่ยนแปลงเอกสาร
    • chore: สำหรับงานบำรุงรักษา
    • ci: สำหรับการเปลี่ยนแปลง CI
  2. เมื่อคอมมิตถูกพุชไปยัง main:

    • Release-please จะสร้าง/อัปเดต PR การเผยแพร่โดยอัตโนมัติ
    • PR รวมถึงการเพิ่มเวอร์ชันและการอัปเดต changelog
    • ตรวจสอบ PR และรวมเมื่อพร้อม
  3. หลังจากรวม PR การเผยแพร่:

    • การเผยแพร่ GitHub ใหม่จะถูกสร้างขึ้นโดยอัตโนมัติ
    • แท็กใหม่จะถูกสร้างขึ้น
    • เวิร์กโฟลว์ publish จะถูกทริกเกอร์
    • แพ็กเกจจะถูกเผยแพร่ไปยัง npm