com.mcparmory/asana
PYPI · MCPARMORY-ASANA · 2 COMPONENTS · SCANNED SEP 20
Manage tasks, projects, portfolios, and team workflows
Available components
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 Security37
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Install-script risk not yet assessed.Unverified
- 2 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 131 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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 current MCP spec version (2026-07-28).Pass
How do I install the com.mcparmory/asana MCP server?
com.mcparmory/asana runs locally as a PyPI package, launched with uvx mcparmory-asana. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcparmory-asana
claude mcp add com-mcparmory-asana -- uvx mcparmory-asana
{
"mcpServers": {
"com-mcparmory-asana": {
"command": "uvx",
"args": [
"mcparmory-asana"
]
}
}
} {
"servers": {
"com-mcparmory-asana": {
"command": "uvx",
"args": [
"mcparmory-asana"
]
}
}
} codex mcp add com-mcparmory-asana -- uvx mcparmory-asana
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mcparmory-asana": {
"type": "local",
"command": [
"uvx",
"mcparmory-asana"
],
"enabled": true
}
}
} openclaw mcp add com-mcparmory-asana --command uvx --arg mcparmory-asana
mcp_servers:
com-mcparmory-asana:
command: "uvx"
args: ["mcparmory-asana"] {
"McpServers": {
"com-mcparmory-asana": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcparmory-asana"
]
}
}
} assistant mcp add com-mcparmory-asana -t stdio -c uvx -a mcparmory-asana
{
"mcpServers": {
"com-mcparmory-asana": {
"command": "uvx",
"args": [
"mcparmory-asana"
]
}
}
} 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.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −18
- Malware scan: pass → unverified ▼ security
- Stability: pass → 0.77 functional
- 17 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 16 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.
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 11 Sept 26 −2
- Stability: pass → 0.80 functional
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 pypi/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 | pypi |
Background: How many MCP packages publish verified provenance →
Dependencies 46 packages
| Packages resolved | 46 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
list_team_memberships 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of team membership records to return per page, between 1 and 100. |
| team | string | – | The globally unique identifier (GID) of the team whose memberships should be returned. |
| user | string | – | Identifies 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. |
| workspace | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of membership records to return per page, accepting values between 1 and 100. |
| team_gid | string | yes | The globally unique identifier of the team whose memberships you want to retrieve. |
No output schema declared.
No examples provided.
list_team_project_templates 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.
| Name | Type | Req | Description |
|---|---|---|---|
| team_gid | string | yes | Globally unique identifier for the team. |
No output schema declared.
No examples provided.
list_time_periods 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.
| Name | Type | Req | Description |
|---|---|---|---|
| end_on | string | – | Filters results to time periods ending on or before this date, specified in ISO 8601 date format. |
| limit | integer | – | The number of time period records to return per page, between 1 and 100. |
| start_on | string | – | Filters results to time periods starting on or after this date, specified in ISO 8601 date format. |
| workspace | string | yes | The globally unique identifier of the workspace whose time periods should be retrieved. |
No output schema declared.
No examples provided.
list_time_tracking_entries 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.
| Name | Type | Req | Description |
|---|---|---|---|
| attributable_to | string | – | The globally unique identifier of the project to scope results to only time tracking entries attributed to that project. |
| entered_on_end_date | string | – | The 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_date | string | – | The 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. |
| portfolio | string | – | The globally unique identifier of the portfolio to scope results to only time tracking entries belonging to tasks within that portfolio. |
| task | string | – | The globally unique identifier of the task to scope results to only time tracking entries associated with that task. |
| timesheet_approval_status | string | – | The globally unique identifier of a timesheet approval status to scope results to only time tracking entries matching that approval state. |
| user | string | – | The globally unique identifier of the user to scope results to only time tracking entries logged by that user. |
| workspace | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_statuses | string | – | One 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_date | string | – | The inclusive start date for filtering timesheet approval statuses, in ISO 8601 date format (YYYY-MM-DD). |
| to_date | string | – | The inclusive end date for filtering timesheet approval statuses, in ISO 8601 date format (YYYY-MM-DD). |
| user | string | – | The globally unique identifier of a specific user to narrow results to only their timesheet approval statuses. |
| workspace | string | yes | The globally unique identifier of the workspace whose timesheet approval statuses should be retrieved. |
No output schema declared.
No examples provided.
list_user_favorites 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of favorite items to return per page. Must be between 1 and 100 inclusive. |
| resource_type | string | yes | The 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_gid | string | yes | The 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. |
| workspace | string | yes | The 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 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'.
| Name | Type | Req | Description |
|---|---|---|---|
| completed_since | string | – | Filters 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… |
| limit | integer | – | The number of task objects to return per page, between 1 and 100 inclusive. |
| user_task_list_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of team membership records to return per page, allowing pagination through large result sets. Must be an integer between 1 and 100. |
| user_gid | string | yes | The 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). |
| workspace | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of team records to return per page. Must be an integer between 1 and 100 inclusive. |
| organization | string | yes | The GID of the workspace or organization used to filter the returned teams, ensuring only teams within that context are included. |
| user_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The 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_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of user records to return per page. Must be an integer between 1 and 100 inclusive. |
| team | string | – | The unique ID of a team to restrict results to only users belonging to that team. |
| workspace | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of custom field records to return per page. Must be between 1 and 100. |
| workspace_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| sync | string | – | A 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_gid | string | yes | The globally unique identifier for the target workspace or organization whose events should be retrieved. |
No output schema declared.
No examples provided.
list_workspace_memberships List Workspace Memberships ~115
Retrieves compact membership records for all members of a specified workspace or organization. Optionally filter results by a specific user.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of membership records to return per page. Must be between 1 and 100. |
| user | string | – | Filter memberships to a specific user, identified by the string 'me' (current user), an email address, or a user GID. |
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization whose memberships you want to retrieve. |
No output schema declared.
No examples provided.
list_workspace_projects 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.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Filters 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_gid | string | yes | Globally unique identifier for the workspace or organization. |
No output schema declared.
No examples provided.
list_workspace_tags 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.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_gid | string | yes | Globally unique identifier for the workspace or organization. |
No output schema declared.
No examples provided.
list_workspace_teams 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | The number of team records to return per page. Must be between 1 and 100. |
| workspace_gid | string | yes | The globally unique identifier for the workspace or organization whose teams you want to retrieve. |
No output schema declared.
No examples provided.
list_workspace_users 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.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization whose users you want to retrieve. |
No output schema declared.
No examples provided.
list_workspaces List Workspaces ~58
Retrieves all workspaces visible to the authorized user. Returns compact records for each workspace, requiring the workspaces:read scope.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of workspace records to return per page. Must be between 1 and 100. |
No output schema declared.
No examples provided.
reject_access_request 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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_request_gid | string | yes | The globally unique identifier of the access request to reject. |
No output schema declared.
No examples provided.
remove_custom_field_from_goal 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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_field | string | yes | The globally unique identifier of the custom field to remove from the goal. |
| goal_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_field | string | yes | The globally unique identifier of the custom field to detach from the project. |
| project_gid | string | yes | The 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 Remove Goal Followers ~109
Removes one or more followers (collaborators) from a specified goal. Returns the complete updated goal record reflecting the removed followers.
| Name | Type | Req | Description |
|---|---|---|---|
| followers | array | yes | A 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_gid | string | yes | The globally unique identifier of the goal from which followers will be removed. |
No output schema declared.
No examples provided.
remove_goal_supporting_relationship 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.
| Name | Type | Req | Description |
|---|---|---|---|
| goal_gid | string | yes | The unique identifier of the parent goal from which the supporting relationship will be removed. |
| supporting_resource | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_field | string | yes | The globally unique identifier of the custom field to detach from the portfolio. |
| portfolio_gid | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | The globally unique identifier of the item to remove from the portfolio. |
| portfolio_gid | string | yes | The globally unique identifier of the portfolio from which the item will be removed. |
No output schema declared.
No examples provided.
remove_portfolio_members 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.
| Name | Type | Req | Description |
|---|---|---|---|
| members | string | yes | A 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_gid | string | yes | The globally unique identifier of the portfolio from which members will be removed. |
No output schema declared.
No examples provided.
remove_project_followers Remove Project Followers ~95
Removes one or more users from following a project without affecting their project membership status. Returns the updated project record.
| Name | Type | Req | Description |
|---|---|---|---|
| followers | string | yes | A 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_gid | string | yes | The globally unique identifier of the project from which followers will be removed. |
No output schema declared.
No examples provided.
remove_project_members 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.
| Name | Type | Req | Description |
|---|---|---|---|
| members | string | yes | A 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_gid | string | yes | The globally unique identifier of the project from which members will be removed. |
No output schema declared.
No examples provided.
remove_task_dependencies 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.
| Name | Type | Req | Description |
|---|---|---|---|
| dependencies | array | – | An 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_gid | string | yes | The unique identifier (GID) of the task from which dependencies will be removed. |
No output schema declared.
No examples provided.
remove_task_dependents Remove Task Dependents ~84
Unlinks one or more dependent tasks from a specified task, removing the dependency relationship. Requires tasks:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| dependents | array | – | An array of task GIDs representing the dependent tasks to unlink from the specified task. Order is not significant. |
| task_gid | string | yes | The unique identifier of the task from which dependents will be unlinked. |
No output schema declared.
No examples provided.
remove_task_followers 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.
| Name | Type | Req | Description |
|---|---|---|---|
| followers | array | yes | A 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_gid | string | yes | The unique identifier (GID) of the task from which followers will be removed. |
No output schema declared.
No examples provided.
remove_task_from_project 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.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | The unique identifier of the project from which the task should be removed. |
| task_gid | string | yes | The unique identifier of the task to be removed from the project. |
No output schema declared.
No examples provided.
remove_task_tag Remove Task Tag ~83
Removes a tag from a specified task, dissociating the tag without deleting it. Returns an empty data block on success.
| Name | Type | Req | Description |
|---|---|---|---|
| tag | string | yes | The unique global identifier (GID) of the tag to remove from the task. |
| task_gid | string | yes | The unique global identifier (GID) of the task from which the tag will be removed. |
No output schema declared.
No examples provided.
remove_team_member 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.
| Name | Type | Req | Description |
|---|---|---|---|
| team_gid | string | yes | The globally unique identifier of the team from which the user will be removed. |
| user | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| user | string | – | The identifier of the user to remove, which can be the literal string 'me', an email address, or a user's globally unique ID. |
| workspace_gid | string | yes | The unique identifier of the workspace or organization from which the user will be removed. |
No output schema declared.
No examples provided.
reorder_enum_option 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.
| Name | Type | Req | Description |
|---|---|---|---|
| after_enum_option | string | – | The 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_option | string | – | The 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_gid | string | yes | The globally unique identifier of the custom field whose enum options are being reordered. |
| enum_option | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| after_section | string | – | The unique identifier of the reference section that the moved section should be placed immediately after. Mutually exclusive with `before_section`. |
| before_section | string | – | The unique identifier of the reference section that the moved section should be placed immediately before. Mutually exclusive with `after_section`. |
| project_gid | string | yes | The unique identifier of the project that contains the sections being reordered. |
| section | string | – | The 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 Request Access ~88
Submits an access request for a private project or portfolio, notifying the owner so they can grant or deny access.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | – | An optional message to accompany the access request, allowing the requester to provide context or justification for why access is needed. |
| target | string | yes | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The display name to assign to the newly created project template. |
| project_gid | string | yes | The unique identifier of the project to convert into a template. |
| public | boolean | yes | Controls whether the project template is publicly visible to all members of its team. Set to false to restrict visibility. |
| team | string | – | The 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. |
| workspace | string | – | The 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 Search Projects in Workspace ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| completed | boolean | – | Filter projects by completion status: `true` returns only completed projects, `false` returns only incomplete projects. |
| completed_at.after | string | – | ISO 8601 datetime string; returns projects whose completion timestamp is strictly after this datetime. |
| completed_at.before | string | – | ISO 8601 datetime string; returns projects whose completion timestamp is strictly before this datetime. |
| completed_on | string | – | ISO 8601 date string to match projects completed on an exact date, or `null` to match projects with no completion date. |
| completed_on.after | string | – | ISO 8601 date string; returns projects completed strictly after this date. |
| completed_on.before | string | – | ISO 8601 date string; returns projects completed strictly before this date. |
| created_at.after | string | – | ISO 8601 datetime string; returns projects whose creation timestamp is strictly after this datetime. |
| created_at.before | string | – | ISO 8601 datetime string; returns projects whose creation timestamp is strictly before this datetime. |
| created_on | string | – | ISO 8601 date string to match projects created on an exact date, or `null` to match projects with no creation date recorded. |
| created_on.after | string | – | ISO 8601 date string; returns projects created strictly after this date. |
| created_on.before | string | – | ISO 8601 date string; returns projects created strictly before this date. |
| due_at.after | string | – | ISO 8601 datetime string; returns projects whose due datetime is strictly after this datetime. |
| due_at.before | string | – | ISO 8601 datetime string; returns projects whose due datetime is strictly before this datetime. |
| due_on | string | – | ISO 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.after | string | – | ISO 8601 date string; returns projects with a due date strictly after this date. |
| due_on.before | string | – | ISO 8601 date string; returns projects with a due date strictly before this date. |
| members.any | string | – | Comma-separated list of user GIDs or the string `me`; returns projects where any of the specified users are members. |
| members.not | string | – | Comma-separated list of user GIDs or the string `me`; excludes projects where any of the specified users are members. |
| owner.any | string | – | Comma-separated list of user GIDs or the string `me`; returns projects owned by any of the specified users. |
| portfolios.any | string | – | Comma-separated list of portfolio GIDs; returns projects that belong to any of the specified portfolios. |
| sort_ascending | boolean | – | When `true`, results are returned in ascending sort order; defaults to descending (`false`). |
| sort_by | string | – | Field by which to sort results; defaults to `modified_at` if not specified. |
| start_on | string | – | ISO 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.after | string | – | ISO 8601 date string; returns projects with a start date strictly after this date. |
| start_on.before | string | – | ISO 8601 date string; returns projects with a start date strictly before this date. |
| teams.any | string | – | Comma-separated list of team GIDs; returns projects belonging to any of the specified teams. |
| text | string | – | Full-text search string matched against project names to narrow results. |
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization to search within. |
No output schema declared.
No examples provided.
search_tasks Search Tasks in Workspace ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| assigned_by.any | string | – | Returns tasks assigned by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| assigned_by.not | string | – | Excludes tasks assigned by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| assignee.any | string | – | Returns tasks assigned to any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| assignee.not | string | – | Excludes tasks assigned to any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| commented_on_by.not | string | – | Excludes tasks commented on by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| completed | boolean | – | When true, returns only completed tasks; when false, returns only incomplete tasks. Omit to return both. |
| completed_at.after | string | – | Returns tasks completed strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| completed_at.before | string | – | Returns tasks completed strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| completed_on | string | – | Returns 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.after | string | – | Returns tasks completed strictly after the specified date. Accepts an ISO 8601 date string. |
| completed_on.before | string | – | Returns tasks completed strictly before the specified date. Accepts an ISO 8601 date string. |
| created_at.after | string | – | Returns tasks created strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| created_at.before | string | – | Returns tasks created strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| created_by.any | string | – | Returns tasks created by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| created_by.not | string | – | Excludes tasks created by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| created_on | string | – | Returns 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.after | string | – | Returns tasks created strictly after the specified date. Accepts an ISO 8601 date string. |
| created_on.before | string | – | Returns tasks created strictly before the specified date. Accepts an ISO 8601 date string. |
| due_at.after | string | – | Returns tasks with a due datetime strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| due_at.before | string | – | Returns tasks with a due datetime strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| due_on | string | – | Returns 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.after | string | – | Returns tasks with a due date strictly after the specified date. Accepts an ISO 8601 date string. |
| due_on.before | string | – | Returns tasks with a due date strictly before the specified date. Accepts an ISO 8601 date string. |
| followers.any | string | – | Returns tasks followed by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| followers.not | string | – | Excludes tasks followed by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| has_attachment | boolean | – | When true, filters to tasks that have one or more file attachments. |
| is_blocked | boolean | – | When true, filters to tasks that have at least one incomplete dependency that must be resolved before the task can be completed. |
| is_blocking | boolean | – | When true, filters to incomplete tasks that have at least one incomplete dependent task blocking them from being considered done. |
| is_subtask | boolean | – | When true, filters results to subtasks only; when false, excludes subtasks from results. |
| liked_by.not | string | – | Excludes tasks liked by any of the specified users. Accepts a comma-separated list of user GIDs or the special value 'me'. |
| modified_at.after | string | – | Returns tasks last modified strictly after the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| modified_at.before | string | – | Returns tasks last modified strictly before the specified datetime. Accepts an ISO 8601 datetime string with timezone. |
| modified_on | string | – | Returns 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.after | string | – | Returns tasks last modified strictly after the specified date. Accepts an ISO 8601 date string. |
| modified_on.before | string | – | Returns tasks last modified strictly before the specified date. Accepts an ISO 8601 date string. |
| portfolios.any | string | – | Returns tasks belonging to any of the specified portfolios. Accepts a comma-separated list of portfolio GIDs. |
| projects.all | string | – | Returns tasks belonging to all of the specified projects. Accepts a comma-separated list of project GIDs. |
| projects.any | string | – | Returns 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.not | string | – | Excludes tasks belonging to any of the specified projects. Accepts a comma-separated list of project GIDs. |
| resource_subtype | string | – | Filters 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.all | string | – | Returns tasks in all of the specified sections or columns. Accepts a comma-separated list of section GIDs. |
| sections.any | string | – | Returns 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.not | string | – | Excludes tasks in any of the specified sections or columns. Accepts a comma-separated list of section GIDs. |
| sort_ascending | boolean | – | When true, results are sorted in ascending order by the sort_by field; when false (default), results are sorted in descending order. |
| sort_by | string | – | Field by which to sort the returned tasks. Defaults to 'modified_at'. Use in combination with sort_ascending to control order direction. |
| start_on | string | – | Returns 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.after | string | – | Returns tasks with a start date strictly after the specified date. Accepts an ISO 8601 date string. |
| start_on.before | string | – | Returns tasks with a start date strictly before the specified date. Accepts an ISO 8601 date string. |
| tags.all | string | – | Returns tasks that have all of the specified tags. Accepts a comma-separated list of tag GIDs. |
| tags.any | string | – | Returns tasks with any of the specified tags. Accepts a comma-separated list of tag GIDs. |
| tags.not | string | – | Excludes tasks with any of the specified tags. Accepts a comma-separated list of tag GIDs. |
| teams.any | string | – | Returns tasks belonging to any of the specified teams. Accepts a comma-separated list of team GIDs. |
| text | string | – | Full-text search string matched against both task name and description. |
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization to search within. |
No output schema declared.
No examples provided.
search_workspace_typeahead 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.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | The 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. |
| query | string | – | The 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_type | string | yes | The 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_gid | string | yes | The globally unique identifier for the workspace or organization to search within. |
No output schema declared.
No examples provided.
set_goal_metric 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.
| Name | Type | Req | Description |
|---|---|---|---|
| currency_code | string | – | The 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_value | number | – | The current value of the numeric goal metric, reflecting progress made so far between the initial and target values. |
| goal_gid | string | yes | The globally unique identifier of the goal to which the metric will be attached. |
| initial_number_value | number | – | The starting value of the numeric goal metric, representing the baseline from which progress is measured. |
| is_custom_weight | boolean | – | Only 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… |
| precision | integer | – | Only 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_source | string | – | Defines 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_value | number | – | The target value the numeric goal metric must reach to be considered complete. Must differ from the initial value. |
| unit | string | – | The 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| insert_after | string | – | The 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_before | string | – | The 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. |
| parent | string | yes | The 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_gid | string | yes | The unique identifier of the task whose parent relationship will be updated. |
No output schema declared.
No examples provided.
update_allocation 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.
| Name | Type | Req | Description |
|---|---|---|---|
| allocation_gid | string | yes | The globally unique identifier of the allocation to update. |
| data | object | – | An 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 Update Budget ~77
Updates an existing budget by replacing only the fields provided in the request body, leaving all unspecified fields unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| budget_gid | string | yes | The globally unique identifier of the budget to update. |
| data | object | – | An 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_field_gid | string | yes | The globally unique identifier of the custom field to update. |
| data | object | – | An 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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | The color associated with the enum option for visual identification. Defaults to none if not specified. |
| enabled | boolean | – | Controls whether this enum option is selectable by users on the custom field. At least one option must remain enabled on the field. |
| enum_option_gid | string | yes | The globally unique identifier of the enum option to update. |
| name | string | – | The display name of the enum option as it appears in the custom field. |
No output schema declared.
No examples provided.
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 PyPI package (mcparmory-asana).
Is the com.mcparmory/asana MCP server safe to use?
com.mcparmory/asana scores 61 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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.