Skip to content

Linear MCPでタスク管理と開発を連動させる

LinearはモダンなProject Management(PM)ツールです。Linear MCPをClaude Codeに接続することで、タスク管理と開発が一体化します。

  • Linearのタスク(Issue)一覧を取得して作業順序を決める
  • タスクの仕様・詳細を読みながら実装
  • 実装完了後にタスクのステータスを自動更新
  • タスクにコメントを追加(実装メモ・質問)
  • サイクル(スプリント)の管理
MCP: Model Context Protocol の略。Claude Codeと外部ツール(GitHub・Supabaseなど)を接続するための標準プロトコル。
  1. LinearにログインしてSettings(⌘/Ctrl+,)
  2. 「API」セクション → 「Personal API keys」
  3. 「Create key」でキーを生成
  4. キーをコピー(lin_api_xxxxxxxx の形式)
~/.claude/settings.json
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@linearapp/mcp"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}
Terminal window
# .bashrc または .zshrc に追加
export LINEAR_API_KEY="lin_api_xxxxxxxxxxxxxxxx"
Terminal window
claude
/mcp
APIキー: APIを利用するための認証情報。外部に漏れると不正利用されるため厳重に管理が必要。API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。
「Linearで自分にアサインされているタスクを確認してください。
- ステータス: In Progress または Todo
- 優先度: 高・中
今日取り組むべきタスクを優先度順に3つ教えてください。」

タスクの仕様を読んで実装する

Section titled “タスクの仕様を読んで実装する”
「LinearのタスクID: ENG-123 を確認して、実装してください。
実装が完了したら:
1. ENG-123 のステータスを 'In Review' に更新
2. ENG-123 にコメント: 'PR #[番号] で対応しました'」

スプリントのタスクを一括処理する

Section titled “スプリントのタスクを一括処理する”
「現在のスプリントのタスク一覧を確認して、
ステータスが 'Todo' のものから優先度順に作業を始めます。
まず一覧を表示して、次に進める順番を提案してください。」

バグ報告をLinearのタスクに起票する

Section titled “バグ報告をLinearのタスクに起票する”
「以下のバグを発見しました。Linearにバグレポートを作成してください。
タイトル: ログアウト後にセッションが残る
説明:
再現手順: ログイン → ログアウト → ブラウザバック
期待動作: ログインページに戻る
実際の動作: ログイン済みのダッシュボードが表示される
優先度: 高
チーム: Engineering
ラベル: bug, auth」

GitHub MCPと組み合わせるパターン

Section titled “GitHub MCPと組み合わせるパターン”

LinearとGitHubを組み合わせると、タスクからPRまでのフローが自動化できます。

「Linear の ENG-456 を確認して:
1. タスクの内容を読む
2. 対応するGitブランチを作成(feature/ENG-456-[タスク名])
3. 実装する
4. GitHubにPRを作成
- PRタイトル: [ENG-456] [タスク名]
- PRの説明にLinearのタスクIDを含める
5. LinearのタスクステータスをIn Reviewに更新
6. LinearのタスクにPRのURLをコメント」
ブランチ: Gitでコードの変更履歴を分岐させる仕組み。本番コードに影響を与えずに新機能を開発できる。

Claude Codeと組み合わせるときに効果的なタスクの書き方です。

## 実装内容
ユーザーがパスワードを変更できるAPIを実装する
## 受け入れ条件
- [ ] PUT /api/users/password エンドポイントを実装
- [ ] 現在のパスワードの検証を行う
- [ ] 新しいパスワードは8文字以上
- [ ] 変更後は既存のセッションを無効化
- [ ] テストを追加(正常系・異常系)
## 参考
- 既存の認証実装: src/api/auth.ts
- パスワードハッシュ: bcrypt を使用

この形式で書いておくと、Claudeがタスクを読んだときに「何を実装すべきか」「完了の基準は何か」が明確になります。

エンドポイント: APIにアクセスするためのURL。例: `/api/users` や `/api/posts/123` など。

Linearのタスクを大量に一度に取得すると、コンテキストを多く消費します。「今日のタスク」「特定のラベルのタスク」など、絞り込みを指定して取得することをお勧めします。

ClaudeがLinearのタスクステータスを自動更新するとき、意図しない変更が起きないよう、更新前に確認するプロンプトを使いましょう。

「実装が完了したら、ステータスを更新する前に私に確認してください。」

Linearはチームで使うツールです。Claudeがコメントを追加したりステータスを変更したりすると、チームメンバーに通知が飛びます。不要な通知をチームに送らないよう、意図した操作かどうかを確認してから実行させましょう。

CLAUDE.md: プロジェクトのルートに置くClaude Code専用の設定ファイル。プロジェクト固有のルールやコンテキストを記述する。コンテキスト: Claudeが一度に記憶・参照できる会話・コードの範囲。上限を超えると古い情報が失われる。プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。