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 →
update_goal Update Goal ~84
Updates an existing goal by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated goal record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing the goal fields to update; only the fields included will be modified, all unspecified fields retain their current values. |
| goal_gid | string | yes | The globally unique identifier of the goal to update. |
No output schema declared.
No examples provided.
update_goal_metric_value Update Goal Metric Value ~101
Updates the current numeric value of an existing goal metric, allowing progress tracking against a defined target. Requires the goal to already have a numeric metric configured; returns the complete updated goal metric record.
| Name | Type | Req | Description |
|---|---|---|---|
| current_number_value | number | – | The new current value to record for the goal's numeric metric, reflecting the latest progress toward the goal's target. |
| goal_gid | string | yes | The globally unique identifier of the goal whose metric value you want to update. |
No output schema declared.
No examples provided.
update_goal_relationship Update Goal Relationship ~85
Updates an existing goal relationship by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated goal relationship record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | The fields to update on the goal relationship; only provided fields will be modified, all others remain unchanged. |
| goal_relationship_gid | string | yes | The globally unique identifier of the goal relationship to update. |
No output schema declared.
No examples provided.
update_membership Update Membership ~140
Updates an existing membership by replacing only the fields provided in the request body, leaving all other fields unchanged. Supports memberships on goals, projects, portfolios, custom types, and custom fields.
| Name | Type | Req | Description |
|---|---|---|---|
| access_level | string | – | The access level to assign to the member. Valid values vary by resource type: goals support 'viewer', 'commenter', 'editor', or 'admin'; projects support 'admin', 'editor', or 'commenter'; portfolios… |
| membership_gid | string | yes | The globally unique identifier of the membership to update. |
No output schema declared.
No examples provided.
update_portfolio Update Portfolio ~85
Updates an existing portfolio by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated portfolio record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing the portfolio fields to update; only the fields included will be modified, all unspecified fields retain their current values. |
| portfolio_gid | string | yes | The globally unique identifier of the portfolio to update. |
No output schema declared.
No examples provided.
update_project Update Project ~119
Updates an existing project by its unique identifier, applying only the fields provided in the request body while leaving unspecified fields unchanged. Returns the complete updated project record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing only the project fields you wish to update; omit any fields that should remain unchanged to avoid overwriting concurrent edits. Note: updating the `team` field is deprecated — us… |
| project_gid | string | yes | The globally unique identifier (GID) of the project to update. |
No output schema declared.
No examples provided.
update_project_brief Update Project Brief ~92
Updates an existing project brief by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated project brief record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing the project brief fields to update; only the fields included will be modified, all omitted fields retain their current values. |
| project_brief_gid | string | yes | The globally unique identifier of the project brief to update. |
No output schema declared.
No examples provided.
update_project_portfolio_setting Update Project Portfolio Setting ~96
Updates an existing project portfolio setting by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated project portfolio setting record.
| Name | Type | Req | Description |
|---|---|---|---|
| is_access_control_inherited | boolean | – | Controls whether portfolio members automatically inherit access to the associated project; when true, portfolio membership grants project access. |
| project_portfolio_setting_gid | string | yes | The globally unique identifier of the project portfolio setting to update. |
No output schema declared.
No examples provided.
update_rate Update Rate ~73
Updates the monetary value of an existing rate record. Only the rate field can be modified; all other fields remain unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| rate | number | – | The new monetary value to assign to the rate. Must be a valid numeric amount. |
| rate_gid | string | yes | The globally unique identifier of the rate record to update. |
No output schema declared.
No examples provided.
update_section Update Section ~133
Updates an existing section's name or position within its project. Only the fields provided will be modified; all other section properties remain unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| insert_after | string | – | The unique identifier of an existing section after which this section should be repositioned. Mutually exclusive with insert_before. |
| insert_before | string | – | The unique identifier of an existing section before which this section should be repositioned. Mutually exclusive with insert_after. |
| name | string | – | The new display name for the section. Must be a non-empty string. |
| section_gid | string | yes | The globally unique identifier of the section to update. |
No output schema declared.
No examples provided.
update_story Update Story ~162
Updates an existing story on a task, allowing edits to comment text, pin status, or sticker. Only comment stories support text updates, and only comment and attachment stories can be pinned.
| Name | Type | Req | Description |
|---|---|---|---|
| is_pinned | boolean | – | Whether the story should be pinned to its parent resource. Pinning is supported only for comment and attachment story types. |
| sticker_name | string | – | The name of the sticker to display on the story. Set to null to remove an existing sticker. Must be one of the supported sticker identifiers. |
| story_gid | string | yes | The globally unique identifier of the story to update. |
| text | string | – | The plain text content of the comment story to set. Cannot be used together with html_text; only one may be specified per request. |
No output schema declared.
No examples provided.
update_tag Update Tag ~85
Updates the properties of an existing tag by its unique identifier. Only fields provided in the request body will be modified; unspecified fields remain unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing the tag fields to update. Only include fields you wish to change to avoid overwriting concurrent updates from other users. |
| tag_gid | string | yes | The globally unique identifier of the tag to update. |
No output schema declared.
No examples provided.
update_task Update Task ~84
Updates specific fields of an existing task by its unique identifier. Only the fields provided in the request body will be modified; all other fields remain unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing only the task fields you wish to update; omitted fields will retain their current values. |
| task_gid | string | yes | The unique identifier (GID) of the task to update. |
No output schema declared.
No examples provided.
update_team Update Team ~75
Updates the properties of an existing team within the current workspace. Use this to modify team details such as name or description.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | The team fields to update, provided as a data object containing the properties and their new values. |
| team_gid | string | yes | The globally unique identifier for the team to be updated. |
No output schema declared.
No examples provided.
update_time_tracking_entry Update Time Tracking Entry ~213
Updates an existing time tracking entry by its unique identifier, modifying only the fields provided while leaving all other fields unchanged. Returns the complete updated time tracking entry record.
| Name | Type | Req | Description |
|---|---|---|---|
| attributable_to | string | – | The unique identifier (GID) of the project to which this time entry's effort is attributed. |
| billable_status | string | – | The billable status of this time entry. Use 'billable' for client-chargeable work, 'nonBillable' for internal work, or 'notApplicable' when billing status is irrelevant. |
| description | string | – | A free-text description summarizing the work performed during this time entry. |
| duration_minutes | integer | – | The amount of time to log for this entry, expressed in whole minutes. |
| entered_on | string | – | The calendar date on which this time entry is logged, in ISO 8601 date format. Defaults to today if not specified. |
| time_tracking_entry_gid | string | yes | The globally unique identifier of the time tracking entry to update. |
No output schema declared.
No examples provided.
update_timesheet_approval_status Update Timesheet Approval Status ~166
Transitions a timesheet approval status to a new state, such as submitting, recalling, approving, or rejecting. Only the provided fields are updated; invalid state transitions return a 400 error.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_status | string | yes | The target approval state to transition to. Valid values are 'submitted' (submit for review), 'draft' (recall a submission), 'approved' (approve the timesheet), or 'rejected' (reject the timesheet).… |
| message | string | – | An optional message to accompany the status transition, such as a reason for approval or rejection. |
| timesheet_approval_status_gid | string | yes | The globally unique identifier of the timesheet approval status record to update. |
No output schema declared.
No examples provided.
update_user Update User ~139
Updates an existing user's profile by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated user record.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | An object containing the user fields to update; only the fields included here will be modified, all omitted fields retain their current values. |
| user_gid | string | yes | The unique identifier for the target user, which can be the literal string 'me' to reference the authenticated user, a user's email address, or a numeric user GID. |
| workspace | string | – | Filters the operation to a specific workspace by its GID, useful when a user belongs to multiple workspaces. |
No output schema declared.
No examples provided.
update_workspace Update Workspace ~67
Updates an existing workspace by modifying its properties, currently limited to renaming the workspace. Returns the complete updated workspace record.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | The new display name to assign to the workspace. |
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization to update. |
No output schema declared.
No examples provided.
update_workspace_user Update Workspace User ~137
Updates an existing user's information within a specified workspace or organization. Only the fields provided in the request body will be modified; all other fields remain unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | The user fields to update within the workspace. Only fields included here will be changed; omitted fields retain their current values. |
| user_gid | string | yes | The identifier of the user to update, which can be the string 'me' to reference the authenticated user, a user's email address, or a user's globally unique identifier (GID). |
| workspace_gid | string | yes | The globally unique identifier of the workspace or organization in which the user will be updated. |
No output schema declared.
No examples provided.
upload_attachment Upload Attachment ~323
Upload a file or link an external resource as an attachment to a task, project, or project brief in Asana. Supports direct file uploads (up to 100MB) or external URL attachments; multipart/form-data encoding is required for file uploads.
| Name | Type | Req | Description |
|---|---|---|---|
| connect_to_app | boolean | – | When true, associates the current OAuth app with this external attachment to enable an in-task app components widget. Only applicable to external attachments on a parent task, requires OAuth authenti… |
| file | string | – | Base64-encoded file content for upload. The binary file content to upload. Required when 'resource_subtype' is 'asana' (direct file upload). Files from third-party services such as Dropbox, Box, Vime… |
| name | string | – | A display name for the external resource being attached. Required when 'resource_subtype' is 'external'. |
| parent | string | – | The unique identifier (GID) of the parent object to attach to — must be a task, project, or project brief. Required for all attachment types. |
| resource_subtype | string | – | Specifies the attachment type. Use 'asana' for direct file uploads or 'external' for linking an external URL resource. When set to 'external', the 'parent', 'name', and 'url' fields are also required. |
| url | string | – | The publicly accessible URL of the external resource to attach. Required when 'resource_subtype' is 'external'. |
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.