MCP(AI連携)ガイド
MCPとは
MCP(Model Context Protocol)は、AI のチャットから AgentPM を直接操作するための決まりごとです。つなぐと、話しかけるだけでタスクの作成・更新、会議の管理、レビュー操作ができます。
つなぎ方は2つあります。ふつうは「外部チャットからつなぐ」を使ってください。
| つなぎ方 |
向いている相手 |
入れるもの |
| 外部チャットからつなぐ(推奨) |
ChatGPT・Claude のウェブ版・Cursor・VS Code など |
URL を1本貼るだけ |
| 手元のパソコンで動かす |
Claude Code(開発者向け) |
Node.js と鍵の設定 |
外部チャットからつなぐ(推奨)
AgentPM のサーバーに接続先が用意してあるので、インストールは要りません。
接続先
https://agentpm.app/api/mcp
ChatGPT の場合
- ChatGPT の設定 → コネクタ → 開発者モードを有効にする(Plus・Pro・Business などのプランが必要)
- 「カスタムコネクタを追加」に上の URL を貼る
- AgentPM のログイン画面が出るので、ログインする
- 許可の画面で、つなぐ組織とできることの範囲を選んで「許可する」
許可する範囲
| 選択肢 |
できること |
| 見るだけ |
タスク・会議・議事録・Wiki を読む |
| 見る+書く |
上に加えて、タスクの作成・更新・ボール渡し |
どちらを選んでも、削除・一括変更・承認はできません。 承認は責任者本人の行為なので、外部のチャットには任せない作りにしています。
接続の確認と解除
設定 → 外部チャットとの接続(/settings/connections)で、いま何がつながっているかを見られます。心当たりのない接続はここで解除してください。組織のオーナーは、その組織の全員分が見えます。
つなげる数
| プラン |
同時につなげる数 |
| フリー |
2件まで |
| Pro・Enterprise |
無制限 |
リモートMCPはフリーでも使えます。 上限に当たったら、使っていない接続を解除すれば新しくつなげます。すでにつないである接続は、プランが下がっても切れません。
注意
- 相手先・協力会社のアカウントからは接続できません(社内メンバー専用)
- 1つの接続で見られるのは、選んだ1つの組織だけです。複数の組織を使うなら、つなぎ先でもう1つ接続を作ってください
手元のパソコンで動かす(Claude Code 向け)
つなぐとできること
| 項目 |
説明 |
| 作業の自動化 |
AIがタスク作成・更新を直接実行。画面操作不要 |
| 一括操作 |
複数タスクの一括作成、ステータス変更など |
| 状況把握 |
「今クライアント待ちのタスクは?」などの質問に即回答 |
| 議事録処理 |
会議の議事録からタスクを自動生成 |
| 監査証跡 |
AI経由の操作もすべてアクティビティログに記録 |
セットアップ
1. APIキーの取得
- プロジェクト設定 → API設定を開く(admin権限が必要)
- 「新規APIキーを発行」をクリック
- スコープを選択:
space — 特定プロジェクトのみ操作可能
user — 自分が所属する全プロジェクトを横断操作可能
- 発行されたAPIキーを安全に保存する
注意: APIキーは発行時のみ表示されます。紛失した場合は再発行が必要です。
2. Claude Code への接続設定
claude_desktop_config.json またはプロジェクトの .mcp.json に以下を追加します:
{
"mcpServers": {
"taskapp": {
"command": "node",
"args": ["packages/mcp-server/dist/index.js"],
"env": {
"TASKAPP_API_KEY": "your-api-key-here",
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_KEY": "your-service-key"
}
}
}
}
3. 接続確認
Claude Code で以下のように聞いてみてください:
AgentPMのプロジェクト一覧を表示して
プロジェクト名の一覧が返ってくれば接続成功です。
利用可能なツール一覧
タスク管理ツール
| ツール名 |
説明 |
task_create |
タスクを新規作成 |
task_update |
タスクを更新(指定フィールドのみ) |
task_list |
スペース内のタスク一覧を取得 |
task_get |
タスクの詳細と担当者を取得 |
task_delete |
タスクを削除(安全確認付き) |
task_import |
CSVからタスクを一括作成(既定は確認のみ。agentpm task import の実体) |
task_update の wikiPageId |
タスクに Wiki ページを紐づける(画面の「仕様書連携」) |
task_list_my |
全スペース横断で自分のタスクを取得 |
ボール管理ツール
| ツール名 |
説明 |
ball_pass |
ボールの所有権を移動 |
ball_query |
ボール所有者でタスクをフィルタ |
dashboard_get |
ダッシュボード情報(統計・待ちタスク)を取得 |
会議管理ツール
| ツール名 |
説明 |
meeting_create |
新しい会議を作成 |
meeting_start |
会議を開始(planned → in_progress) |
meeting_end |
会議を終了(自動サマリー生成) |
meeting_list |
会議一覧を取得 |
meeting_get |
会議の詳細と参加者を取得 |
議事録ツール
| ツール名 |
説明 |
minutes_get |
会議の議事録を取得 |
minutes_update |
議事録を更新(上書き) |
minutes_append |
議事録に追記 |
レビューツール
| ツール名 |
説明 |
review_open |
タスクのレビューを開始(レビュアー指定) |
review_approve |
レビューを承認 |
review_block |
レビューをブロック(変更依頼、理由必須) |
review_cancel |
レビューを取り消し(承認待ち・差し戻しのみ。依頼者・space admin・org owner) |
review_list |
レビュー一覧を取得 |
review_get |
レビュー詳細と各レビュアーの状態を取得 |
マイルストーンツール
| ツール名 |
説明 |
milestone_create |
マイルストーンを作成 |
milestone_update |
マイルストーンを更新 |
milestone_delete |
マイルストーンを削除 |
milestone_list |
マイルストーン一覧を取得 |
milestone_get |
マイルストーンの詳細を取得 |
クライアント管理ツール
| ツール名 |
説明 |
client_invite_create |
招待を作成(role=client 相手先/role=member 社内メンバー)。招待リンクを返す・メールは送らない |
client_invite_bulk_create |
クライアントを一括招待(最大50件) |
client_list |
クライアント一覧を取得 |
client_get |
クライアントの詳細を取得 |
client_update |
クライアントのロールを更新 |
client_add_to_space |
既存クライアントを別プロジェクトに追加 |
client_invite_list |
招待一覧を取得(ステータスフィルタ可) |
client_invite_resend |
招待を再送 |
プロジェクト管理ツール
| ツール名 |
説明 |
space_list |
プロジェクト一覧を取得 |
space_get |
プロジェクトの詳細を取得 |
space_create |
プロジェクトを作成 |
space_update |
プロジェクトを更新 |
ファイルツール
| ツール名 |
説明 |
file_list |
添付ファイル一覧(名前・説明文・種類・サイズ) |
file_update |
ファイルの説明文(何のファイルか)や表示名を更新 |
file_upload_url |
アップロード開始(署名URLを発行) |
file_upload_complete |
アップロード完了を確定 |
Wikiツール
wiki_create / wiki_update の本文は Markdown / HTML / BlockNote JSON を受け、保存時に画面と同じブロック形式へ変換する(format で明示可)。
| ツール名 |
説明 |
wiki_list |
Wikiページ一覧を取得 |
wiki_get |
Wikiページの詳細(本文含む)を取得 |
wiki_create |
Wikiページを作成 |
wiki_update |
Wikiページを更新(バージョン履歴自動保存) |
wiki_delete |
Wikiページを削除 |
wiki_versions |
バージョン履歴を取得 |
アクティビティツール
| ツール名 |
説明 |
activity_search |
データの変更履歴(誰が・いつ・どの経路で・何を変えたか)を検索 |
activity_entity_history |
1つの行(タスク・Wikiページ等)の変更履歴を取得 |
会話例:日常業務
例1: 朝の状況確認
あなた: 今日のダッシュボード情報を見せて
Claude: dashboard_get を実行します。
現在のプロジェクト状況:
- 全タスク: 47件
- 進行中: 12件
- レビュー中: 3件
- クライアント待ち: 5件
- 検討中(considering): 2件
- 完了: 25件
クライアント待ちタスク(早急に対応が必要):
1. 「トップページデザイン承認」 - 期限: 2/15
2. 「API仕様の最終確認」 - 期限: 2/14
3. 「ロゴデータの提供」 - 期限なし
4. 「利用規約の確認」 - 期限: 2/18
5. 「テスト環境の確認」 - 期限: 2/20
例2: タスクの一括作成
あなた: 次のスプリントのタスクを作って。
- LP改修(フロント、担当: 田中、2/20まで)
- API認証バグ修正(バック、担当: 鈴木、2/18まで)
- E2Eテスト追加(QA、担当: 佐藤、2/22まで)
Claude: 3件のタスクを作成します。
task_create を3回実行:
1. ✅「LP改修」作成完了
- ステータス: todo、ボール: internal、期限: 2/20
- 担当者: 田中
2. ✅「API認証バグ修正」作成完了
- ステータス: todo、ボール: internal、期限: 2/18
- 担当者: 鈴木
3. ✅「E2Eテスト追加」作成完了
- ステータス: todo、ボール: internal、期限: 2/22
- 担当者: 佐藤
3件すべて作成しました。
例3: ボールの移動
あなた: 「トップページデザイン」のタスクをクライアントに渡して。
理由は「デザインカンプが完成したので確認をお願いします」で。
Claude: ball_pass を実行します。
✅ ボールを移動しました:
- タスク: トップページデザイン
- internal → client
- 理由: デザインカンプが完成したので確認をお願いします
- クライアント担当: 山田様、中村様(通知済み)
例4: クライアント待ちタスクの確認
あなた: クライアントにボールがあるタスクを全部見せて
Claude: ball_query を実行します(ball=client)。
クライアント待ちタスク(5件):
| # | タスク | クライアント担当 | 期限 | 経過日数 |
|---|--------|--------------|------|---------|
| 1 | トップページデザイン承認 | 山田様 | 2/15 | 3日 |
| 2 | API仕様の最終確認 | 中村様 | 2/14 | 5日 |
| 3 | ロゴデータの提供 | 山田様 | なし | 10日 |
| 4 | 利用規約の確認 | 佐藤様 | 2/18 | 1日 |
| 5 | テスト環境の確認 | 中村様 | 2/20 | 0日 |
#2 と #3 は期限超過/長期未対応です。リマインドを検討してください。
会話例:会議管理
例5: 会議の作成と管理
あなた: 明日の14時からクライアントとの定例会議を作って。
参加者はクライアント側の山田さんと中村さん、うちは田中と鈴木で。
Claude: meeting_create を実行します。
✅ 会議を作成しました:
- タイトル: 定例会議
- 日時: 2/14 14:00
- 参加者:
- 社内: 田中、鈴木
- クライアント: 山田様、中村様
- ステータス: planned
例6: 議事録の記入
あなた: さっきの会議の議事録を記録して。内容は:
- トップページのデザインは案Bで決定
- ログイン画面のUIは次回再検討
- 納品日を3/1に変更
- [ ] SPEC(/spec/design#top-page): トップページデザイン確定(案B採用)
- [ ] SPEC(/spec/auth#login-ui): ログイン画面UI検討
Claude: minutes_update を実行します。
✅ 議事録を更新しました。
SPECタスクが2件検出されました:
1. 「トップページデザイン確定(案B採用)」 → spec_path: /spec/design#top-page
2. 「ログイン画面UI検討」 → spec_path: /spec/auth#login-ui
これらを仕様タスクとして自動生成しますか?
例7: 会議の終了
あなた: 会議を終了して
Claude: meeting_end を実行します。
✅ 会議を終了しました。
自動サマリー:
- 決定事項: 2件
- 未決定事項: 1件
- 生成されたタスク: 2件
参加者全員に終了通知を送信しました。
会話例:レビュー管理
例8: レビューの開始
あなた: 「LP改修」タスクのレビューを開始して。
レビュアーは鈴木さんとクライアントの山田さんで。
Claude: review_open を実行します。
✅ レビューを開始しました:
- タスク: LP改修
- レビュアー: 鈴木、山田様
- ステータス: pending
- 両名に通知を送信しました
例9: レビューの承認
あなた: LP改修のレビュー状況を見せて
Claude: review_get を実行します。
レビュー状況: LP改修
- 全体ステータス: pending(承認待ち)
| レビュアー | 状態 | 更新日 |
|----------|------|--------|
| 鈴木 | ✅ approved | 2/13 15:30 |
| 山田様 | ⏳ pending | - |
山田様の承認待ちです。
例10: 変更依頼
あなた: 「API設計書」のレビューをブロックして。
理由は「エラーレスポンスの形式が統一されていません。
RFC 7807準拠にしてください。」
Claude: review_block を実行します。
✅ レビューをブロックしました:
- タスク: API設計書
- 理由: エラーレスポンスの形式が統一されていません。RFC 7807準拠にしてください。
- 担当者に通知しました
会話例:Wiki・仕様管理
例11: Wikiページの作成
あなた: 「API仕様書 v2」というWikiページを作って。
概要セクションと認証セクションをまず作成して。
Claude: wiki_create を実行します。
✅ Wikiページを作成しました:
- タイトル: API仕様書 v2
- 内容:
## 概要
(ここにAPI全体の概要を記載)
## 認証
(ここに認証仕様を記載)
例12: Wikiの検索と閲覧
あなた: WikiでDB設計に関するページを探して
Claude: wiki_list を実行します。
該当するWikiページ:
1. 「DB設計書」 - 更新日: 2/10
2. 「DDLマイグレーション手順」 - 更新日: 2/8
3. 「テーブル定義一覧」 - 更新日: 2/5
「DB設計書」の内容を表示しますか?
会話例:クライアント管理
例13: クライアントの招待
あなた: 新しいクライアント担当者を招待して。
tanaka@client.co.jp と sato@client.co.jp の2名。
Claude: client_invite_bulk_create を実行します。
✅ 2名を招待しました:
1. tanaka@client.co.jp → 招待メール送信済み(有効期限: 3/15)
2. sato@client.co.jp → 招待メール送信済み(有効期限: 3/15)
例14: 招待状況の確認
あなた: クライアント招待の状況を教えて
Claude: client_invite_list を実行します。
| メール | ステータス | 招待日 | 有効期限 |
|--------|----------|--------|---------|
| yamada@client.co.jp | ✅ 承諾済み | 1/20 | - |
| nakamura@client.co.jp | ✅ 承諾済み | 1/20 | - |
| tanaka@client.co.jp | ⏳ 未承諾 | 2/13 | 3/15 |
| sato@client.co.jp | ⏳ 未承諾 | 2/13 | 3/15 |
tanaka@client.co.jp と sato@client.co.jp はまだ承諾していません。
再送しますか?
会話例:横断的な操作
例15: 全プロジェクト横断のマイタスク
あなた: 自分に割り当てられているタスクを全プロジェクトで見せて
Claude: task_list_my を実行します。
あなたの担当タスク(全プロジェクト横断):
【A社 Webリニューアル】
1. 🔴 LP改修 - in_progress - 期限: 2/20
2. 🟡 バグ修正#128 - todo - 期限: 2/16
【B社 ECサイト】
3. 🔴 決済画面UI - in_progress - 期限: 2/18
4. ⚪ テスト計画作成 - backlog - 期限なし
【C社 管理システム】
5. 🟡 認証機能実装 - todo - 期限: 2/22
合計: 5件(進行中: 2件、todo: 2件、backlog: 1件)
例16: アクティビティログの検索
あなた: 先週クライアントが行った操作を調べて
Claude: activity_search を実行します。
先週のクライアント操作(2/3 〜 2/9):
| 日時 | クライアント | 操作 | 対象 |
|------|-----------|------|------|
| 2/9 16:30 | 山田様 | レビュー承認 | LP改修 |
| 2/8 10:15 | 中村様 | コメント追加 | API仕様確認 |
| 2/7 14:00 | 山田様 | 日程回答 | 2/14定例 → 参加可能 |
| 2/5 11:30 | 中村様 | 仕様確認 | DB設計#auth |
| 2/3 09:00 | 山田様 | コメント追加 | デザインカンプ |
計5件の操作がありました。
例17: タスクの安全な削除
あなた: テスト用に作った「ダミータスク」を削除して
Claude: task_delete を実行します(まず影響確認)。
⚠️ 削除影響の確認(dry run):
- タスク: ダミータスク
- ステータス: backlog
- コメント: 0件
- レビュー: なし
- 関連する仕様決定: なし
削除しても問題ありませんか?
あなた: はい、削除して
Claude: task_delete を confirmToken 付きで実行します。
✅ 「ダミータスク」を削除しました。
高度な使い方
定型レポートの生成
あなた: 週次レポート用のデータをまとめて。
今週完了したタスク、進行中のタスク、クライアント待ちのタスクを表にして。
Claude: task_list を3回実行します(status=done, status=in_progress, ball=client)。
## 週次レポート(2/10〜2/14)
### 今週完了(5件)
| タスク | 担当 | 完了日 |
|--------|------|--------|
| ヘッダー修正 | 田中 | 2/10 |
| メール通知機能 | 鈴木 | 2/11 |
| ... | ... | ... |
### 進行中(3件)
| タスク | 担当 | 期限 | 進捗 |
|--------|------|------|------|
| LP改修 | 田中 | 2/20 | レビュー中 |
| ... | ... | ... | ... |
### クライアント待ち(2件)
| タスク | クライアント | 経過 |
|--------|-----------|------|
| デザイン承認 | 山田様 | 3日 |
| ... | ... | ... |
プロジェクト横断での進捗確認
あなた: 全プロジェクトのダッシュボード情報を比較して
Claude: 各プロジェクトで dashboard_get を実行します。
| プロジェクト | 総タスク | 完了率 | クライアント待ち | リスク |
|------------|---------|--------|--------------|-------|
| A社 Web | 47 | 53% | 5件 | ⚠️ 期限超過2件 |
| B社 EC | 32 | 38% | 2件 | ✅ 順調 |
| C社 管理 | 18 | 22% | 0件 | ✅ 順調 |
注意事項
破壊的操作の安全機構
task_delete はデフォルトで dryRun=true で実行されます。実際に削除するには、dry run で取得した confirmToken を使って再度実行する必要があります。AI が誤って重要なデータを削除することを防ぎます。
アクティビティログ
画面・CLI・MCP のどこからの変更も、データベースが自動で変更履歴(change_log)に記録します。誰が・いつ・どの経路で・何を変えたかが残るので、activity_search / activity_entity_history で調べられます。合言葉などの秘密は記録に写しません。
権限の制約
MCPツールもWeb画面と同じ権限ルールに従います。APIキーに紐づくユーザーのロールに応じて、実行可能な操作が制限されます。admin権限が必要な操作(メンバー招待、設定変更など)は、admin以上のAPIキーが必要です。