remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides comprehensive access to Asana's task management API, enabling users to list workspaces, search and manage projects, create/update tasks, work with task dependencies, manage subtasks, add comments, organize sections, handle custom fields, and retrieve project hierarchies.
Asana 用 MCP サーバー
Asana のこのモデル コンテキスト プロトコル サーバー実装により、Anthropic の Claude デスクトップ アプリケーションなどの MCP クライアントから Asana API と通信できるようになります。
MCP の詳細はこちらをご覧ください:
- https://www.anthropic.com/news/model-context-protocol
- https://modelcontextprotocol.io/introduction
- https://github.com/modelcontextprotocol
使用法
選択したAIツール(例:Claude Desktop)で、Asanaのタスク、プロジェクト、ワークスペース、コメントなどについて質問してください。「Asana」という言葉を口にすることで、LLMが適切なツールを選択できる可能性が高まります。
例:
スプリント 30 プロジェクトには、未完了のアーサナ タスクがいくつありますか?
別の例:
カスタムフィールドの操作
カスタム フィールドを使用してタスクを更新または作成する場合は、次の形式を使用します。
値の形式はフィールド タイプによって異なります。
- 列挙フィールド: オプションの
enum_option.gid
を使用します(表示名ではありません) - テキストフィールド:文字列を使用する
- 数値フィールド: 数値を使用する
- 日付フィールド: YYYY-MM-DD形式の文字列を使用します
- 複数の列挙型フィールド:列挙型オプションのGIDの配列を使用する
カスタムフィールドGIDの検索
カスタム フィールドの GID とその列挙オプションを見つけるには:
- カスタム フィールドを含めるには、
opt_fields
パラメータを設定したasana_get_task
を使用します。Copy - レスポンスで、
custom_fields
配列を探します。各カスタムフィールドには以下の情報が含まれます。gid
: カスタムフィールドの一意の識別子name
: カスタムフィールドの表示名resource_subtype
: カスタム フィールドのタイプ (テキスト、数値、列挙型など)- 列挙型フィールドの場合、
enum_options
配列を調べて各オプションのGIDを見つけます。
例: 列挙型カスタムフィールドの更新
ツール
asana_list_workspaces
- Asana で利用可能なすべてのワークスペースを一覧表示する
- オプション入力:
- 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
に以下を追加します。Copy
トラブルシューティング
権限エラーが発生した場合:
- ご利用のAsanaプランでAPIアクセスが許可されていることを確認してください
claude_desktop_config.json
でアクセス トークンと構成が正しく設定されていることを確認します。
貢献
このリポジトリをクローンしてハッキングを始めましょう。
MCP Inspectorを使用してローカルでテストする
変更をテストしたい場合は、次のように MCP インスペクターを使用できます。
これにより、クライアントはポート5173
に公開され、サーバーはポート3000
に公開されます。
これらのポートがすでに他のものによって使用されている場合は、以下を使用できます。
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
This server cannot be installed
このサーバー実装により、AI アシスタントが Asana の API と対話できるようになり、ユーザーは自然言語リクエストを通じてタスク、プロジェクト、ワークスペース、コメントを管理できるようになります。