mcpField
A
asana

asana

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

asana について

Asanaでプロジェクトを管理するユーザーやチーム向けのMCPサーバーです。タスクとプロジェクトの作成、一覧表示、更新、削除に対応します。

主な機能

  1. 01タスクの作成と管理
  2. 02プロジェクト別のタスク一覧
  3. 03プロジェクトの作成と管理
  4. 04ワークスペース別のプロジェクト一覧

活用シーン

  1. 01プロジェクトタスクの作成と割り当て
  2. 02期限や完了状況の更新
  3. 03プロジェクト内のタスク確認
  4. 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 は、環境変数を使用して設定します。

環境の設定
  1. サンプルの環境ファイルをコピーして、自分用のファイルを作成します。
cp .env.example .env
  1. 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、必須):更新するタスクの ID
  • name(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 レスポンスのエラー処理が限定的です
  • タスクやプロジェクトの一覧表示でページネーションに対応していません

ライセンス

MIT

コメント

MCP は初めてですか?

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

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