asana について
Asanaでプロジェクトを管理するユーザーやチーム向けのMCPサーバーです。タスクとプロジェクトの作成、一覧表示、更新、削除に対応します。
主な機能
- 01タスクの作成と管理
- 02プロジェクト別のタスク一覧
- 03プロジェクトの作成と管理
- 04ワークスペース別のプロジェクト一覧
活用シーン
- 01プロジェクトタスクの作成と割り当て
- 02期限や完了状況の更新
- 03プロジェクト内のタスク確認
- 04ワークスペースのプロジェクト作成や削除
MCP 対応
stdio経由で、Asanaのタスクとプロジェクトを管理するツールをMCPクライアントに提供します。作成、一覧表示、更新、削除に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Asana 統合サーバー
これは、Asana のタスクとプロジェクトを管理するためのツールを提供する MCP(Model Context Protocol)サーバーです。このサーバーは、Asana のタスクとプロジェクトの作成、更新、一覧表示、削除を行うツールを公開します。
機能
-
タスク管理
- 名前、説明、期限、担当者、プロジェクトを指定して Asana のタスクを新規作成
- プロジェクト内のタスクを一覧表示
- 既存の Asana タスクを更新(名前、説明、期限、担当者、完了状態)
- Asana のタスクを削除
-
プロジェクト管理
- 名前、メモ、色、公開設定を指定して Asana のプロジェクトを新規作成
- ワークスペース内のすべてのプロジェクトを一覧表示
- Asana のプロジェクトを削除
前提条件
- Node.js(v14 以降)
- API アクセス権のある Asana アカウント
- Asana Personal Access Token
インストール
# Clone the repository
git clone <repository-url>
cd mcp-asana
# Install dependencies
npm install
設定
MCP Asana Integration は、環境変数を使用して設定します。
環境の設定
- サンプルの環境ファイルをコピーして、自分用のファイルを作成します。
cp .env.example .env
- Asana の認証情報と設定を
.envファイルに記入します。
# Required: Your Asana Personal Access Token
ASANA_ACCESS_TOKEN=your_asana_personal_access_token
# Required for task operations: Default Project ID for tasks
ASANA_PROJECT_ID=1234567890
# Required for project operations: Default Workspace ID for projects
ASANA_WORKSPACE_ID=0987654321
重要:すべての機能を利用するには、
ASANA_PROJECT_IDとASANA_WORKSPACE_IDの両方が必要です。プロジェクト ID がないと、タスク操作に失敗する場合があります。ワークスペース ID がないと、プロジェクト操作に失敗する場合があります。
Asana ID の確認
このリポジトリには、Asana ID を確認するためのヘルパースクリプトが含まれています。
# List all workspaces
node listWorkspaces.js
# List all projects
node listAllProjects.js
スクリプトで取得した ID を .env ファイルにコピーしてください。
使用方法
プロジェクトのビルド
npm run build
サーバーの実行
このサーバーは現在、stdio トランスポートに対応しています。
npm start
開発モード
自動リロードを有効にして開発する場合:
npm run dev
シンプルなクライアントの使用
サーバーとやり取りするためのシンプルなコマンドラインクライアントが含まれています。
# Create a new task
./simple-client.sh create-task "Task Name" "Task Description" "2025-04-01" "" "1209708771942231"
# List tasks in a project
./simple-client.sh list-tasks
# Update a task
./simple-client.sh update-task "1234567890" "Updated Task Name" "Updated Description" "2025-05-01" "" "true"
# Delete a task
./simple-client.sh delete-task "1234567890"
# Create a new project
./simple-client.sh create-project "Project Name" "Project Notes" "light-green" "true"
# List all projects
./simple-client.sh list-projects
# Delete a project
./simple-client.sh delete-project "1234567890"
API
タスク管理ツール
create-task
Asana のタスクを新規作成します。
パラメーター:
name(string、必須):タスクの名前description(string、任意):タスクの説明dueDate(string、任意):タスクの期限(ISO 形式)assignee(string、任意):タスクの担当者project(string、任意):タスクを追加するプロジェクト ID
list-tasks
プロジェクト内のタスクを一覧表示します。
パラメーター:
projectId(string、任意):タスクを一覧表示するプロジェクトの ID(指定しない場合はデフォルトのプロジェクトを使用)
update-task
既存の Asana タスクを更新します。
パラメーター:
taskId(string、必須):更新するタスクの IDname(string、任意):タスクの新しい名前description(string、任意):タスクの新しい説明dueDate(string、任意):タスクの新しい期限(ISO 形式)assignee(string、任意):タスクの新しい担当者completed(boolean、任意):タスクが完了しているかどうか
delete-task
Asana のタスクを削除します。
パラメーター:
taskId(string、必須):削除するタスクの ID
プロジェクト管理ツール
create-project
Asana のプロジェクトを新規作成します。
パラメーター:
name(string、必須):プロジェクトの名前notes(string、任意):プロジェクトに関するメモcolor(string、任意):プロジェクトの色(例:"light-green"、"dark-blue")isPublic(boolean、任意):プロジェクトをチームに公開するかどうか
list-projects
ワークスペース内のすべてのプロジェクトを一覧表示します。
パラメーター:
workspaceId(string、任意):プロジェクトを一覧表示するワークスペースの ID(指定しない場合はデフォルトのワークスペースを使用)
delete-project
Asana のプロジェクトを削除します。
パラメーター:
projectId(string、必須):削除するプロジェクトの ID
MCP との統合
このサーバーを MCP と統合するには、以下を MCP の設定に追加します。
{
"asana": {
"command": "node",
"args": [
"/path/to/mcp-asana/dist/server.js"
]
}
}
プロジェクト構成
mcp-asana/
├── asana/ # Asana API integration
│ ├── config.js # Configuration and shared utilities
│ ├── index.js # Main entry point for the Asana API
│ ├── index.d.ts # TypeScript declarations
│ ├── projects.js # Project management functions
│ └── tasks.js # Task management functions
├── src/
│ ├── server.ts # MCP server implementation
│ └── simple-client.ts # Command-line client
├── dist/ # Compiled JavaScript files
├── simple-client.sh # Shell script for the command-line client
├── listWorkspaces.js # Utility to list all workspaces
├── listAllProjects.js # Utility to list all projects
├── .env.example # Example environment file
└── package.json # Project dependencies
既知の制限事項
- HTTP/SSE トランスポートは現在サポートされていません
- API レスポンスのエラー処理が限定的です
- タスクやプロジェクトの一覧表示でページネーションに対応していません
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。