mcpField
M
MCP Server for Asana

MCP Server for Asana

ローカル
github.com/roychri生産性14927 週間前に更新

MCP Server for Asana について

MCP Server for Asana は Asana API に接続する MCP サーバーで、Claude Desktop などの MCP クライアントからワークスペース、プロジェクト、タスク、コメントを照会・管理できます。READ_ONLY_MODE を有効にすると、すべての書き込み操作を無効化できます。

主な機能

  1. 01ワークスペース、プロジェクト、タスクの照会
  2. 02テキストや条件によるタスク検索
  3. 03タスクとサブタスクの作成と更新
  4. 04タスクのコメントと依存関係の読み書き
  5. 05プロジェクトステータスとタグの管理
  6. 06READ_ONLY_MODE による読み取り専用運用

活用シーン

  1. 01AI アシスタントにプロジェクトの未完了タスク数を尋ねる
  2. 02会話内でタスクの詳細やコメント履歴を確認する
  3. 03書き込みを無効にして Asana データを安全に閲覧する

MCP 対応

本プロジェクトは MCP サーバーであり、MCP クライアントに対して asana_* 形式の複数のツールを公開し、Asana のワークスペース、プロジェクト、タスク、タグなどの読み書きを行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"asana": {
"command": "npx",
"args": [
"-y",
"@roychri/mcp-server-asana"
],
"env": {
"ASANA_ACCESS_TOKEN": "<ASANA_ACCESS_TOKEN>"
}
}
}
}
起動コマンドnpx -y @roychri/mcp-server-asana
設定が必要な環境変数
ASANA_ACCESS_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@roychri/mcp-server-asana

ツール

41

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
opt_fieldsstringいいえ含めるオプションフィールドのカンマ区切りリスト

詳細

Asana 用 MCP サーバー

npm version

この Asana の Model Context Protocol サーバー実装を使用すると、Anthropic の Claude デスクトップアプリケーションなどの MCP クライアントから Asana API を利用できます。

MCP の詳細はこちらをご覧ください:

mcp-server-asana MCP サーバー

環境変数

  • ASANA_ACCESS_TOKEN:(必須)Asana アクセストークン
  • READ_ONLY_MODE:(任意)すべての書き込み操作を無効にするには、'true' に設定します。このモードでは:
    • Asana のデータを変更するツール(作成、更新、削除)は無効になります
    • create-task プロンプトは無効になります
    • 読み取り操作のみ利用できます テスト時や、Asana ワークスペースに変更が加えられないようにしたい場合に便利です。

使用方法

お好みの AI ツール(例:Claude Desktop)で、Asana のタスク、プロジェクト、ワークスペース、コメントについて質問してください。「asana」という単語を含めると、LLM が適切なツールを選ぶ可能性が高まります。

例:

Sprint 30 プロジェクトには、未完了の Asana タスクがいくつありますか?

もう一つの例:

Claude Desktop の例

ツール

  1. asana_list_workspaces
    • Asana で利用可能なすべてのワークスペースを一覧表示します
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:ワークスペースのリスト
  2. asana_search_projects
    • 名前パターンを照合して Asana のプロジェクトを検索します
    • 必須の入力:
      • workspace (string):検索対象のワークスペース
      • name_pattern (string):プロジェクト名に照合する正規表現パターン
    • 任意の入力:
      • archived (boolean):アーカイブ済みのプロジェクトのみを返します(デフォルト:false)
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:一致するプロジェクトのリスト
  3. asana_search_tasks
    • 高度なフィルターオプションを使って、ワークスペース内のタスクを検索します
    • 必須の入力:
      • workspace (string):検索対象のワークスペース
    • 任意の入力:
      • text (string):タスク名と説明から検索するテキスト
      • resource_subtype (string):タスクのサブタイプで絞り込みます(例:マイルストーン)
      • completed (boolean):完了済みのタスクで絞り込みます
      • is_subtask (boolean):サブタスクで絞り込みます
      • has_attachment (boolean):添付ファイルがあるタスクで絞り込みます
      • is_blocked (boolean):未完了の依存関係があるタスクで絞り込みます
      • is_blocking (boolean):依存先がある未完了のタスクで絞り込みます
      • assignee、projects、sections、tags、teams、およびその他多数の高度なフィルター
      • sort_by (string):due_date、created_at、completed_at、likes、modified_at で並べ替えます(デフォルト:modified_at)
      • sort_ascending (boolean):昇順で並べ替えます(デフォルト:false)
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
      • custom_fields (object):カスタムフィールドのフィルターを含むオブジェクト
    • 戻り値:一致するタスクのリスト
  4. asana_get_task
    • 特定のタスクの詳細情報を取得します
    • 必須の入力:
      • task_id (string):取得するタスクの ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タスクの詳細情報
  5. asana_create_task
    • プロジェクトに新しいタスクを作成します
    • 必須の入力:
      • project_id (string):タスクを作成するプロジェクト
      • name (string):タスク名
    • 任意の入力:
      • notes (string):タスクの説明
      • html_notes (string):HTML 形式のタスクの説明
      • due_on (string):YYYY-MM-DD 形式の期限
      • assignee (string):担当者('me' またはユーザー ID を指定できます)
      • followers (array of strings):フォロワーとして追加するユーザー ID の配列
      • parent (string):このタスクの親として設定するタスク ID
      • projects (array of strings):このタスクの追加先となるプロジェクト ID の配列
      • resource_subtype (string):タスクの種類(default_task または milestone)
      • custom_fields (object):カスタムフィールドの GID 文字列と値を対応付けるオブジェクト
    • 戻り値:作成されたタスクの情報
  6. asana_get_task_stories
    • 特定のタスクのコメントとストーリーを取得します
    • 必須の入力:
      • task_id (string):ストーリーを取得するタスクの ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タスクのストーリー/コメントのリスト
  7. asana_update_task
    • 既存のタスクの詳細を更新します
    • 必須の入力:
      • task_id (string):更新するタスクの ID
    • 任意の入力:
      • name (string):タスクの新しい名前
      • notes (string):タスクの新しい説明
      • html_notes (string):HTML 形式のタスクの説明(サポートされる HTML タグは一部です)
      • due_on (string):新しい期限(YYYY-MM-DD 形式)
      • assignee (string):新しい担当者('me' またはユーザー ID を指定できます)
      • followers (array):フォロワーとして追加するユーザー ID の配列
      • parent (string):このタスクの移動先となる親タスクの ID
      • completed (boolean):タスクを完了済みとしてマークするかどうか
      • resource_subtype (string):タスクの種類(default_task または milestone)
      • custom_fields (object):カスタムフィールドの GID 文字列と値を対応付けるオブジェクト
    • 戻り値:更新されたタスクの情報
  8. asana_get_project
    • 特定のプロジェクトの詳細情報を取得します
    • 必須の入力:
      • project_id (string):取得するプロジェクトの ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:プロジェクトの詳細情報
  9. asana_get_project_task_counts
    • プロジェクト内のタスク数を取得します
    • 必須の入力:
      • project_id (string):タスク数を取得するプロジェクトの ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タスク数の情報
  10. asana_get_project_sections
    • プロジェクト内のセクションを取得します
    • 必須の入力:
      • project_id (string):セクションを取得するプロジェクトの ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:プロジェクトのセクションのリスト
  11. asana_create_task_story
    • タスクにコメントまたはストーリーを作成します
    • 必須の入力:
      • task_id (string):ストーリーを追加するタスクの ID
      • text (string):ストーリー/コメントのテキスト内容
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたストーリーの情報
  12. asana_add_task_dependencies
    • タスクの依存関係を設定します
    • 必須の入力:
      • task_id (string):依存関係を追加するタスクの ID
      • dependencies (array of strings):このタスクが依存するタスク ID の配列
    • 戻り値:更新されたタスクの依存関係
  13. asana_add_task_dependents
    • タスクの依存先を設定します(このタスクに依存するタスク)
    • 必須の入力:
      • task_id (string):依存先を追加するタスクの ID
      • dependents (array of strings):このタスクに依存するタスク ID の配列
    • 戻り値:更新されたタスクの依存先
  14. asana_create_subtask
    • 既存のタスクに新しいサブタスクを作成します
    • 必須の入力:
      • parent_task_id (string):サブタスクを作成する親タスクの ID
      • name (string):サブタスク名
    • 任意の入力:
      • notes (string):サブタスクの説明
      • due_on (string):YYYY-MM-DD 形式の期限
      • assignee (string):担当者('me' またはユーザー ID を指定できます)
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたサブタスクの情報
  15. asana_get_multiple_tasks_by_gid
    • GID を指定して複数のタスクの詳細情報を取得します(最大 25 件)
    • 必須の入力:
      • task_ids (array of strings or comma-separated string):取得するタスクの GID(最大 25 件)
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タスクの詳細情報のリスト
  16. asana_get_project_status
    • プロジェクトのステータス更新を取得します
    • 必須の入力:
      • project_status_gid (string):取得するプロジェクトステータスの GID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:プロジェクトステータスの情報
  17. asana_get_project_statuses
    • プロジェクトのすべてのステータス更新を取得します
    • 必須の入力:
      • project_gid (string):ステータスを取得するプロジェクトの GID
    • 任意の入力:
      • limit (number):1 ページあたりの結果数(1~100)
      • offset (string):ページネーションのオフセットトークン
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:プロジェクトのステータス更新のリスト
  18. asana_create_project_status
    • プロジェクトの新しいステータス更新を作成します
    • 必須の入力:
      • project_gid (string):ステータスを作成するプロジェクトの GID
      • text (string):ステータス更新のテキスト内容
    • 任意の入力:
      • color (string):ステータスの色(green、yellow、red)
      • title (string):ステータス更新のタイトル
      • html_text (string):ステータス更新用の HTML 形式のテキスト
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたプロジェクトステータスの情報
  19. asana_delete_project_status
    • プロジェクトのステータス更新を削除します
    • 必須の入力:
      • project_status_gid (string):削除するプロジェクトステータスの GID
    • 戻り値:削除の確認
  20. asana_set_parent_for_task
    • タスクの親を設定し、その親の他のサブタスクの中での位置を指定します
    • 必須の入力:
      • task_id (string):操作するタスクの ID
      • data (object):
        • parent (string):タスクの新しい親、または親を指定しない場合は null
    • 任意の入力:
      • insert_after (string):このタスクの挿入先となる親のサブタスク。リストの先頭に挿入する場合は null
      • insert_before (string):このタスクの挿入先となる親のサブタスク。リストの末尾に挿入する場合は null
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:更新されたタスクの情報
  21. asana_get_tag
    • 特定のタグの詳細情報を取得します
    • 必須の入力:
      • tag_gid (string):タグを一意に識別するグローバル ID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タグの詳細情報
  22. asana_get_tags_for_task
    • タスクのタグを取得します
    • 必須の入力:
      • task_gid (string):操作するタスク
    • 任意の入力:
      • limit (number):1 ページあたりの結果数。1 ページに返すオブジェクトの数です。値は 1~100 である必要があります。
      • offset (string):オフセットトークン。API が返す次のページへのオフセットです。
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:タスクに関連付けられたタグのリスト
  23. asana_get_tasks_for_tag
    • 特定のタグに関連付けられたタスクを取得します
    • 必須の入力:
      • tag_gid (string):タスクを取得するタグの GID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
      • opt_pretty (boolean):レスポンスを「pretty」形式で返します
      • limit (integer):1 ページに返すオブジェクトの数です。値は 1~100 である必要があります。
      • offset (string):API が返す次のページへのオフセットです。
    • 戻り値:指定されたタグのタスクのリスト
  24. asana_get_tags_for_workspace
    • ワークスペース内のタグを取得します
    • 必須の入力:
      • workspace_gid (string):ワークスペースまたは組織を一意に識別するグローバル ID
    • 任意の入力:
      • limit (integer):1 ページあたりの結果数。1 ページに返すオブジェクトの数です。値は 1~100 である必要があります。
      • offset (string):オフセットトークン。API が返す次のページへのオフセットです。
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:ワークスペース内のタグのリスト
  25. asana_update_tag
    • 既存のタグを更新します
    • 必須の入力:
      • tag_gid (string):タグを一意に識別するグローバル ID
    • 任意の入力:
      • name (string):タグ名
      • color (string):タグの色。次のいずれかを指定できます:dark-pink、dark-green、dark-blue、dark-red、dark-teal、dark-brown、dark-orange、dark-purple、dark-warm-gray、light-pink、light-green、light-blue、light-red、light-teal、light-brown、light-orange、light-purple、light-warm-gray
      • notes (string):タグに関するメモ
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:更新されたタグの情報
  26. asana_delete_tag
    • タグを削除します
    • 必須の入力:
      • tag_gid (string):タグを一意に識別するグローバル ID
    • 戻り値:削除の確認
  27. asana_create_tag_for_workspace
    • ワークスペースに新しいタグを作成します
    • 必須の入力:
      • workspace_gid (string):ワークスペースまたは組織を一意に識別するグローバル ID
      • name (string):タグ名
    • 任意の入力:
      • color (string):タグの色。次のいずれかを指定できます:dark-pink、dark-green、dark-blue、dark-red、dark-teal、dark-brown、dark-orange、dark-purple、dark-warm-gray、light-pink、light-green、light-blue、light-red、light-teal、light-brown、light-orange、light-purple、light-warm-gray
      • notes (string):タグに関するメモ
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたタグの情報
  28. asana_add_tag_to_task
    • タスクにタグを追加します
    • 必須の入力:
      • task_gid (string):タグを追加するタスクの GID
      • tag_gid (string):タスクに追加するタグの GID
    • 戻り値:成功レスポンス
  29. asana_remove_tag_from_task
    • タスクからタグを削除します
    • 必須の入力:
      • task_gid (string):タグを削除するタスクの GID
      • tag_gid (string):タスクから削除するタグの GID
    • 戻り値:成功レスポンス
  30. asana_add_project_to_task
    • 既存のタスクをプロジェクトに追加します
    • 必須の入力:
      • task_id (string):プロジェクトに追加するタスクの ID
      • project_id (string):タスクを追加するプロジェクトの ID
    • 任意の入力:
      • section (string):プロジェクト内でタスクを追加するセクションの ID
      • insert_after (string):このタスクの挿入位置となるタスク ID。insert_before、insert_after、section のうち、指定できるのは最大 1 つです。
      • insert_before (string):このタスクの挿入位置となるタスク ID。insert_before、insert_after、section のうち、指定できるのは最大 1 つです。
    • 戻り値:タスクがプロジェクトに追加されたことを確認する成功メッセージ
    • 注:位置を指定する引数がない場合、タスクはプロジェクトの末尾に追加されます
  31. asana_remove_project_from_task
    • タスクをプロジェクトから削除します
    • 必須の入力:
      • task_id (string):プロジェクトから削除するタスクの ID
      • project_id (string):タスクを削除するプロジェクトの ID
    • 戻り値:タスクがプロジェクトから削除されたことを確認する成功メッセージ
    • 注:タスクはシステム内に残りますが、プロジェクトには表示されなくなります
  32. asana_delete_task
    • タスクを完全に削除します
    • 必須の入力:
      • task_id (string):削除するタスクの ID
    • 戻り値:タスクが削除されたことを確認する成功メッセージ
    • 注:この操作は取り消せません。タスクは完全に削除されます。
  33. asana_create_project
    • ワークスペースまたはチームに新しいプロジェクトを作成します
    • 必須の入力:
      • workspace (string):プロジェクトの作成先となるワークスペースの GID
      • name (string):プロジェクト名
    • 任意の入力:
      • team (string):チームの GID(組織のワークスペースでは必須)
      • notes (string):プロジェクトの説明またはメモ
      • color (string):プロジェクトの色(例:dark-pink、dark-green、light-blue)
      • privacy_setting (string):プライバシー設定(public_to_workspace、private_to_team、private)
      • default_view (string):デフォルトのビュー(list、board、calendar、timeline)
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたプロジェクトオブジェクト
  34. asana_update_project
    • プロジェクトの詳細(名前、説明など)を更新します
    • 必須の入力:
      • project_id (string):更新するプロジェクトの GID
    • 任意の入力:
      • name (string):プロジェクトの新しい名前
      • notes (string):プロジェクトの新しいプレーンテキストの説明
      • html_notes (string):プロジェクトの新しい HTML 形式の説明(有効な Asana XML である必要があります)
      • color (string):プロジェクトの色(例:dark-pink、dark-green、light-blue)
      • privacy_setting (string):プライバシー設定(public_to_workspace、private_to_team、private)
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:更新されたプロジェクトの情報
  35. asana_create_section
    • プロジェクトに新しいセクションを作成します
    • 必須の入力:
      • project_id (string):セクションを作成するプロジェクトの GID
      • name (string):新しいセクション名
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:作成されたセクションの情報
  36. asana_update_section
    • セクションの名前を変更します
    • 必須の入力:
      • section_id (string):更新するセクションの GID
      • name (string):セクションの新しい名前
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
    • 戻り値:更新されたセクションの情報
  37. asana_delete_section
    • プロジェクトからセクションを削除します
    • 必須の入力:
      • section_id (string):削除するセクションの GID
    • 戻り値:削除の確認
  38. asana_add_task_to_section
    • タスクをプロジェクト内のセクションに移動します
    • 必須の入力:
      • section_id (string):タスクの追加先となるセクションの GID
      • task_id (string):移動するタスクの GID
    • 任意の入力:
      • insert_before (string):このタスクの挿入位置となるタスクの GID
      • insert_after (string):このタスクの挿入位置となるタスクの GID
    • 戻り値:成功の確認
  39. asana_get_subtasks
    • 指定したタスクのすべてのサブタスクを取得します。各サブタスクの簡潔な情報を返します。
    • 必須の入力:
      • task_gid (string):親タスクの GID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドのカンマ区切りリスト(例:'name,completed,assignee,due_on')
    • 戻り値:サブタスクオブジェクトの配列
  40. asana_get_tasks_for_project
    • プロジェクト内のすべてのタスクを取得します。特定のプロジェクト内のタスクを一覧表示する場合は、search_tasks の代わりにこれを使用してください。search_tasks はプレミアムプランが必要ですが、このツールは無料の Asana プランでも利用できます。ページネーションと任意のフィールド選択に対応しています。
    • 必須の入力:
      • project_id (string):タスクを取得するプロジェクトの GID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
      • limit (number):1 ページあたりの結果数(1~100)
      • offset (string):前回のレスポンスから取得したページネーションのオフセットトークン
    • 戻り値:タスクオブジェクトの配列
  41. asana_get_my_tasks
    • 認証済みユーザーのワークスペース内にある「My Tasks」リストからタスクを取得します
    • 必須の入力:
      • workspace (string):My Tasks を取得するワークスペースの GID
    • 任意の入力:
      • opt_fields (string):含める任意のフィールドをカンマ区切りで指定したリスト
      • completed_since (string):この時刻以降に完了したタスクのみを返します(ISO 8601)。未完了のタスクのみを返すには 'now' を指定します。
    • 戻り値:ユーザーの My Tasks リストにあるタスクの一覧

プロンプト

  1. task-summary

    • タスクのメモ、カスタムフィールド、コメントに基づいて、タスクの概要とステータスの更新情報を取得します
    • 必須入力:
      • task_id (string):概要を取得するタスクの ID
    • 戻り値:タスクの概要を生成するための指示を含む詳細なプロンプト
  2. task-completeness

    • タスクの説明に完了に必要な詳細がすべて含まれているかを分析します
    • 必須入力:
      • task_id (string):分析するタスクの ID または URL
    • 戻り値:タスクの完全性を分析するための指示を含む詳細なプロンプト
  3. create-task

    • 指定された詳細情報で新しいタスクを作成します
    • 必須入力:
      • project_name (string):タスクを作成する Asana プロジェクトの名前
      • title (string):タスクのタイトル
    • 任意入力:
      • notes (string):タスクのメモまたは説明
      • due_date (string):タスクの期日(YYYY-MM-DD 形式)
    • 戻り値:包括的なタスクを作成するための指示を含む詳細なプロンプト

リソース

  1. ワークスペース - asana://workspace/{workspace_gid}

    • Asana ワークスペースをリソースとして表現します
    • 各ワークスペースは個別のリソースとして公開されます
    • URI 形式:asana://workspace/{workspace_gid}
    • 戻り値:以下の情報を含むワークスペースの詳細を示す JSON オブジェクト:
      • name:ワークスペース名 (string)
      • id:ワークスペースのグローバル ID (string)
      • type:リソースの種類 (string)
      • is_organization:ワークスペースが組織かどうか (boolean)
      • email_domains:ワークスペースに関連付けられたメールドメインのリスト (string[])
    • MIME タイプ:application/json
  2. プロジェクト - asana://project/{project_gid}

    • GID でプロジェクトの詳細を取得するためのテンプレートリソース
    • URI 形式:asana://project/{project_gid}
    • 戻り値:以下の情報を含むプロジェクトの詳細を示す JSON オブジェクト:
      • name:プロジェクト名 (string)
      • id:プロジェクトのグローバル ID (string)
      • type:リソースの種類 (string)
      • archived:プロジェクトがアーカイブ済みかどうか (boolean)
      • public:プロジェクトが公開されているかどうか (boolean)
      • notes:プロジェクトの説明/メモ (string)
      • color:プロジェクトの色 (string)
      • default_view:デフォルトのビュータイプ (string)
      • due_date、due_on、start_on:プロジェクトの日付情報 (string)
      • workspace:ワークスペース情報を含むオブジェクト
      • team:チーム情報を含むオブジェクト
      • sections:プロジェクト内のセクションオブジェクトの配列
      • custom_fields:プロジェクトのカスタムフィールド定義の配列
    • MIME タイプ:application/json

セットアップ

  1. Asana アカウントを作成する:

    • Asana にアクセスします。
    • 「Sign up」をクリックします。
  2. Asana アクセストークンを取得する:

  3. インストール方法:

    Claude Desktop の場合:

    以下を claude_desktop_config.json に追加します:

    {
      "mcpServers": {
        "asana": {
          "command": "npx",
          "args": ["-y", "@roychri/mcp-server-asana"],
          "env": {
            "ASANA_ACCESS_TOKEN": "your-asana-access-token"
          }
        }
      }
    }
    
    Claude Code の場合:

    以下のコマンドを使用して、MCP サーバーをインストールして設定します:

    claude mcp add asana -e ASANA_ACCESS_TOKEN=<TOKEN> -- npx -y @roychri/mcp-server-asana
    

    <TOKEN> を Asana アクセストークンに置き換えます。

    Codex CLI の場合:

    以下を ~/.codex/config.toml に追加します:

    [mcp_servers.asana]
    command = "npx"
    args = [
      "-y", "@roychri/mcp-server-asana"
    ]
    env = {ASANA_ACCESS_TOKEN= "<TOKEN>"}
    

    <TOKEN> を Asana アクセストークンに置き換えます。

ベータ版(未リリース)をインストールする場合は、以下を使用できます:

  • @roychri/mcp-server-asana@beta

現在のベータ版リリースがある場合は、以下のいずれかで確認できます:

  1. https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
  2. npm dist-tag ls @roychri/mcp-server-asana

トラブルシューティング

権限エラーが発生した場合:

  1. ご利用の Asana プランで API アクセスが許可されていることを確認してください
  2. アクセストークンと設定が claude_desktop_config.json で正しく設定されていることを確認してください。

貢献

このリポジトリをクローンして、開発を始めてください。

MCP Inspector でローカルにテストする

変更をテストする場合は、次のように MCP Inspector を使用できます。

npm run inspector

これにより、クライアントはポート 5173 に、サーバーはポート 3000 に公開されます。

これらのポートがすでに別の用途で使用されている場合は、次を使用できます。

CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。これは、MIT License の利用規約に従うことを条件として、ソフトウェアを自由に使用、変更、配布できることを意味します。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。