Skip to main content
Glama
Ryosuke-Mohri

Asana MCP Hybrid Integration

README.md
# Asana MCP Hybrid Integration

Asana公式MCP V2 + ローカルMCPガードサーバーのハイブリッド構成で、  
Cursor Agent から自然言語でAsanaのポートフォリオ/プロジェクト/タスク管理を安全に実行する基盤。

## Architecture

| MCP Server | Role | Transport |
|---|---|---|
| **asana-official** | 日常操作 (閲覧, 作成, 更新, 検索) | npx mcp-remote → Asana MCP V2 |
| **asana-guard** | ガード付き操作 (削除, 一括更新, 命名規則, 監査) | Python stdio |

## Prerequisites

- Windows 10+
- Python 3.12+
- Node.js v22+ (for `npx mcp-remote`)
- Asana account with Developer Console access

## Quick Start

```powershell
# 1. Activate virtual environment
.venv\Scripts\Activate.ps1

# 2. Store your Asana PAT
python scripts\setup_auth.py

# 3. Verify connection
python scripts\verify_connection.py

# 4. Restart Cursor to load MCP servers
```

## Guard MCP Tools

| Tool | Description |
|---|---|
| `guard_delete_task` | Preview task deletion + issue confirm token |
| `guard_delete_project` | Preview project deletion + issue confirm token |
| `guard_confirm_delete` | Execute deletion with valid confirm token |
| `guard_audit_log` | Search audit log entries |
| `guard_check_connection` | Verify Asana API connectivity |

## Security

- Secrets are stored in Windows Credential Manager via `keyring` (DPAPI encrypted)
- All guarded operations are logged to `logs/audit_YYYYMMDD.jsonl`
- Delete operations require two-step confirmation (preview → approve → execute)
- Sensitive values are automatically masked in audit logs