Asana 用 MCP サーバー
Asana のこのモデル コンテキスト プロトコル サーバー実装により、Anthropic の Claude デスクトップ アプリケーションなどの MCP クライアントから Asana API と通信できるようになります。
MCP の詳細はこちらをご覧ください:
使用法
選択したAIツール(例:Claude Desktop)で、Asanaのタスク、プロジェクト、ワークスペース、コメントなどについて質問してください。「Asana」という言葉を口にすることで、LLMが適切なツールを選択できる可能性が高まります。
例:
スプリント 30 プロジェクトには、未完了のアーサナ タスクがいくつありますか?
別の例:

Related MCP server: WordPress MCP Server
カスタムフィールドの操作
カスタム フィールドを使用してタスクを更新または作成する場合は、次の形式を使用します。
値の形式はフィールド タイプによって異なります。
列挙フィールド: オプションの
enum_option.gidを使用します(表示名ではありません)テキストフィールド:文字列を使用する
数値フィールド: 数値を使用する
日付フィールド: YYYY-MM-DD形式の文字列を使用します
複数の列挙型フィールド:列挙型オプションのGIDの配列を使用する
カスタムフィールドGIDの検索
カスタム フィールドの GID とその列挙オプションを見つけるには:
カスタム フィールドを含めるには、
opt_fieldsパラメータを設定したasana_get_taskを使用します。asana_get_task({ task_id: "TASK_ID", opt_fields: "custom_fields,custom_fields.enum_options" })レスポンスで、
custom_fields配列を探します。各カスタムフィールドには以下の情報が含まれます。gid: カスタムフィールドの一意の識別子name: カスタムフィールドの表示名resource_subtype: カスタム フィールドのタイプ (テキスト、数値、列挙型など)列挙型フィールドの場合、
enum_options配列を調べて各オプションのGIDを見つけます。
例: 列挙型カスタムフィールドの更新
ツール
asana_list_workspacesAsana で利用可能なすべてのワークスペースを一覧表示する
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: ワークスペースのリスト
注: DEFAULT_WORKSPACE_ID が設定されている場合は、すべてのワークスペースを取得するのではなく、そのワークスペースのみが返されます。
asana_search_projects名前パターンマッチングを使用してAsanaでプロジェクトを検索する
必須入力:
name_pattern (文字列): プロジェクト名に一致する正規表現パターン
オプション入力:
ワークスペース (文字列): 検索するワークスペース (DEFAULT_WORKSPACE_ID が設定されている場合はオプション)
チーム (文字列): プロジェクトをフィルタリングするチーム
archived (boolean): アーカイブされたプロジェクトのみを返します (デフォルト: false)
制限(数):1ページあたりの結果数(1~100)
offset (文字列): ページネーションオフセットトークン
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 一致するプロジェクトのリスト
注意: DEFAULT_WORKSPACE_IDが設定されていない場合は、ワークスペースまたはチームのいずれかを指定する必要があります。
asana_search_tasks高度なフィルタリングオプションを使用してワークスペース内のタスクを検索する
必須入力:
ワークスペース (文字列): 検索するワークスペース (DEFAULT_WORKSPACE_ID が設定されている場合はオプション)
オプション入力:
テキスト (文字列): タスク名と説明で検索するテキスト
resource_subtype (文字列): タスクのサブタイプ (例: マイルストーン) でフィルタリング
完了 (ブール値): 完了したタスクのフィルター
is_subtask (boolean): サブタスクのフィルター
has_attachment (boolean): 添付ファイル付きのタスクをフィルターする
is_blocked (boolean): 依存関係が不完全なタスクをフィルターします
is_blocking (boolean): 依存関係のある未完了タスクをフィルターします
担当者、プロジェクト、セクション、タグ、チーム、その他多くの高度なフィルター
sort_by (文字列): due_date、created_at、completed_at、likes、modified_at (デフォルト: changed_at) で並べ替え
sort_ascending (boolean): 昇順で並べ替える (デフォルト: false)
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
custom_fields (オブジェクト): カスタムフィールドフィルターを含むオブジェクト
戻り値: 一致するタスクのリスト
asana_get_task特定のタスクに関する詳細情報を取得する
必須入力:
task_id (文字列): 取得するタスクID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 詳細なタスク情報
asana_create_taskプロジェクトに新しいタスクを作成する
必須入力:
project_id (文字列): タスクを作成するプロジェクト
name (文字列): タスクの名前
オプション入力:
メモ(文字列): タスクの説明
html_notes (文字列): タスクのHTML形式の説明
due_on (文字列): YYYY-MM-DD形式の期日
担当者(文字列):担当者(「自分」またはユーザーID)
フォロワー(文字列の配列):フォロワーとして追加するユーザーIDの配列
親(文字列):このタスクを設定する親タスクID
プロジェクト(文字列の配列):このタスクを追加するプロジェクトIDの配列
resource_subtype (文字列): タスクの種類 (default_task または milestone)
custom_fields (オブジェクト): カスタムフィールドの GID 文字列をその値にマッピングするオブジェクト
戻り値: 作成されたタスク情報
asana_get_task_stories特定のタスクに関するコメントやストーリーを取得する
必須入力:
task_id (文字列): ストーリーを取得するタスクID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: タスクストーリー/コメントのリスト
asana_update_task既存のタスクの詳細を更新する
必須入力:
task_id (文字列): 更新するタスクID
オプション入力:
name (文字列): タスクの新しい名前
メモ(文字列): タスクの新しい説明
due_on (文字列): YYYY-MM-DD形式の新しい期日
担当者(文字列):新しい担当者(「自分」またはユーザーID)
完了 (ブール値): タスクを完了としてマークするかどうか
resource_subtype (文字列): タスクの種類 (default_task または milestone)
custom_fields (オブジェクト): カスタムフィールドの GID 文字列をその値にマッピングするオブジェクト
戻り値: 更新されたタスク情報
asana_get_project特定のプロジェクトに関する詳細情報を取得する
必須入力:
project_id (文字列): 取得するプロジェクトID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: プロジェクトの詳細情報
asana_get_project_task_countsプロジェクト内のタスク数を取得する
必須入力:
project_id (文字列): タスク数を取得するプロジェクトID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: タスク数情報
asana_get_project_sections
プロジェクトのセクションを取得する
必須入力:
project_id (文字列): セクションを取得するプロジェクトID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: プロジェクトセクションのリスト
asana_create_task_story
タスクにコメントやストーリーを作成する
必須入力:
task_id (文字列): ストーリーを追加するタスクID
テキスト(文字列):ストーリー/コメントのテキストコンテンツ
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 作成されたストーリー情報
asana_add_task_dependencies
タスクの依存関係を設定する
必須入力:
task_id (文字列): 依存関係を追加するタスクID
依存関係(文字列の配列):このタスクが依存するタスクIDの配列
戻り値: 更新されたタスクの依存関係
asana_add_task_dependents
タスクの依存関係(このタスクに依存するタスク)を設定する
必須入力:
task_id (文字列): 依存関係を追加するタスクID
依存(文字列の配列):このタスクに依存するタスクIDの配列
戻り値: 更新されたタスク依存関係
asana_create_subtask
既存のタスクに新しいサブタスクを作成する
必須入力:
parent_task_id (文字列): サブタスクを作成する親タスクID
name (文字列): サブタスクの名前
オプション入力:
メモ(文字列): サブタスクの説明
due_on (文字列): YYYY-MM-DD形式の期日
担当者(文字列):担当者(「自分」またはユーザーID)
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: 作成されたサブタスク情報
asana_add_followers_to_task
タスクにフォロワーを追加する
必須入力:
task_id (文字列): フォロワーを追加するタスクID
フォロワー(文字列の配列):タスクにフォロワーとして追加するユーザーIDの配列
戻り値: 更新されたタスク情報
asana_get_multiple_tasks_by_gid
GID で複数のタスクの詳細情報を取得します (最大 25 タスク)
必須入力:
task_ids (文字列の配列またはカンマ区切りの文字列): 取得するタスク GID (最大 25)
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 詳細なタスク情報のリスト
asana_get_project_status
プロジェクトのステータス更新を取得する
必須入力:
project_status_gid (文字列): 取得するプロジェクトステータスGID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: プロジェクトのステータス情報
asana_get_project_statuses
プロジェクトのすべてのステータス更新を取得する
必須入力:
project_gid (文字列): ステータスを取得するプロジェクトGID
オプション入力:
制限(数):1ページあたりの結果数(1~100)
offset (文字列): ページネーションオフセットトークン
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: プロジェクトステータスの更新リスト
asana_create_project_status
プロジェクトの新しいステータス更新を作成する
必須入力:
project_gid (文字列): ステータスを作成するプロジェクトGID
テキスト(文字列):ステータス更新のテキストコンテンツ
オプション入力:
color (文字列): ステータスの色 (緑、黄、赤)
title (文字列): ステータス更新のタイトル
html_text (文字列): ステータス更新用のHTML形式のテキスト
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
返されるもの: 作成されたプロジェクトのステータス情報
asana_delete_project_status
プロジェクトのステータス更新を削除する
必須入力:
project_status_gid (文字列): 削除するプロジェクトステータスGID
返品: 削除確認
asana_set_parent_for_task
タスクの親を設定し、その親の他のサブタスク内にサブタスクを配置します。
必須入力:
task_id (文字列): 操作対象のタスクID
親(文字列):タスクの新しい親、または親がない場合はnull
オプション入力:
insert_after (文字列): タスクを挿入する親のサブタスク、またはリストの先頭に挿入する場合は null
insert_before (文字列): タスクを前に挿入する親のサブタスク、またはリストの最後に挿入する場合は null
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 更新されたタスク情報
asana_get_tasks_for_tag
特定のタグのタスクを取得する
必須入力:
tag_gid (文字列): タスクを取得するタグGID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
opt_pretty (ブール値): レスポンスを「きれいな」形式で提供します
limit (整数): ページごとに返されるオブジェクトの数。値は1~100の範囲で指定する必要があります。
offset (文字列): API によって返される次のページへのオフセット。
戻り値: 指定されたタグのタスクのリスト
asana_get_tags_for_workspace
ワークスペース内のタグを取得する
必須入力:
workspace_gid (文字列): ワークスペースまたは組織のグローバル一意識別子 (DEFAULT_WORKSPACE_ID が設定されている場合はオプション)
オプション入力:
limit (整数): ページあたりの結果数。ページごとに返されるオブジェクトの数。値は1~100の範囲で指定する必要があります。
offset (文字列): オフセットトークン。API によって返される次のページへのオフセット。
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: ワークスペース内のタグのリスト
asana_create_section_for_project
プロジェクトに新しいセクションを作成する
必須入力:
project_id (文字列): セクションを作成するプロジェクトID
name (文字列): 作成するセクションの名前
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: 作成されたセクション情報
asana_add_task_to_section
プロジェクトの特定のセクションにタスクを追加する
必須入力:
section_id (文字列): タスクを追加するセクションID
task_id (文字列): セクションに追加するタスクID
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: 演算結果
asana_create_project
ワークスペースに新しいプロジェクトを作成する
必須入力:
workspace_id (文字列): プロジェクトを作成するワークスペースID (DEFAULT_WORKSPACE_IDが設定されている場合はオプション)
name (文字列): 作成するプロジェクトの名前
team_id (文字列): 組織ワークスペースに必須 - プロジェクトを共有するチームGID
オプション入力:
public (boolean): プロジェクトが組織に対して公開されているかどうか (デフォルト: false)
archived (boolean): プロジェクトがアーカイブされているかどうか (デフォルト: false)
color (文字列): プロジェクトの色 (ライトグリーン、ライトオレンジ、ライトブルーなど)
レイアウト(文字列):プロジェクトのレイアウト(ボード、リスト、タイムライン、またはカレンダー)
default_view (文字列): プロジェクトのデフォルトビュー (リスト、ボード、カレンダー、タイムライン、ガントチャート)
due_on (文字列): このプロジェクトの期限日 (YYYY-MM-DD 形式)
start_on (文字列): このプロジェクトの作業が開始される日 (YYYY-MM-DD 形式)
メモ(文字列): プロジェクトに関連付けられた自由形式のテキスト情報
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: 作成されたプロジェクト情報
asana_get_teams_for_user
ユーザーがアクセスできるチームを取得する
必須入力:
user_gid (文字列): チームを取得するユーザーGID。現在のユーザーのチームを取得するには「me」を使用します。
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのコンマ区切りリスト
戻り値: ユーザーがアクセスできるチームのリスト
asana_get_teams_for_workspace
ワークスペースにチームを集める
必須入力:
workspace_gid (文字列): チームを取得するワークスペース GID (DEFAULT_WORKSPACE_ID が設定されている場合はオプション)
オプション入力:
opt_fields (文字列): 含めるオプションフィールドのカンマ区切りリスト
戻り値: ワークスペース内のチームのリスト
asana_list_workspace_users
ワークスペースにユーザーを追加する
必須入力:
workspace_id (文字列): ユーザーを取得するワークスペースID (DEFAULT_WORKSPACE_IDが設定されている場合はオプション)
オプション入力:
制限(整数): 1ページあたりの結果数(1~100)
offset (文字列): ページネーションオフセットトークン
opt_fields (文字列): 含めるオプション フィールドのコンマ区切りリスト (デフォルトは "name,email")
auto_paginate (boolean): すべてのページを自動的に取得するかどうか
max_pages (整数): auto_paginate が true のときに取得するページの最大数
戻り値: ワークスペース内のユーザーのリスト
asana_get_project_hierarchy
セクション、タスク、サブタスクを含む Asana プロジェクトの完全な階層構造を取得します
必須入力:
project_id (文字列): 階層を取得するプロジェクトID
オプション入力:
include_completed_tasks (ブール値): 完了したタスクを含める (デフォルト: false)
include_subtasks (ブール値): 各タスクにサブタスクを含める (デフォルト: true)
include_completed_subtasks (ブール値): 完了したサブタスクを含める (デフォルト: include_completed_tasks に従う)
max_subtask_depth (数値): 取得するサブタスクの最大深度 (デフォルト: 1)
opt_fields_tasks (文字列): タスクのオプションフィールド
opt_fields_subtasks (文字列): サブタスクのオプションフィールド
opt_fields_sections (文字列): セクションのオプションフィールド
opt_fields_project (文字列): プロジェクトのオプションフィールド
制限(数値): 1ページあたりの最大結果数(1~100)
オフセット(文字列):前のレスポンスからのページネーショントークン
auto_paginate (boolean): すべてのページを自動的に取得するかどうか
max_pages (数値): auto_paginate が true の場合に取得する最大ページ数
戻り値: 統計情報を含む階層的なプロジェクト構造
プロンプト
task-summaryメモ、カスタムフィールド、コメントに基づいてタスクの概要とステータスの更新を取得します
必須入力:
task_id (文字列): 概要を取得するタスクID
戻り値: タスク概要を生成するための手順を含む詳細なプロンプト
リソース
なし
設定
Asanaアカウントを作成します:
Asanaにアクセスしてください。
「サインアップ」をクリックします。
Asana アクセストークンを取得します:
Asana 開発者コンソールから個人アクセス トークンを生成できます。
詳細はこちらをご覧ください: https://developers.asana.com/docs/personal-access-token
オプション: デフォルトのワークスペース ID を取得します。
主に 1 つのワークスペースで作業する場合は、デフォルトのワークスペース ID を設定できます。
Asana API を使用してワークスペースを一覧表示するか、Asana のワークスペースに移動して URL から ID をコピーします。
デフォルトのワークスペース ID を設定すると、API 呼び出しごとにワークスペースを指定する必要がなくなります。
デフォルトのワークスペースがない場合、サーバーは
asana_list_workspacesを呼び出して、使用可能なワークスペースのリストを取得します。
Claude Desktop を構成する:
claude_desktop_config.jsonに以下を追加します。{ "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@cristip73/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token", "DEFAULT_WORKSPACE_ID": "your-default-workspace-id" } } } }
トラブルシューティング
権限エラーが発生した場合:
ご利用のAsanaプランでAPIアクセスが許可されていることを確認してください
claude_desktop_config.jsonでアクセス トークンと構成が正しく設定されていることを確認します。
貢献
このリポジトリをクローンしてハッキングを始めましょう。
MCP Inspectorを使用してローカルでテストする
変更をテストしたい場合は、次のように MCP インスペクターを使用できます。
これにより、クライアントはポート5173に公開され、サーバーはポート3000に公開されます。
これらのポートがすでに他のものによって使用されている場合は、以下を使用できます。
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。