Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/asana

OCI · GHCR.IO/MCPARMORY/ASANA:1.0.5 · 2 COMPONENTS · SCANNED SEP 20

Manage tasks, projects, portfolios, and team workflows

0 this week 50 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
Schema Quality & AI Usability77
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 25088 tokens (~114/item across 220 items; 220 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 36 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 220 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the com.mcparmory/asana MCP server?

com.mcparmory/asana runs locally as a container image, launched with docker run --rm -i ghcr.io/mcparmory/asana:1.0.5. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/mcparmory/asana:1.0.5

# add to Claude Code
claude mcp add com-mcparmory-asana -- docker run --rm -i ghcr.io/mcparmory/asana:1.0.5
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-asana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/asana:1.0.5"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-asana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/asana:1.0.5"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-asana -- docker run --rm -i ghcr.io/mcparmory/asana:1.0.5
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-asana": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/asana:1.0.5"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-asana:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/mcparmory/asana:1.0.5"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-asana": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/asana:1.0.5"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-asana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/asana:1.0.5"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 11 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed oci/ghcr.io/mcparmory/asana:1.0.5

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 220 exposed · ~25,088 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
list_team_memberships ~159

Retrieves a list of compact team membership records, optionally filtered by team, user, or workspace. Requires the team_memberships:read scope.

NameTypeReqDescription
limitintegerThe number of team membership records to return per page, between 1 and 100.
teamstringThe globally unique identifier (GID) of the team whose memberships should be returned.
userstringIdentifies the user whose team memberships to retrieve; accepts the string "me", a user email address, or a user GID. Must be used together with the workspace parameter.
workspacestringThe globally unique identifier (GID) of the workspace to scope the results to. Must be used together with the user parameter.

No output schema declared.

No examples provided.

list_team_memberships_for_team ~84

Retrieves all team memberships for a specified team, returning compact membership records for each member. Requires the team_memberships:read scope.

NameTypeReqDescription
limitintegerThe number of membership records to return per page, accepting values between 1 and 100.
team_gidstringyesThe globally unique identifier of the team whose memberships you want to retrieve.

No output schema declared.

No examples provided.

list_team_project_templates ~51

Retrieves all project templates belonging to a specified team, returning compact template records. Useful for discovering reusable project structures available within a team.

NameTypeReqDescription
team_gidstringyesGlobally unique identifier for the team.

No output schema declared.

No examples provided.

list_time_periods ~139

Retrieves a paginated list of compact time period records for a given workspace. Useful for browsing available time periods such as fiscal quarters or sprints.

NameTypeReqDescription
end_onstringFilters results to time periods ending on or before this date, specified in ISO 8601 date format.
limitintegerThe number of time period records to return per page, between 1 and 100.
start_onstringFilters results to time periods starting on or after this date, specified in ISO 8601 date format.
workspacestringyesThe globally unique identifier of the workspace whose time periods should be retrieved.

No output schema declared.

No examples provided.

list_time_tracking_entries ~332

Retrieves a list of time tracking entries, optionally filtered by task, project, portfolio, user, workspace, date range, or timesheet approval status. Requires the `time_tracking_entries:read` scope.

NameTypeReqDescription
attributable_tostringThe globally unique identifier of the project to scope results to only time tracking entries attributed to that project.
entered_on_end_datestringThe inclusive end date for filtering entries by their entry date, in ISO 8601 date format (YYYY-MM-DD). Use together with `entered_on_start_date` to define a date range.
entered_on_start_datestringThe inclusive start date for filtering entries by their entry date, in ISO 8601 date format (YYYY-MM-DD). Use together with `entered_on_end_date` to define a date range.
portfoliostringThe globally unique identifier of the portfolio to scope results to only time tracking entries belonging to tasks within that portfolio.
taskstringThe globally unique identifier of the task to scope results to only time tracking entries associated with that task.
timesheet_approval_statusstringThe globally unique identifier of a timesheet approval status to scope results to only time tracking entries matching that approval state.
userstringThe globally unique identifier of the user to scope results to only time tracking entries logged by that user.
workspacestringThe globally unique identifier of the workspace to scope results to. When filtering by workspace, at least one of `entered_on_start_date` or `entered_on_end_date` must also be provided.

No output schema declared.

No examples provided.

list_timesheet_approval_statuses ~199

Retrieves a list of timesheet approval statuses for a given workspace, with optional filtering by user, date range, or approval status. Requires the timesheet_approval_statuses:read scope.

NameTypeReqDescription
approval_statusesstringOne or more approval status values to filter by; accepted values are draft, submitted, approved, or rejected. Multiple values may be provided as a comma-separated list.
from_datestringThe inclusive start date for filtering timesheet approval statuses, in ISO 8601 date format (YYYY-MM-DD).
to_datestringThe inclusive end date for filtering timesheet approval statuses, in ISO 8601 date format (YYYY-MM-DD).
userstringThe globally unique identifier of a specific user to narrow results to only their timesheet approval statuses.
workspacestringyesThe globally unique identifier of the workspace whose timesheet approval statuses should be retrieved.

No output schema declared.

No examples provided.

list_user_favorites ~189

Retrieves all favorites for a specified user within a given workspace, filtered by resource type, ordered as they appear in the user's Asana sidebar. Note: currently only returns favorites for the authenticated user.

NameTypeReqDescription
limitintegerThe number of favorite items to return per page. Must be between 1 and 100 inclusive.
resource_typestringyesThe type of Asana resource to filter favorites by. Must be one of the supported resource types: portfolio, project, tag, task, user, or project_template.
user_gidstringyesThe unique identifier of the user whose favorites to retrieve. Accepts the literal string 'me' to reference the authenticated user, a user's email address, or a user's GID.
workspacestringyesThe GID of the workspace in which to look up the user's favorites. All returned favorites will belong to this workspace.

No output schema declared.

No examples provided.

list_user_task_list_tasks ~152

Retrieves the compact list of tasks from a user's My Tasks list, including both complete and incomplete tasks by default. Use the completed_since filter to narrow results, such as returning only incomplete tasks by passing 'now'.

NameTypeReqDescription
completed_sincestringFilters results to only include tasks that are incomplete or were completed on or after this point in time. Accepts an ISO 8601 date-time string or the keyword 'now' to return only currently incomple…
limitintegerThe number of task objects to return per page, between 1 and 100 inclusive.
user_task_list_gidstringyesThe globally unique identifier for the user task list whose tasks you want to retrieve.

No output schema declared.

No examples provided.

list_user_team_memberships ~148

Retrieves all team memberships for a specified user within a given workspace, returning compact membership records. Requires the team_memberships:read scope.

NameTypeReqDescription
limitintegerThe number of team membership records to return per page, allowing pagination through large result sets. Must be an integer between 1 and 100.
user_gidstringyesThe unique identifier for the user whose team memberships will be retrieved. Accepts the string 'me' for the authenticated user, a user's email address, or a user's global ID (gid).
workspacestringyesThe globally unique identifier (gid) of the workspace used to scope the team membership results to a specific organization or workspace.

No output schema declared.

No examples provided.

list_user_teams ~140

Retrieves all teams that a specified user belongs to, optionally filtered by a workspace or organization. Returns compact team records for the given user.

NameTypeReqDescription
limitintegerThe number of team records to return per page. Must be an integer between 1 and 100 inclusive.
organizationstringyesThe GID of the workspace or organization used to filter the returned teams, ensuring only teams within that context are included.
user_gidstringyesThe unique identifier for the user whose teams you want to retrieve. Accepts the literal string 'me' for the authenticated user, a user's email address, or a numeric user GID.

No output schema declared.

No examples provided.

list_user_workspace_memberships ~117

Retrieves all workspace memberships for a specified user, returning compact membership records. Useful for discovering which workspaces a user belongs to.

NameTypeReqDescription
limitintegerThe number of membership records to return per page. Must be between 1 and 100 inclusive; use pagination to retrieve additional results beyond the first page.
user_gidstringyesThe unique identifier for the user whose workspace memberships to retrieve. Accepts the literal string 'me' for the authenticated user, a registered email address, or a numeric user GID.

No output schema declared.

No examples provided.

list_users ~125

Retrieves user records across all workspaces and organizations accessible to the authenticated user, with optional filtering by workspace or team. Requires the 'users:read' scope and returns results sorted by user ID.

NameTypeReqDescription
limitintegerThe number of user records to return per page. Must be an integer between 1 and 100 inclusive.
teamstringThe unique ID of a team to restrict results to only users belonging to that team.
workspacestringThe unique ID of a workspace or organization to restrict results to only users belonging to that workspace or organization.

No output schema declared.

No examples provided.

list_workspace_custom_fields ~84

Retrieves a list of all custom fields defined in a given workspace or organization. Returns compact representations suitable for discovery and reference.

NameTypeReqDescription
limitintegerThe number of custom field records to return per page. Must be between 1 and 100.
workspace_gidstringyesThe globally unique identifier of the workspace or organization whose custom fields you want to retrieve.

No output schema declared.

No examples provided.

list_workspace_events ~148

Retrieves all events that have occurred in a workspace since a given sync token was issued, enabling incremental polling for changes. Returns up to 1000 events per request; if more exist, the response includes a flag to continue paginating with a refreshed sync token.

NameTypeReqDescription
syncstringA sync token from a previous response used to fetch only events that occurred after that token was issued; omit this parameter on the first request to receive a fresh token. If the token has expired,…
workspace_gidstringyesThe globally unique identifier for the target workspace or organization whose events should be retrieved.

No output schema declared.

No examples provided.

list_workspace_memberships ~115

Retrieves compact membership records for all members of a specified workspace or organization. Optionally filter results by a specific user.

NameTypeReqDescription
limitintegerThe number of membership records to return per page. Must be between 1 and 100.
userstringFilter memberships to a specific user, identified by the string 'me' (current user), an email address, or a user GID.
workspace_gidstringyesThe globally unique identifier of the workspace or organization whose memberships you want to retrieve.

No output schema declared.

No examples provided.

list_workspace_projects ~98

Retrieves compact records for all projects within a specified workspace. Note: this endpoint may time out for large domains; use the memberships endpoint to fetch projects for a specific team.

NameTypeReqDescription
archivedbooleanFilters results to only include projects matching the specified archived status. When set to true, only archived projects are returned; when false, only active projects are returned.
workspace_gidstringyesGlobally unique identifier for the workspace or organization.

No output schema declared.

No examples provided.

list_workspace_tags ~52

Retrieves compact tag records for all tags within a specified workspace. Useful for discovering and filtering available tags to organize and categorize work items.

NameTypeReqDescription
workspace_gidstringyesGlobally unique identifier for the workspace or organization.

No output schema declared.

No examples provided.

list_workspace_teams ~87

Retrieves compact records for all teams within a specified workspace or organization that are visible to the authorized user. Requires the 'teams:read' scope.

NameTypeReqDescription
limitintegerThe number of team records to return per page. Must be between 1 and 100.
workspace_gidstringyesThe globally unique identifier for the workspace or organization whose teams you want to retrieve.

No output schema declared.

No examples provided.

list_workspace_users ~69

Retrieves a compact list of all users in the specified workspace or organization, sorted alphabetically. Results are capped at 2000 users; use the /users endpoint for larger result sets.

NameTypeReqDescription
workspace_gidstringyesThe globally unique identifier of the workspace or organization whose users you want to retrieve.

No output schema declared.

No examples provided.

list_workspaces ~58

Retrieves all workspaces visible to the authorized user. Returns compact records for each workspace, requiring the workspaces:read scope.

NameTypeReqDescription
limitintegerNumber of workspace records to return per page. Must be between 1 and 100.

No output schema declared.

No examples provided.

reject_access_request ~61

Rejects a pending access request for a target object, denying the requester permission to access the resource. Use this to explicitly decline access requests that should not be granted.

NameTypeReqDescription
access_request_gidstringyesThe globally unique identifier of the access request to reject.

No output schema declared.

No examples provided.

remove_custom_field_from_goal ~86

Removes a custom field setting from a specified goal, detaching the custom field and its associated data from the goal. Requires the goals:write scope.

NameTypeReqDescription
custom_fieldstringyesThe globally unique identifier of the custom field to remove from the goal.
goal_gidstringyesThe globally unique identifier of the goal from which the custom field setting will be removed.

No output schema declared.

No examples provided.

remove_custom_field_from_project ~87

Removes a custom field setting from a project, detaching it so the field no longer appears or collects data for that project. Requires projects:write scope.

NameTypeReqDescription
custom_fieldstringyesThe globally unique identifier of the custom field to detach from the project.
project_gidstringyesThe globally unique identifier of the project from which the custom field setting will be removed.

No output schema declared.

No examples provided.

remove_goal_followers ~109

Removes one or more followers (collaborators) from a specified goal. Returns the complete updated goal record reflecting the removed followers.

NameTypeReqDescription
followersarrayyesA list of users to remove as followers from the goal. Each item can be the string 'me' to reference the authenticated user, a user's email address, or a user's globally unique identifier (gid). Order…
goal_gidstringyesThe globally unique identifier of the goal from which followers will be removed.

No output schema declared.

No examples provided.

remove_goal_supporting_relationship ~103

Removes a supporting relationship between a child resource and a parent goal, unlinking a goal, project, task, or portfolio that was previously set as a supporting resource.

NameTypeReqDescription
goal_gidstringyesThe unique identifier of the parent goal from which the supporting relationship will be removed.
supporting_resourcestringyesThe unique identifier of the supporting resource to unlink from the parent goal; must be the identifier of a goal, project, task, or portfolio.

No output schema declared.

No examples provided.

remove_portfolio_custom_field ~87

Removes a custom field setting from a portfolio, detaching it so the field no longer appears or collects data for that portfolio. Requires portfolios:write scope.

NameTypeReqDescription
custom_fieldstringyesThe globally unique identifier of the custom field to detach from the portfolio.
portfolio_gidstringyesThe globally unique identifier of the portfolio from which the custom field setting will be removed.

No output schema declared.

No examples provided.

remove_portfolio_item ~76

Removes a specific item from a portfolio, unlinking it from the portfolio's collection. Returns an empty data block upon success.

NameTypeReqDescription
itemstringyesThe globally unique identifier of the item to remove from the portfolio.
portfolio_gidstringyesThe globally unique identifier of the portfolio from which the item will be removed.

No output schema declared.

No examples provided.

remove_portfolio_members ~100

Removes one or more users from the membership list of a specified portfolio. Returns the updated portfolio record reflecting the changes.

NameTypeReqDescription
membersstringyesA comma-separated list of user identifiers to remove from the portfolio. Each identifier can be the string 'me' (current user), a user's email address, or a user's globally unique identifier (gid).
portfolio_gidstringyesThe globally unique identifier of the portfolio from which members will be removed.

No output schema declared.

No examples provided.

remove_project_followers ~95

Removes one or more users from following a project without affecting their project membership status. Returns the updated project record.

NameTypeReqDescription
followersstringyesA comma-separated list of users to remove as followers. Each user can be identified by their GID, email address, or the string 'me' to reference the authenticated user.
project_gidstringyesThe globally unique identifier of the project from which followers will be removed.

No output schema declared.

No examples provided.

remove_project_members ~99

Removes one or more users from the member list of a specified project. Returns the updated project record reflecting the new membership.

NameTypeReqDescription
membersstringyesA comma-separated list of users to remove from the project, where each user can be identified by their GID, email address, or the literal string 'me' to reference the authenticated user.
project_gidstringyesThe globally unique identifier of the project from which members will be removed.

No output schema declared.

No examples provided.

remove_task_dependencies ~99

Unlinks one or more dependency tasks from a specified task, removing the requirement that those tasks must be completed before this task can proceed.

NameTypeReqDescription
dependenciesarrayAn array of task GIDs representing the dependency tasks to unlink from the specified task. Order is not significant; each item should be a valid task GID string.
task_gidstringyesThe unique identifier (GID) of the task from which dependencies will be removed.

No output schema declared.

No examples provided.

remove_task_dependents ~84

Unlinks one or more dependent tasks from a specified task, removing the dependency relationship. Requires tasks:write scope.

NameTypeReqDescription
dependentsarrayAn array of task GIDs representing the dependent tasks to unlink from the specified task. Order is not significant.
task_gidstringyesThe unique identifier of the task from which dependents will be unlinked.

No output schema declared.

No examples provided.

remove_task_followers ~104

Removes one or more specified followers from a task, leaving all other followers unaffected. Returns the complete, updated task record after the removal.

NameTypeReqDescription
followersarrayyesA list of users to remove as followers from the task. Each item can be the string 'me', a user's email address, or a user's GID. Order is not significant.
task_gidstringyesThe unique identifier (GID) of the task from which followers will be removed.

No output schema declared.

No examples provided.

remove_task_from_project ~77

Removes a task from a specified project without deleting the task itself. The task remains in the system and can still belong to other projects.

NameTypeReqDescription
projectstringyesThe unique identifier of the project from which the task should be removed.
task_gidstringyesThe unique identifier of the task to be removed from the project.

No output schema declared.

No examples provided.

remove_task_tag ~83

Removes a tag from a specified task, dissociating the tag without deleting it. Returns an empty data block on success.

NameTypeReqDescription
tagstringyesThe unique global identifier (GID) of the tag to remove from the task.
task_gidstringyesThe unique global identifier (GID) of the task from which the tag will be removed.

No output schema declared.

No examples provided.

remove_team_member ~94

Removes a specified user from a team. The user making this request must be a member of the team to remove themselves or others.

NameTypeReqDescription
team_gidstringyesThe globally unique identifier of the team from which the user will be removed.
userstringThe identifier of the user to remove, accepted as the string 'me' (for the requesting user), an email address, or a user GID.

No output schema declared.

No examples provided.

remove_workspace_user ~109

Removes a user from a workspace or organization, transferring ownership of their resources to the admin or PAT owner. The caller must be a workspace admin; the target user can be identified by their user ID or email address.

NameTypeReqDescription
userstringThe identifier of the user to remove, which can be the literal string 'me', an email address, or a user's globally unique ID.
workspace_gidstringyesThe unique identifier of the workspace or organization from which the user will be removed.

No output schema declared.

No examples provided.

reorder_enum_option ~176

Repositions a specific enum option within a custom field's ordered list by placing it before or after another existing enum option. Locked custom fields can only be reordered by the user who locked the field.

NameTypeReqDescription
after_enum_optionstringThe unique identifier of an existing enum option in this custom field; the target enum option will be inserted immediately after it. Mutually exclusive with before_enum_option.
before_enum_optionstringThe unique identifier of an existing enum option in this custom field; the target enum option will be inserted immediately before it. Mutually exclusive with after_enum_option.
custom_field_gidstringyesThe globally unique identifier of the custom field whose enum options are being reordered.
enum_optionstringThe unique identifier of the enum option to move to a new position within the custom field.

No output schema declared.

No examples provided.

reorder_section ~158

Move a section to a new position within a project by placing it before or after another section. Exactly one of `before_section` or `after_section` must be provided; sections cannot be moved across projects.

NameTypeReqDescription
after_sectionstringThe unique identifier of the reference section that the moved section should be placed immediately after. Mutually exclusive with `before_section`.
before_sectionstringThe unique identifier of the reference section that the moved section should be placed immediately before. Mutually exclusive with `after_section`.
project_gidstringyesThe unique identifier of the project that contains the sections being reordered.
sectionstringThe unique identifier of the section you want to move to a new position within the project.

No output schema declared.

No examples provided.

request_access ~88

Submits an access request for a private project or portfolio, notifying the owner so they can grant or deny access.

NameTypeReqDescription
messagestringAn optional message to accompany the access request, allowing the requester to provide context or justification for why access is needed.
targetstringyesThe unique global ID (gid) of the private object you are requesting access to. Supports projects and portfolios.

No output schema declared.

No examples provided.

save_project_as_template ~179

Converts an existing project into a reusable project template by initiating an asynchronous job. Returns a job object that can be monitored for completion status.

NameTypeReqDescription
namestringyesThe display name to assign to the newly created project template.
project_gidstringyesThe unique identifier of the project to convert into a template.
publicbooleanyesControls whether the project template is publicly visible to all members of its team. Set to false to restrict visibility.
teamstringThe GID of the team to associate with the new project template. Required when the source project belongs to an organization; do not use alongside workspace.
workspacestringThe GID of the workspace to associate with the new project template. Only applicable when the source project exists in a workspace rather than an organization; do not use alongside team.

No output schema declared.

No examples provided.

search_projects ~817

Search and filter projects within a workspace using advanced criteria including text, ownership, membership, portfolio, dates, and custom fields. Results are eventually consistent and require a premium Asana account; use list_projects instead when immediate consistency after writes is needed.

NameTypeReqDescription
completedbooleanFilter projects by completion status: `true` returns only completed projects, `false` returns only incomplete projects.
completed_at.afterstringISO 8601 datetime string; returns projects whose completion timestamp is strictly after this datetime.
completed_at.beforestringISO 8601 datetime string; returns projects whose completion timestamp is strictly before this datetime.
completed_onstringISO 8601 date string to match projects completed on an exact date, or `null` to match projects with no completion date.
completed_on.afterstringISO 8601 date string; returns projects completed strictly after this date.
completed_on.beforestringISO 8601 date string; returns projects completed strictly before this date.
created_at.afterstringISO 8601 datetime string; returns projects whose creation timestamp is strictly after this datetime.
created_at.beforestringISO 8601 datetime string; returns projects whose creation timestamp is strictly before this datetime.
created_onstringISO 8601 date string to match projects created on an exact date, or `null` to match projects with no creation date recorded.
created_on.afterstringISO 8601 date string; returns projects created strictly after this date.
created_on.beforestringISO 8601 date string; returns projects created strictly before this date.
due_at.afterstringISO 8601 datetime string; returns projects whose due datetime is strictly after this datetime.
due_at.beforestringISO 8601 datetime string; returns projects whose due datetime is strictly before this datetime.
due_onstringISO 8601 date string to match projects with a due date on an exact date, or `null` to match projects with no due date.
due_on.afterstringISO 8601 date string; returns projects with a due date strictly after this date.
due_on.beforestringISO 8601 date string; returns projects with a due date strictly before this date.
members.anystringComma-separated list of user GIDs or the string `me`; returns projects where any of the specified users are members.
members.notstringComma-separated list of user GIDs or the string `me`; excludes projects where any of the specified users are members.
owner.anystringComma-separated list of user GIDs or the string `me`; returns projects owned by any of the specified users.
portfolios.anystringComma-separated list of portfolio GIDs; returns projects that belong to any of the specified portfolios.
sort_ascendingbooleanWhen `true`, results are returned in ascending sort order; defaults to descending (`false`).
sort_bystringField by which to sort results; defaults to `modified_at` if not specified.
start_onstringISO 8601 date string to match projects with a start date on an exact date, or `null` to match projects with no start date.
start_on.afterstringISO 8601 date string; returns projects with a start date strictly after this date.
start_on.beforestringISO 8601 date string; returns projects with a start date strictly before this date.
teams.anystringComma-separated list of team GIDs; returns projects belonging to any of the specified teams.
textstringFull-text search string matched against project names to narrow results.
workspace_gidstringyesThe globally unique identifier of the workspace or organization to search within.

No output schema declared.

No examples provided.

search_tasks ~1,775

Search tasks within a workspace using advanced filters including text, assignees, projects, dates, custom fields, and more. Requires a premium Asana workspace or premium team membership; results are eventually consistent and support manual pagination via sort and limit.

NameTypeReqDescription
assigned_by.anystringReturns tasks assigned by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
assigned_by.notstringExcludes tasks assigned by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
assignee.anystringReturns tasks assigned to any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
assignee.notstringExcludes tasks assigned to any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
commented_on_by.notstringExcludes tasks commented on by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
completedbooleanWhen true, returns only completed tasks; when false, returns only incomplete tasks. Omit to return both.
completed_at.afterstringReturns tasks completed strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone.
completed_at.beforestringReturns tasks completed strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone.
completed_onstringReturns tasks completed on exactly the specified date, or pass null to match tasks with no completion date. Accepts an ISO 8601 date string or null.
completed_on.afterstringReturns tasks completed strictly after the specified date. Accepts an ISO 8601 date string.
completed_on.beforestringReturns tasks completed strictly before the specified date. Accepts an ISO 8601 date string.
created_at.afterstringReturns tasks created strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone.
created_at.beforestringReturns tasks created strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone.
created_by.anystringReturns tasks created by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
created_by.notstringExcludes tasks created by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
created_onstringReturns tasks created on exactly the specified date, or pass null to match tasks with no creation date recorded. Accepts an ISO 8601 date string or null.
created_on.afterstringReturns tasks created strictly after the specified date. Accepts an ISO 8601 date string.
created_on.beforestringReturns tasks created strictly before the specified date. Accepts an ISO 8601 date string.
due_at.afterstringReturns tasks with a due datetime strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone.
due_at.beforestringReturns tasks with a due datetime strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone.
due_onstringReturns tasks with a due date exactly matching the specified date, or pass null to match tasks with no due date. Accepts an ISO 8601 date string or null.
due_on.afterstringReturns tasks with a due date strictly after the specified date. Accepts an ISO 8601 date string.
due_on.beforestringReturns tasks with a due date strictly before the specified date. Accepts an ISO 8601 date string.
followers.anystringReturns tasks followed by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
followers.notstringExcludes tasks followed by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
has_attachmentbooleanWhen true, filters to tasks that have one or more file attachments.
is_blockedbooleanWhen true, filters to tasks that have at least one incomplete dependency that must be resolved before the task can be completed.
is_blockingbooleanWhen true, filters to incomplete tasks that have at least one incomplete dependent task blocking them from being considered done.
is_subtaskbooleanWhen true, filters results to subtasks only; when false, excludes subtasks from results.
liked_by.notstringExcludes tasks liked by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'.
modified_at.afterstringReturns tasks last modified strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone.
modified_at.beforestringReturns tasks last modified strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone.
modified_onstringReturns tasks last modified on exactly the specified date, or pass null to match tasks with no modification date. Accepts an ISO 8601 date string or null.
modified_on.afterstringReturns tasks last modified strictly after the specified date. Accepts an ISO 8601 date string.
modified_on.beforestringReturns tasks last modified strictly before the specified date. Accepts an ISO 8601 date string.
portfolios.anystringReturns tasks belonging to any of the specified portfolios. Accepts a comma-separated list of portfolio GIDs.
projects.allstringReturns tasks belonging to all of the specified projects. Accepts a comma-separated list of project GIDs.
projects.anystringReturns tasks belonging to any of the specified projects. Accepts a comma-separated list of project GIDs. Note: combining with sections.any returns tasks matching either filter, not just the section.
projects.notstringExcludes tasks belonging to any of the specified projects. Accepts a comma-separated list of project GIDs.
resource_subtypestringFilters results to tasks of a specific subtype. Use 'default_task' for standard tasks, 'milestone' for milestones, 'approval' for approval tasks, or 'custom' for custom task types.
sections.allstringReturns tasks in all of the specified sections or columns. Accepts a comma-separated list of section GIDs.
sections.anystringReturns tasks in any of the specified sections or columns. Accepts a comma-separated list of section GIDs. To retrieve only tasks in a section, omit projects.any.
sections.notstringExcludes tasks in any of the specified sections or columns. Accepts a comma-separated list of section GIDs.
sort_ascendingbooleanWhen true, results are sorted in ascending order by the sort_by field; when false (default), results are sorted in descending order.
sort_bystringField by which to sort the returned tasks. Defaults to 'modified_at'. Use in combination with sort_ascending to control order direction.
start_onstringReturns tasks with a start date exactly matching the specified date, or pass null to match tasks with no start date. Accepts an ISO 8601 date string or null.
start_on.afterstringReturns tasks with a start date strictly after the specified date. Accepts an ISO 8601 date string.
start_on.beforestringReturns tasks with a start date strictly before the specified date. Accepts an ISO 8601 date string.
tags.allstringReturns tasks that have all of the specified tags. Accepts a comma-separated list of tag GIDs.
tags.anystringReturns tasks with any of the specified tags. Accepts a comma-separated list of tag GIDs.
tags.notstringExcludes tasks with any of the specified tags. Accepts a comma-separated list of tag GIDs.
teams.anystringReturns tasks belonging to any of the specified teams. Accepts a comma-separated list of team GIDs.
textstringFull-text search string matched against both task name and description.
workspace_gidstringyesThe globally unique identifier of the workspace or organization to search within.

No output schema declared.

No examples provided.

search_workspace_typeahead ~224

Performs a fast typeahead/auto-completion search within a workspace, returning a compact list of matching objects (users, projects, tasks, etc.) ordered by relevance. Results are limited to a single page and are optimized for speed rather than exhaustive accuracy.

NameTypeReqDescription
countintegerThe maximum number of results to return, between 1 and 100. Defaults to 20 if omitted; if fewer matches exist than requested, all available results are returned.
querystringThe search string used to match relevant objects by name or other identifying fields. Omitting or passing an empty string returns results ordered by relevance heuristics (e.g., recency or contact fre…
resource_typestringyesThe type of resource to search for. Accepts a single type from the supported set: custom_field, goal, project, project_template, portfolio, tag, task, team, or user. Multiple types are not supported.
workspace_gidstringyesThe globally unique identifier for the workspace or organization to search within.

No output schema declared.

No examples provided.

set_goal_metric ~426

Creates and attaches a progress metric to a specified goal, defining how goal completion is measured and tracked. If a metric already exists on the goal, it will be replaced entirely.

NameTypeReqDescription
currency_codestringThe ISO 4217 currency code used to format the metric value. Only applicable when the unit is set to 'currency'; otherwise this field is null.
current_number_valuenumberThe current value of the numeric goal metric, reflecting progress made so far between the initial and target values.
goal_gidstringyesThe globally unique identifier of the goal to which the metric will be attached.
initial_number_valuenumberThe starting value of the numeric goal metric, representing the baseline from which progress is measured.
is_custom_weightbooleanOnly applicable when progress_source is 'subgoal_progress', 'project_task_completion', 'project_milestone_completion', or 'task_completion'. When true, each supporting object's custom weight is used…
precisionintegerOnly applicable for metrics of type Number. Specifies the number of decimal places to display, where 0 means integer values, 1 rounds to the nearest tenth, and so on. Must be between 0 and 6 inclusiv…
progress_sourcestringDefines how the goal's progress value is calculated. Choose 'manual' for user-entered progress, one of the automatic options to derive progress from subgoals, projects, or tasks, or 'external' for in…
target_number_valuenumberThe target value the numeric goal metric must reach to be considered complete. Must differ from the initial value.
unitstringThe unit of measurement for the goal metric. Use 'currency' to enable currency formatting, 'percentage' for percentage-based progress, or 'none' for a unitless number.

No output schema declared.

No examples provided.

set_task_parent ~200

Sets or removes the parent of a task, making it a subtask of another task or a top-level task when parent is null. Optionally controls the position of the task within the parent's subtask list.

NameTypeReqDescription
insert_afterstringThe unique identifier of an existing subtask of the new parent after which this task should be inserted, or null to insert at the beginning of the subtask list. Cannot be used together with insert_be…
insert_beforestringThe unique identifier of an existing subtask of the new parent before which this task should be inserted, or null to insert at the end of the subtask list. Cannot be used together with insert_after.
parentstringyesThe unique identifier of the task to set as the new parent, or null to remove the existing parent and make the task top-level.
task_gidstringyesThe unique identifier of the task whose parent relationship will be updated.

No output schema declared.

No examples provided.

update_allocation ~86

Updates an existing allocation by replacing only the fields provided in the request body, leaving all unspecified fields unchanged. Returns the complete updated allocation record.

NameTypeReqDescription
allocation_gidstringyesThe globally unique identifier of the allocation to update.
dataobjectAn object containing the allocation fields to update; only the fields included will be modified, all other fields will retain their current values.

No output schema declared.

No examples provided.

update_budget ~77

Updates an existing budget by replacing only the fields provided in the request body, leaving all unspecified fields unchanged.

NameTypeReqDescription
budget_gidstringyesThe globally unique identifier of the budget to update.
dataobjectAn object containing the budget fields to update; only the fields included will be modified, all others will retain their current values.

No output schema declared.

No examples provided.

update_custom_field ~111

Updates an existing custom field by its unique identifier, applying only the fields provided in the request body while leaving unspecified fields unchanged. Note that a custom field's type cannot be changed, enum options must be managed separately, and locked fields can only be updated by the user who locked them.

NameTypeReqDescription
custom_field_gidstringyesThe globally unique identifier of the custom field to update.
dataobjectAn object containing only the custom field properties you wish to update; omitted fields retain their current values.

No output schema declared.

No examples provided.

update_enum_option ~153

Updates an existing enum option on a custom field, allowing changes to its name, color, or enabled state. Locked custom fields can only be modified by the user who locked them, and at least one enabled enum option must remain on the field.

NameTypeReqDescription
colorstringThe color associated with the enum option for visual identification. Defaults to none if not specified.
enabledbooleanControls whether this enum option is selectable by users on the custom field. At least one option must remain enabled on the field.
enum_option_gidstringyesThe globally unique identifier of the enum option to update.
namestringThe display name of the enum option as it appears in the custom field.

No output schema declared.

No examples provided.

Common questions

What is the com.mcparmory/asana MCP server?

com.mcparmory/asana is an MCP server listed in the public MCP registry as com.mcparmory/asana. Manage tasks, projects, portfolios, and team workflows. This page covers its container image (ghcr.io/mcparmory/asana:1.0.5).

Is the com.mcparmory/asana MCP server safe to use?

com.mcparmory/asana scores 50 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.mcparmory/asana MCP server expose?

com.mcparmory/asana exposes 220 tools: list_access_requests, request_access, approve_access_request, reject_access_request, get_allocation, and 215 more. Their descriptions and schemas cost roughly 25,088 tokens of context every time the server is loaded.

Is the com.mcparmory/asana MCP server still maintained?

com.mcparmory/asana is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.