Pelayan MCP kanban untuk ChatGPT, Claude, Cursor dan Codex

Oleh Andrei Finogeev, pengasas Weft ·

Weft ialah papan kanban dihoskan — Backlog, Todo, Doing, Done, dengan sprint pilihan — dan pelayan MCP-nya terletak di https://letsweft.com/api/mcp. Tambah URL itu ke klien AI anda dan log masuk sekali dengan OAuth; tiada apa-apa untuk dipasang atau dijalankan secara tempatan. Sejak itu pembantu membaca papan, mencipta dan memindahkan kad, menuntut kad sebelum mengerjakannya supaya dua ejen tidak pernah mengambil kad yang sama, melaporkan kemajuan, bertanya kepada anda apabila keputusan milik anda, dan menutup kad bersama apa yang dilakukannya. Percuma untuk 50 tugas dan 200 panggilan AI sebulan.

URL pelayan MCP
https://letsweft.com/api/mcp

Streamable HTTP · OAuth, atau token akses peribadi · 32 alat

Tambahkannya ke klien AI anda

ChatGPT

Buka Weft dalam ChatGPT — atau konfigurasikannya secara manual:

  1. 1Buka Plugins di bar sisi ChatGPT — atau Settings → Plugins.
  2. 2Cari “Weft” dan buka senarainya.
  3. 3Klik “Connect” dan semak apa yang boleh diakses oleh Weft.
  4. 4Log masuk dengan akaun Weft anda dalam tetingkap timbul yang dibuka.

Sebut plugin itu dengan @ dalam mana-mana sembang: “@Weft apa yang ada di papan saya?” — atau pilih Weft daripada menu +. Jika anda melangkau persediaan, ChatGPT akan menawarkan untuk menyambungkannya terus di situ.

Claude Desktop

  1. 1Buka Claude Desktop → Settings → Connectors.
  2. 2Klik “Add custom connector”.
  3. 3Tampal URL MCP Weft di bawah dan simpan.
  4. 4Lengkapkan OAuth dalam tetingkap pelayar yang dibuka.

Mulakan sembang baharu dan tanya: “apa yang ada di papan Weft saya?”. Claude mengambil keadaan papan anda melalui penyambung Weft.

Claude Code

bash
claude mcp add --transport http weft https://letsweft.com/api/mcp

Jalankan `claude` dalam mana-mana projek, kemudian tanya: “apa yang ada di papan saya?”. Tetingkap pelayar akan dibuka untuk melengkapkan OAuth pada kali pertama.

Cursor

Tambah ke Cursor — atau konfigurasikannya secara manual:

~/.cursor/mcp.json
{
  "mcpServers": {
    "weft": {
      "url": "https://letsweft.com/api/mcp"
    }
  }
}

Buka Cursor → Settings → MCP. Pelayan “weft” sepatutnya muncul dengan penunjuk hijau selepas anda melengkapkan OAuth.

Codex CLI

~/.codex/config.toml
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"

Jalankan `codex mcp login weft` untuk log masuk melalui pelayar, kemudian mulakan `codex` dan tanya: “apa yang ada di papan saya?”. `/mcp` menyenaraikan pelayan yang disambungkan beserta alatnya.

VS Code

Pasang sambungan Weft — atau konfigurasikannya secara manual:

.vscode/mcp.json
{
  "servers": {
    "weft": {
      "type": "http",
      "url": "https://letsweft.com/api/mcp"
    }
  }
}

Buka Chat, tukar pemilih mod kepada Agent, dan tanya: “apa yang ada di papan saya?”. Tetingkap pelayar dibuka untuk OAuth pada kali pertama. “MCP: List Servers” sepatutnya memaparkan weft sebagai Running.

Windsurf

  1. 1Buka Windsurf → Settings → Cascade → MCP servers.
  2. 2Klik “Add server” dan pilih Remote (HTTP).
  3. 3Tampal URL MCP Weft di bawah dan simpan.
  4. 4Lengkapkan OAuth dalam tetingkap pelayar yang dibuka.

Buka Cascade dan tanya: “apa yang ada di papan saya?”. Cascade menandakan jawapan yang menggunakan pelayan Weft.

Gemini CLI

bash
gemini extensions install https://github.com/AndreiFinogeev/weft-gemini-extension

Jalankan `gemini` dan tanya: “apa yang ada di papan weft saya?”. Pelayar dibuka untuk OAuth pada penggunaan pertama. `gemini extensions list` sepatutnya memaparkan “weft”.

Dibina untuk ejen, bukan hanya untuk anda

Tuntutan, bukan pertembungan

start_task meletakkan pajakan pada kad sebelum ejen mengerjakannya. Ejen kedua yang meminta kerja mendapat kad yang lain, dan kad yang ejennya senyap ditawarkan semula apabila pajakan tamat.

Kemajuan dan resit

report_progress mengekalkan tuntutan semasa ejen bekerja; complete_task menutup kad bersama apa yang telah dilakukan, apa yang tidak, dan pautan yang boleh anda semak.

Soalan menunggu anda

request_input meletakkan soalan dengan pilihan dalam Peti masuk anda — di web dan di telefon anda — dan bukannya membiarkan ejen meneka sesuatu yang hanya anda boleh putuskan.

Perhatian anda menentukan rentak

Apabila terlalu banyak kerja siap menunggu semakan anda, ejen berhenti memulakan kad baharu. Itulah had kanban pada kerja dalam proses, yang dikenakan pada anda.

Anda menentukan apa yang boleh dilakukan oleh setiap AI

Beri setiap pembantu yang disambungkan akses penuh, tulis atau baca sahaja, dan putuskan sambungannya dengan satu klik. Kad yang dipadam masuk ke Tong sampah, bukan terus lenyap.

Papan Weft pada telefon, lajur Doing: tiga tugas yang diambil oleh pembantu AI, setiap satu bertanda AI
Pembantu mengambil tugas seterusnya; setiap kad menunjukkan siapa yang sedang mengerjakannya.
Tugas Weft yang telah siap, dicipta oleh AI, dengan hasil yang direkodkan oleh pembantu: apa yang dibaikinya dan bahawa 40 larian ujian lulus
Apabila pembantu selesai, ia meninggalkan resit: apa yang dilakukannya dan bagaimana ia menyemaknya.

32 alat

Setiap alat mengisytiharkan sama ada ia hanya membaca, menulis, atau membuang sesuatu, supaya klien anda tahu bila perlu bertanya kepada anda dahulu.

AlatApa yang dilakukannyaJenis
searchCarian kata kunci merentasi tugas, sprint, keputusan dan nota memori. Memulangkan sehingga 50 hasil {id, title, url} yang disusun mengikut kedudukan, dan id berawalan jenisnya boleh diberikan kepada fetch.Baca
fetchDapatkan kandungan penuh satu hasil carian — tajuk, perwakilan teks, url sumber, dan metadata berstruktur. Menerima id berawalan yang dipulangkan oleh search.Baca
initialize_boardCipta lajur lalai Backlog, Todo, Doing dan Done pada papan Weft anda jika belum ada — persediaan satu panggilan sebelum ejen AI mengurus tugas. Idempoten.Tulis
get_board_stateMemulangkan taklimat ringkas tentang papan Scrumban pengguna: lajur, sprint aktif, Doing, tugas yang tertunggak dan yang baru ditutup, kira-kira 30x lebih kecil daripada petikan penuh.Baca
list_columnsSenaraikan semua lajur pada papan, mengikut susunan — id, nama dan kedudukan bagi setiap satu, supaya ejen tahu dengan tepat ke mana tugas boleh dipindahkan.Baca
list_tasksMemulangkan tugas bagi pengguna yang disahkan, secara pilihan ditapis mengikut lajur, sprint, projek (nama atau id), pencipta (manusia atau AI) atau penerima tugasan (pelaksana).Baca
create_taskCipta tugas baharu pada papan pengguna. Masuk ke Backlog jika tiada lajur ditetapkan. Keutamaan lalai ialah sederhana. Gunakan apabila pengguna meminta untuk menambah tugas.Tulis
bulk_create_tasksCipta sehingga 1000 tugas dalam satu panggilan atomik — import eksport Linear/Jira/Notion/Trello atau mana-mana senarai 3+ tugas, menggunakan hanya satu kuota panggilan AI.Tulis
update_taskTampal medan tugas sedia ada. Hanya medan yang anda hantar diubah; medan yang ditinggalkan dikekalkan — dengan satu pengecualian: mengosongkan requiresReview ditolak bagi ejen, dan penolakan itu membatalkan keseluruhan tampalan bersamanya.Tulis
move_taskPindahkan tugas ke lajur dan kedudukan lain. Memindahkan ke lajur dengan semantic='doing' memulakan penjejakan masa kitaran; memindahkan ke semantic='done' merekodkan masa siap.Tulis
start_taskAI memanggil ini sebaik sahaja ia mula melaksanakan tugas — kad berpindah ke Doing supaya pengguna dan setiap klien lain yang disambungkan melihatnya sedang berjalan (dan tidak mengambilnya dua kali). Memulakan penjejakan masa kitaran; tugas yang belum diserahkan dituntut oleh ejen yang memanggil (penerima tugasan sedia ada tidak pernah diganti). Tiada id lajur diperlukan.Tulis
report_progressNyatakan bahawa anda masih bekerja. Tuntutan pada tugas tamat tempoh jika klien senyap, dan ini memperbaharuinya. Tanpa denyutan, tugas yang berjalan lama dianggap ditinggalkan dan ditawarkan kepada orang lain — dengan sengaja, kerana ejen yang mati di tengah larian tidak melaporkan apa-apa, jadi kesenyapan ialah satu-satunya isyarat yang ada pada papan.Tulis
request_inputTanya orang itu sesuatu yang hanya mereka boleh putuskan, dan tunggu tanpa kehilangan tuntutan pada tugas. Jika mereka berada di klien mereka, borang muncul di situ dan jawapan kembali dalam panggilan yang sama — ejen meneruskan dalam konteks yang sama, dengan tuntutan yang sama. Jika mereka tiada, panggilan kembali dalam keadaan diletakkan dan soalan menunggu dalam baris gilir mereka; jawapan sampai kepada ejen pada start_task atau get_my_work seterusnya. Untuk perkara yang tidak boleh diundur dan yang benar-benar samar, bukan untuk "bolehkah saya teruskan?" — setiap soalan menggunakan bajet perhatian yang sama yang mengehadkan kerja baharu.Tulis
submit_answerMembawa kembali apa yang dikatakan oleh orang itu kepada soalan yang dibangkitkan oleh ejen, dan menyerahkan semula kerja dengan runId dan pajakan yang sama, supaya ia diteruskan dalam percubaan yang sama dan bukannya bermula semula dari kosong. Ditandakan sebagai disampaikan, tidak pernah sebagai tindakan orang itu sendiri — jawapan yang dibawa oleh ejen dan klik yang dibuat oleh manusia ialah jenis bukti yang berbeza, dan papan memisahkannya. Jika soalan itu sudah dijawab dalam aplikasi Weft, jawapan itu dipulangkan dan bukannya ralat: yang penting ialah ejen meneruskan dengan jawapan yang betul.Tulis
get_my_workTanya apa yang perlu dilakukan seterusnya dan bukannya membaca seluruh papan dan meneka. Memulangkan tugas yang diserahkan kepada klien ini, apa yang sudah menunggu manusia, dan sama ada baris gilir perhatian masih ada ruang. Ia juga menamakan apa yang tertunggak dan apa yang perlu siap atau bermula dalam minggu ini, supaya ejen mengetahui tentang tarikh akhir tanpa bertanya. Apabila baris gilir penuh, langkah yang berguna ialah membantu mengosongkannya, bukan memulakan sesuatu yang baharu — dan alat ini menyatakannya sebelum tugas dipilih.Baca
complete_taskAI memanggil ini apabila kerja benar-benar siap — kad berpindah ke Done dengan masa siap direkodkan, dan hasil pilihan (apa yang dilakukan, di mana hasilnya berada) ditambah pada kad sebagai nota "Outcome (AI, date)". Tiada id lajur diperlukan. Kerja yang ditandakan sebagai memerlukan anda TIDAK berpindah ke Done: ia masuk ke baris gilir anda dengan resit dilampirkan, dan jika ejen menyatakan apa yang akan dilakukannya seterusnya, menerima kerja itu meluluskan langkah itu sahaja dan menyerahkannya semula kepada ejen. Jika tugas membawa pelan pengesahan, pelayan menjalankan semakannya di sini juga — mengambil URL, mencari petikan, membandingkan hash: pelan executable/state_delta yang semua semakan menyekatnya lulus ditutup sebagai disahkan oleh pelayan; semakan menyekat yang gagal mengekalkan kad di luar Done dan menunjukkan kepada ejen apa yang diperhatikan oleh pelayan.Tulis
record_decisionSatu alat, dua kegunaan, satu jadual rekod. (1) Sampaikan keputusan yang anda berikan dalam perbualan tentang kerja siap yang menunggu anda — diluluskan, pulangkan, gugurkan, kemudian — yang mengeluarkan kad daripada baris gilir semakan; entri disimpan sebagai disampaikan dan bukan sebagai tindakan anda dalam aplikasi, dan perbezaan itu sengaja dikekalkan kelihatan. (2) Rekodkan keputusan tersendiri yang patut diingat — 'memilih Neon berbanding Supabase', pengajaran yang dipelajari — sebagai rekod MADR-lite yang tidak boleh diubah, bersama pilihan yang ditimbang dan syarat untuk menilainya semula. Rekod tidak pernah disunting: keputusan baharu dengan supersedesId menggantikan yang lama, dan yang lama kekal boleh dibaca seperti yang dinyatakan pada hari ia dibuat. Rekod inilah yang dihidangkan semula oleh get_context kepada setiap ejen minggu depan.Tulis
get_contextKeputusan dan pengajaran semasa ruang kerja, dimuatkan mengikut bajet token, yang terbaharu dahulu — apa yang patut dibaca oleh ejen sebelum memulakan apa-apa yang tidak remeh. Diterbitkan daripada keputusan yang direkodkan dan bukannya ditulis sebagai dokumen, jadi ia tidak boleh menjadi basi: keputusan yang telah diganti tercicir sebaik sahaja penggantinya direkodkan, dan setiap baris membawa tarikhnya. Hadkan skopnya kepada projek atau tugas untuk menyempitkannya; baris yang tidak muat dalam bajet dikira, tidak pernah disembunyikan secara senyap.Baca
get_task_historyApa yang berlaku kepada tugas, bukan sekadar medan semasanya. Tiga mod: 'summary' (lalai, ≤500 token — kad, resit terbarunya, kiraan), 'decisions' (setiap keputusan yang direkodkan tentangnya, termasuk keputusan semakan dan sebabnya — sebab kerja semula kekal di sini selepas penerimaan kemudian menimpa kad), 'full' (jurnal mentah, dihadkan kepada 100 peristiwa dan menyatakannya). Wujud kerana log audit terlalu berjela untuk dibaca terus, dan baris tugas hanya menyimpan keputusan terkini.Baca
trash_taskPindahkan tugas ke tong sampah dalam papan Weft anda. Boleh dipulihkan selama 30 hari melalui restore_task, selepas itu tugas berjadual memadamnya secara kekal.Membuang
restore_taskPulihkan tugas daripada tong sampah dalam tempoh 30 hari selepas ia dibuang. Tugas kembali ke papan di tempat asalnya, utuh sepenuhnya — supaya pengasas solo tidak pernah kehilangan kerja akibat pemadaman tidak sengaja.Tulis
archive_done_tasksKosongkan lajur Done: setiap tugas di dalamnya meninggalkan papan ke arkib — masih ditemui oleh search/fetch dan masih ditunjukkan dalam sejarah sprintnya, tidak pernah dipadam. Menyelesaikan sprint mengarkibkan tugas siap sprint itu secara automatik; alat ini mengendalikan selebihnya. Ia mengambil seluruh lajur dalam satu panggilan, tanpa kiraan dan tanpa jalan kembali dari permukaan MCP — restore_task memulihkan daripada tong sampah, bukan daripada arkib — itulah sebabnya ia ditandakan sebagai destruktif: klien patut mengesahkan dengan pengguna sebelum memanggilnya.Membuang
list_projectsSenaraikan projek papan — konteks ringan (syarikat permulaan, klien, peribadi) yang boleh menjadi milik sesuatu tugas. Projek yang diarkibkan dikecualikan melainkan includeArchived ditetapkan.Baca
create_projectCipta konteks projek. Nama adalah unik bagi setiap papan; warna lalai dipilih daripada palet bergilir; url ialah laman web projek, yang favicon-nya ditunjukkan pada kad tugas.Tulis
update_projectNamakan semula projek, tukar warna atau url laman webnya, atau arkibkan/nyaharkibkan. Projek yang diarkibkan hilang daripada pemilih; tugasnya mengekalkan perkaitan itu.Tulis
list_sprintsSenaraikan semua sprint (dirancang, aktif, selesai, diarkibkan) bagi pengguna, supaya pengasas solo atau ejen boleh menyemak sejarah sprint dan status semasa tanpa membuka aplikasi.Baca
get_active_sprintMemulangkan sprint yang sedang aktif, atau null jika tiada sprint berjalan — supaya pengasas solo atau ejen boleh menyemak matlamat semasa tanpa membuka aplikasi.Baca
create_sprintCipta sprint baharu dengan status "planned" untuk papan Weft anda, sedia dijadualkan dengan matlamat dan tarikh. Gunakan start_sprint secara berasingan apabila sedia untuk mula bekerja.Tulis
start_sprintTukar sprint yang dirancang kepada status aktif. Hanya satu sprint boleh aktif pada satu masa, pada setiap pelan — jika sprint lain sedang berjalan, panggilan gagal dan menamakannya; selesaikan sprint itu dahulu, kemudian cuba lagi.Tulis
complete_sprintSelesaikan sprint aktif. Tugasnya yang siap diarkibkan ke dalam sejarah sprint — keluar dari lajur Done papan, masih boleh dicari dan ditunjukkan pada halaman sprint. Tugas yang belum siap kekal di papan, dilampirkan pada sprint. Tidak boleh dibuat asal melalui MCP — klien patut mengesahkan apabila niat tidak jelas.Membuang
add_task_to_sprintSerahkan tugas sedia ada kepada sprint supaya ia muncul dalam skop dan carta burndown sprint itu. Idempoten — memanggil dua kali tiada kesan tambahan, jadi selamat untuk dicuba semula.Tulis
remove_task_from_sprintTanggalkan tugas daripada sprint semasanya tanpa memadamnya — tugas kekal di papan dalam lajurnya, cuma tidak lagi dalam skop sprint itu atau carta burndown-nya.Tulis

Soalan

Apakah pelayan MCP kanban?

Pelayan MCP (Model Context Protocol) yang mendedahkan papan kanban sebagai alat yang boleh dipanggil oleh pembantu AI: menyenaraikan lajur, membaca kad, mencipta kad, memindahkannya ke Doing atau Done. Pelayan Weft dihoskan, jadi anda menambah URL dan bukannya menjalankan proses pada mesin anda.

Adakah saya perlu memasang atau menjalankan apa-apa?

Tidak. Tambah https://letsweft.com/api/mcp ke klien AI anda dan log masuk dengan OAuth. Klien tanpa OAuth menggunakan token akses peribadi daripada Tetapan → Token akses.

Adakah ia percuma?

Ya, untuk 50 tugas dan 200 panggilan AI sebulan. Pro membuang had itu dengan harga $7 sekerusi sebulan, atau $60 sekerusi setahun.

Adakah ia berfungsi dengan ChatGPT Free?

Ya. Weft ada dalam Plugin directory ChatGPT dan berfungsi pada setiap pelan ChatGPT, termasuk Free. Menambah URL MCP mentah dalam ChatGPT ialah ciri Business, Enterprise dan Edu, tetapi anda tidak memerlukannya untuk Weft.

Bolehkah dua ejen berkongsi satu papan?

Ya — itulah tujuan papan ini. Setiap ejen menuntut kad dengan start_task sebelum mengerjakannya, jadi mereka tidak mengambil kad yang sama, dan setiap kad menunjukkan sama ada AI atau manusia yang mencipta atau menyiapkannya.

Apakah bezanya dengan pelayan MCP kanban tempatan?

Pelayan MCP kanban sumber terbuka berjalan pada mesin anda dan menyimpan papan dalam fail atau pangkalan data tempatan, jadi hanya ejen pada mesin itu yang melihatnya. Weft ialah papan kongsi yang dihoskan: kad yang sama dalam ChatGPT, Claude, Cursor, Codex, aplikasi web dan aplikasi iOS serta Android, untuk anda dan pasukan anda.

Berkaitan