npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-asana-minimal

v1.3.0

Published

Minimal Asana MCP server with essential task operations (11 tools)

Readme

mcp-asana-minimal

Minimal Asana MCP server with essential task operations (11 tools)

A lightweight Model Context Protocol (MCP) server for Asana that provides only the essential task management tools, designed to stay under Cursor's 40-tool limit.


Features

  • 11 Essential Tools - Only what you need
  • Personal Access Token Auth - Simple authentication
  • TypeScript - Type-safe implementation
  • Lightweight - Minimal dependencies

Tools

  1. asana_create_task - Create a new task (supports section parameter)
  2. asana_update_task - Update an existing task
  3. asana_get_task - Get task details
  4. asana_list_tasks - List tasks with filters
  5. asana_list_projects - List projects in workspace(s)
  6. asana_add_comment - Add comments to tasks
  7. asana_create_section - Create a new section in a project (works for both list and board views)
  8. asana_list_sections - List all sections in a project
  9. asana_add_task_to_section - Move an existing task to a different section/column
  10. asana_create_subtask - Create a new subtask within an existing task
  11. asana_list_subtasks - List all subtasks of a task

Installation

Get Asana Personal Access Token

  1. Go to: https://app.asana.com/0/my-apps
  2. Click "Create New Token" or "Personal Access Token"
  3. Give it a name (e.g., "Cursor IDE Integration")
  4. Copy the token

Set Environment Variable

export ASANA_ACCESS_TOKEN="your_token_here"

Or add to your shell profile (~/.zshrc or ~/.bashrc):

echo 'export ASANA_ACCESS_TOKEN="your_token_here"' >> ~/.zshrc
source ~/.zshrc

Configuration

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "asana-minimal": {
      "command": "npx",
      "args": ["-y", "mcp-asana-minimal"],
      "env": {
        "ASANA_ACCESS_TOKEN": "${ASANA_ACCESS_TOKEN}"
      }
    }
  }
}

Usage

After configuration, restart Cursor and use natural language commands:

  • "Create a task in Asana called 'Review code'"
  • "List my Asana tasks"
  • "Update task ABC123 with status completed"
  • "Get details for task XYZ789"
  • "List all projects in my workspace"
  • "Add a comment to task ABC123"

Development

Build

npm install
npm run build

Run Locally

npm start

Publish to npm

npm publish --access public

Tool Details

asana_create_task

Create a new task in Asana.

Parameters:

  • name (required) - Task name
  • notes (optional) - Task description
  • workspace (optional) - Workspace GID
  • project (optional) - Project GID
  • section (optional) - Section GID to add task to (requires project)
  • assignee (optional) - Assignee GID
  • due_on (optional) - Due date (YYYY-MM-DD)

asana_update_task

Update an existing task.

Parameters:

  • task_id (required) - Task GID
  • name (optional) - New task name
  • notes (optional) - New description
  • assignee (optional) - Assignee GID (use "none" to unassign)
  • due_on (optional) - Due date (use "none" to remove)
  • completed (optional) - Mark as completed

asana_get_task

Get details of a specific task.

Parameters:

  • task_id (required) - Task GID

asana_list_tasks

List tasks with optional filters.

Parameters:

  • project (optional) - Filter by project GID
  • assignee (optional) - Filter by assignee GID (use "me" for current user)
  • workspace (optional) - Filter by workspace GID
  • completed (optional) - Filter by completion status
  • limit (optional) - Max results (default: 50, max: 100)

asana_list_projects

List projects in workspace(s).

Parameters:

  • workspace (optional) - Filter by workspace GID (lists all accessible projects if not provided)
  • archived (optional) - Include archived projects (default: false)
  • limit (optional) - Max results (default: 50, max: 100)

asana_add_comment

Add a comment (story) to an existing task.

Parameters:

  • task_id (required) - Task GID
  • text (required) - Comment text

asana_create_section

Create a new section in an Asana project. Works for both list sections and board columns.

Parameters:

  • project (required) - Project GID
  • name (required) - Section name

asana_list_sections

List all sections (list sections or board columns) in a project.

Parameters:

  • project (required) - Project GID

asana_add_task_to_section

Move an existing task to a different section/column.

Parameters:

  • task_id (required) - The GID of the task to move
  • section_id (required) - The GID of the section to move the task to

asana_create_subtask

Create a new subtask within an existing task.

Parameters:

  • parent_task_id (required) - The GID of the parent task
  • name (required) - Name of the subtask
  • notes (optional) - Subtask description/notes
  • assignee (optional) - User GID or "me" to assign the subtask
  • due_on (optional) - Due date in YYYY-MM-DD format

asana_list_subtasks

List all subtasks of a task.

Parameters:

  • task_id (required) - The GID of the parent task

License

MIT


Created: 2025-12-11