ChatGPT、Claude、Cursor、Codex 向けのカンバン MCP サーバー

Weft 創業者 Andrei Finogeev ·

Weft はホスト型のカンバンボード(Backlog、Todo、Doing、Done に、任意でスプリント)で、その MCP サーバーは https://letsweft.com/api/mcp にあります。この URL を AI クライアントに追加し、OAuth で一度サインインするだけです。ローカルにインストールしたり動かしたりするものはありません。それ以降、アシスタントはボードを読み、カードを作って動かし、2体のエージェントが同じカードを取らないよう作業前にカードを確保し、進捗を報告し、判断があなたのものなら質問し、何をしたかを添えてカードを閉じます。タスク50件と月200回の AI 呼び出しまで無料です。

MCP サーバーの URL
https://letsweft.com/api/mcp

Streamable HTTP · OAuth または個人アクセストークン · 32 ツール

AI クライアントに追加する

ChatGPT

ChatGPT で Weft を開く — または手動で設定:

  1. 1ChatGPT のサイドバーで Plugins を開きます — または Settings → Plugins。
  2. 2「Weft」を検索して掲載ページを開きます。
  3. 3「Connect」をクリックし、Weft が何にアクセスできるかを確認します。
  4. 4開いたポップアップで Weft のアカウントにログインします。

どのチャットでも @ で呼び出します:「@Weft ボードに何がある?」——または + メニューから Weft を選びます。設定を飛ばしていた場合は、ChatGPT がその場で接続を提案します。

Claude Desktop

  1. 1Claude Desktop を開き、Settings → Connectors へ。
  2. 2「Add custom connector」をクリックします。
  3. 3下の Weft の MCP URL を貼り付けて保存します。
  4. 4開いたブラウザで OAuth を完了します。

新しいチャットを開いて「Weft のボードに何がある?」と聞いてください。Claude が Weft コネクタ経由でボードの状態を取得します。

Claude Code

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

任意のプロジェクトで `claude` を実行し、「ボードに何がある?」と聞いてください。初回はブラウザが開いて OAuth を完了します。

Cursor

Cursor に追加 — または手動で設定:

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

Cursor を開き、Settings → MCP へ。OAuth を終えると「weft」サーバーが緑の表示で現れます。

Codex CLI

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

`codex mcp login weft` を実行してブラウザでサインインし、`codex` を起動して「ボードに何がある?」と聞いてください。`/mcp` で接続中のサーバーとそのツールを一覧できます。

VS Code

Weft 拡張機能をインストール — または手動で設定:

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

チャットを開き、モードを Agent に切り替えて「ボードに何がある?」と聞いてください。初回はブラウザが開いて OAuth になります。「MCP: List Servers」で weft が Running と表示されるはずです。

Windsurf

  1. 1Windsurf を開き、Settings → Cascade → MCP servers へ。
  2. 2「Add server」をクリックし、Remote (HTTP) を選びます。
  3. 3下の Weft の MCP URL を貼り付けて保存します。
  4. 4開いたブラウザで OAuth を完了します。

Cascade を開いて「ボードに何がある?」と聞いてください。Weft のサーバーを使った応答には、その旨の印が付きます。

Gemini CLI

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

`gemini` を実行して「weft のボードに何がある?」と聞いてください。初回はブラウザが開いて OAuth を行います。`gemini extensions list` に「weft」が表示されるはずです。

あなただけでなく、エージェントのために作られています

衝突ではなく確保

start_task は、エージェントが作業する前にカードにリースをかけます。仕事を求めた2体目のエージェントには別のカードが渡り、エージェントが黙り込んだカードはリースが切れるとまた差し出されます。

進捗と完了レポート

report_progress はエージェントの作業中に確保を保ち、complete_task は、やったこと、やらなかったこと、確認できるリンクを添えてカードを閉じます。

質問はあなたを待ちます

request_input は、あなたにしか決められないことをエージェントに推測させる代わりに、選択肢付きの質問をあなたのインボックスに入れます。ウェブでもスマートフォンでも届きます。

ペースを決めるのはあなたの注意力

あなたのレビューを待つ完了済みの仕事がたまりすぎると、エージェントは新しいカードに着手しなくなります。カンバンの仕掛かり(WIP)制限を、あなたに当てはめたものです。

各 AI に何を許すかはあなたが決める

接続した各アシスタントに、フル、書き込み、読み取り専用のいずれかの権限を与え、ワンクリックで接続を切れます。削除したカードはいきなり消えるのではなく、ゴミ箱に入ります。

スマートフォンの Weft ボード、Doing カラム:AI アシスタントが引き受けた3つのタスク。それぞれに AI の印
アシスタントが次のタスクを引き受けます。どのカードにも、誰が作業中かが表示されます。
AI が作成し、完了した Weft のタスク。アシスタントが記録した成果として、何を直したかと、40回のテスト実行が通ったことが書かれている
アシスタントは作業を終えると完了レポートを残します。何をしたか、どう確かめたかです。

32 のツール

どのツールも、読み取るだけか、書き込むか、何かを取り除くかを宣言しているので、クライアントはいつ先にあなたに確認すべきかがわかります。

ツールできること種類
searchタスク、スプリント、決定、メモリーのメモをキーワードで横断検索します。順位付きの {id, title, url} の結果を最大50件返し、種類の接頭辞が付いた id はそのまま fetch に渡せます。読み取り
fetch検索結果ひとつの全内容(タイトル、テキスト表現、出典 URL、構造化メタデータ)を取得します。search が返した接頭辞付きの id を受け取ります。読み取り
initialize_boardWeft のボードにカラムがなければ、標準の Backlog、Todo、Doing、Done カラムを作成します。AI エージェントがタスクを管理する前の、1回の呼び出しで済むセットアップです。何度呼んでも結果は同じです。書き込み
get_board_stateユーザーの Scrumban ボードの要点(カラム、進行中のスプリント、Doing、期限切れのタスク、最近閉じたもの)を返します。完全なスナップショットの約30分の1の大きさです。読み取り
list_columnsボードのすべてのカラムを順番に一覧表示します。それぞれの id、名前、位置を返すので、エージェントはタスクをどこへ動かせるかを正確に把握できます。読み取り
list_tasks認証済みユーザーのタスクを返します。カラム、スプリント、プロジェクト(名前または id)、作成者(人か AI か)、担当者(実行者)で絞り込めます。読み取り
create_taskユーザーのボードに新しいタスクを作成します。カラムを指定しなければ Backlog に入ります。優先度の標準は medium です。ユーザーがタスクの追加を頼んだときに使います。書き込み
bulk_create_tasks1回のアトミックな呼び出しで最大1000件のタスクを作成します。Linear/Jira/Notion/Trello のエクスポートや3件以上のタスクのリストを取り込み、AI 呼び出しの枠は1回分しか使いません。書き込み
update_task既存のタスクのフィールドを部分的に更新します。渡したフィールドだけが変わり、省略したフィールドはそのまま残ります。ただし例外がひとつあり、エージェントが requiresReview を外そうとすると拒否され、その拒否は更新全体に及びます。書き込み
move_taskタスクを別のカラムと位置に移動します。semantic='doing' のカラムに移すとサイクルタイムの計測が始まり、semantic='done' に移すと完了時刻が記録されます。書き込み
start_taskAI はタスクの実行を始めた瞬間にこれを呼びます。カードが Doing に移るので、ユーザーとほかのすべての接続中クライアントに進行中であることが見え、二重に拾われません。サイクルタイムの計測を始め、担当者のいないタスクは呼び出したエージェントが確保します(既存の担当者が上書きされることはありません)。カラムの id は不要です。書き込み
report_progressまだ作業中であることを伝えます。タスクの確保はクライアントが黙ると期限切れになり、これがそれを更新します。生存の合図がなければ、長時間かかるタスクは放棄されたとみなされ、ほかの誰かに差し出されます。これは意図的なものです。途中で落ちたエージェントは何も報告できないので、沈黙がボードにとって唯一の手がかりなのです。書き込み
request_inputその人にしか決められないことを尋ね、タスクの確保を失わずに待ちます。相手がクライアントの前にいれば、そこにフォームが表示され、答えは同じ呼び出しの中で返ってきます。エージェントは同じ文脈、同じ確保のまま作業を続けます。相手が不在なら、呼び出しは保留として返り、質問は相手のキューで待ちます。答えはエージェントの次の start_task か get_my_work で届きます。取り返しのつかないことや本当にあいまいなことのためのもので、「続けてもいいですか?」のためではありません。質問はどれも、新しい仕事を制限するのと同じ注意力の予算を使います。書き込み
submit_answerエージェントが投げた質問への本人の答えを持ち帰り、同じ runId とリースのまま仕事を返します。そのため、ゼロから始め直すのではなく同じ試行の中で続けられます。記録は「中継」であり、本人が操作したものとはされません。エージェントが運んだ答えと人がクリックしたものは別種の証拠で、ボードはそれを区別して残します。質問がすでに Weft アプリで答えられていれば、エラーではなくその答えが返ります。大事なのは、エージェントが正しい答えで続けることです。書き込み
get_my_workボード全体を読んで推測する代わりに、次に何をすべきかを尋ねます。このクライアントに割り当てられたタスク、すでに人の判断を待っているもの、注意力のキューに空きがあるかを返します。期限切れのものと、今週中に期限や開始日を迎えるものも示すので、エージェントは尋ねなくても締め切りを知ることができます。キューがいっぱいなら、新しいことを始めるよりキューの消化を手伝うのが有益で、タスクを選ぶ前にそう伝えます。読み取り
complete_taskAI は仕事が本当に終わったときにこれを呼びます。カードは完了時刻が記録されて Done に移り、任意の outcome(何をしたか、結果がどこにあるか)が「Outcome (AI, date)」のメモとしてカードに追記されます。カラムの id は不要です。あなたの確認が必要とされた仕事は Done には移らず、完了レポートを添えてあなたのキューに入ります。エージェントが次に何をするかを書いていれば、承認するとまさにその一歩が承認され、エージェントに戻されます。タスクに検証計画があれば、サーバーがその場でチェックを実行します。URL を取得し、引用を探し、ハッシュを照合します。ブロッキングのチェックがすべて通った executable/state_delta の計画はサーバーの検証済みとして閉じられ、ブロッキングのチェックが失敗するとカードは Done に入らず、サーバーが観測した内容がエージェントに示されます。書き込み
record_decisionひとつのツールに2つの用途、記録先はひとつの表です。(1) あなたを待つ完了済みの仕事について、会話の中であなたが下した判断(承認、差し戻し、取りやめ、あとで)を中継し、カードをレビューキューから外します。記録は、アプリであなたが操作したものではなく中継として保存され、その違いは意図的に見える形で残されます。(2) 覚えておく価値のある単独の決定(「Supabase ではなく Neon を選んだ」、得られた教訓)を、比較した選択肢と見直す条件を添えて、変更不可の MADR-lite 形式の記録として残します。記録が編集されることはありません。supersedesId を付けた新しい決定が古いものを置き換え、古いものは、決めた当日に何と書かれていたかとして読めるまま残ります。get_context が翌週すべてのエージェントに返すのは、これらの記録です。書き込み
get_contextワークスペースで有効な決定と教訓を、トークンの予算内に収めて新しい順に返します。エージェントが些細でない作業を始める前に読むべきものです。文書として書かれたものではなく記録された決定から導かれるので、古びることがありません。置き換えられた決定は、置き換える決定が記録された瞬間に外れ、どの行にも日付が付いています。プロジェクトやタスクに絞ることもできます。予算に収まらない行は数が示され、黙って隠されることはありません。読み取り
get_task_historyタスクの現在のフィールドだけでなく、タスクに何が起きたかを返します。モードは3つです。'summary'(標準、500トークン以下。カード、最新の完了レポート、件数)、'decisions'(判断とその理由を含め、タスクについて記録されたすべての決定。後の承認でカードが上書きされても、やり直しの理由はここに残ります)、'full'(生の履歴。100件までで、上限に達したことも示します)。監査ログは直接読むには冗長すぎ、タスクの行には最新の判断しか残らないために用意されています。読み取り
trash_taskWeft のボードのタスクをゴミ箱に移します。30日間は restore_task で復元でき、その後は定期ジョブが完全に削除します。削除
restore_taskゴミ箱に入れてから30日以内のタスクを復元します。タスクは元の場所に、欠けることなくボードに戻ります。ひとり創業者がうっかり削除で仕事を失うことはありません。書き込み
archive_done_tasksDone カラムを片づけます。そこにあるタスクはすべてボードを離れてアーカイブに入ります。search/fetch では引き続き見つかり、スプリントの履歴にも表示され、削除されることはありません。スプリントを完了すると、そのスプリントの完了済みタスクは自動でアーカイブされ、これは残りを処理します。1回の呼び出しでカラム全体を対象にし、件数の指定はなく、MCP から元に戻す手段もありません(restore_task が復元するのはゴミ箱からで、アーカイブからではありません)。そのため破壊的と示されており、クライアントは呼び出す前にユーザーに確認すべきです。削除
list_projectsボードのプロジェクトを一覧表示します。プロジェクトとは、タスクが属せる軽い文脈(スタートアップ、クライアント、個人)です。includeArchived を指定しない限り、アーカイブ済みのプロジェクトは含みません。読み取り
create_projectプロジェクトの文脈を作成します。名前はボードごとに一意です。色の標準はパレットから順番に選ばれ、url はプロジェクトのウェブサイトで、そのファビコンがタスクカードに表示されます。書き込み
update_projectプロジェクトの名前、色、ウェブサイトの url を変更したり、アーカイブ/アーカイブ解除したりします。アーカイブしたプロジェクトは選択肢から消えますが、そのタスクとの関連は残ります。書き込み
list_sprintsユーザーのすべてのスプリント(計画中、進行中、完了、アーカイブ済み)を一覧表示します。ひとり創業者やエージェントは、アプリを開かずにスプリントの履歴と現状を確認できます。読み取り
get_active_sprint現在進行中のスプリントを返し、なければ null を返します。ひとり創業者やエージェントは、アプリを開かずに今のゴールを確認できます。読み取り
create_sprintWeft のボードに「計画中」ステータスの新しいスプリントを作成し、ゴールと日付を決めて予定に組めるようにします。作業を始める準備ができたら、別途 start_sprint を使います。書き込み
start_sprint計画中のスプリントを進行中にします。どのプランでも、同時に進行中にできるスプリントはひとつです。別のスプリントが進行中なら、呼び出しは失敗してそのスプリントの名前を示します。先にそれを完了してから、やり直してください。書き込み
complete_sprint進行中のスプリントを終えます。完了済みのタスクはスプリントの履歴にアーカイブされ、ボードの Done カラムからは外れますが、検索でき、スプリントのページに表示されます。未完了のタスクはスプリントに紐づいたままボードに残ります。MCP からは元に戻せないため、意図があいまいなときはクライアントが確認すべきです。削除
add_task_to_sprint既存のタスクをスプリントに割り当て、そのスプリントの範囲とバーンダウンに表示されるようにします。何度呼んでも結果は同じなので、安全にやり直せます。書き込み
remove_task_from_sprintタスクを削除せずに、現在のスプリントから外します。タスクはカラムに置かれたままボードに残り、そのスプリントの範囲やバーンダウンの対象から外れるだけです。書き込み

よくある質問

カンバン MCP サーバーとは何ですか?

カンバンボードを、AI アシスタントが呼び出せるツールとして公開する MCP(Model Context Protocol)サーバーです。カラムを一覧表示する、カードを読む、カードを作る、Doing や Done に動かす、といった操作ができます。Weft のものはホスト型なので、マシン上でプロセスを動かす代わりに URL を追加するだけです。

何かをインストールしたり動かしたりする必要はありますか?

いいえ。AI クライアントに https://letsweft.com/api/mcp を追加し、OAuth でサインインしてください。OAuth に対応していないクライアントは、設定 → アクセストークン で発行する個人アクセストークンを使います。

無料ですか?

はい、タスク50件と月200回の AI 呼び出しまでは無料です。Pro は1席あたり月 $7、または1席あたり年 $60 で制限がなくなります。

ChatGPT Free でも使えますか?

はい。Weft は ChatGPT の Plugin directory に掲載されており、Free を含むすべての ChatGPT プランで使えます。ChatGPT で MCP の URL をそのまま追加するのは Business、Enterprise、Edu の機能ですが、Weft には必要ありません。

2体のエージェントでひとつのボードを共有できますか?

はい。ボードはまさにそのためのものです。各エージェントは作業前に start_task でカードを確保するので同じカードを拾うことはなく、どのカードにも、作成したのか完了したのかが AI か人かが表示されます。

ローカルのカンバン MCP サーバーとは何が違いますか?

オープンソースのカンバン MCP サーバーはあなたのマシンで動き、ボードをローカルのファイルやデータベースに保存するので、見えるのはそのマシン上のエージェントだけです。Weft は共有のホスト型ボードで、ChatGPT、Claude、Cursor、Codex、ウェブアプリ、iOS と Android のアプリで、あなたにもチームにも同じカードが見えます。

関連記事