任务管理服务器

Asana MCP服务器提供任务、项目、组合、模板和工作区发现的管理工具。

  • by haroldcampbell
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 haroldcampbell/asana-mcp-server

使用说明

Asana MCP Server

MCP server that provides Asana tools for tasks, projects, portfolios, templates, and workspace discovery.

Requirements

  • Python 3.10+
  • uv for environment management
  • Asana personal access token (PAT)

Environment Variables

  • ASANA_TOKEN_FILE (preferred, required if ASANA_ACCESS_TOKEN not set)
  • ASANA_ACCESS_TOKEN (fallback)
  • ASANA_API_BASE (optional, default https://app.asana.com/api/1.0)
  • ASANA_TIMEOUT_SECONDS (optional, default 30)
  • ASANA_MAX_RETRIES (optional, default 3)
  • LOG_LEVEL (optional, default INFO)
  • LOG_FILE (optional, default logs/asana-mcp.log)

Tools

  • asana_get_current_user
  • asana_list_workspaces
  • asana_list_projects
  • asana_get_task
  • asana_search_tasks
  • asana_create_task
  • asana_update_task
  • asana_delete_task
  • asana_move_task_to_section
  • asana_create_task_in_section
  • asana_list_portfolios
  • asana_get_portfolio
  • asana_create_portfolio
  • asana_update_portfolio
  • asana_delete_portfolio
  • asana_list_portfolio_items
  • asana_add_portfolio_item
  • asana_remove_portfolio_item
  • asana_list_portfolio_custom_field_settings
  • asana_add_portfolio_custom_field_setting
  • asana_remove_portfolio_custom_field_setting
  • asana_add_portfolio_members
  • asana_remove_portfolio_members
  • asana_list_portfolio_memberships
  • asana_list_project_templates
  • asana_get_project_template
  • asana_instantiate_project_template
  • asana_save_project_as_template
  • asana_delete_project_template
  • asana_list_task_templates
  • asana_get_task_template
  • asana_instantiate_task_template
  • asana_delete_task_template

Quickstart

uv sync
ASANA_TOKEN_FILE=.secrets/asana.token uv run python -m src.server

Runtime Flags

  • --version prints the server version and exits.
  • --health-check validates configuration and exits.

Packaging (PyInstaller)

  • Onefile build: ./scripts/build_dist.sh
  • Onedir build (faster startup): ./scripts/build_dist_onedir.sh

Run outputs:

./dist/asana-mcp-server --health-check
./dist/asana-mcp-server/asana-mcp-server --health-check

Codex CLI MCP Server Install

Example ~/.codex/config.toml entry:

[mcp_servers.asana]
command = "uv"
args = ["--project", "/path/to/repo", "run", "python", "-m", "src.server"]

[mcp_servers.asana.env]
PYTHONPATH = "/path/to/repo"
ASANA_TOKEN_FILE = "${HOME}/path/to/repo/.secrets/asana.token"

CLI Scripts

Each script accepts --payload or --payload-file with JSON input.

Example:

ASANA_ACCESS_TOKEN=*** \
  uv run python -m scripts.asana_get_task --payload '{"task_gid":"123"}'