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
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.

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

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
current_number_valuenumberThe new current value to record for the goal's numeric metric, reflecting the latest progress toward the goal's target.
goal_gidstringyesThe globally unique identifier of the goal whose metric value you want to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectThe fields to update on the goal relationship; only provided fields will be modified, all others remain unchanged.
goal_relationship_gidstringyesThe globally unique identifier of the goal relationship to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
access_levelstringThe 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_gidstringyesThe globally unique identifier of the membership to update.

No output schema declared.

No examples provided.

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.

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

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectAn 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_gidstringyesThe globally unique identifier (GID) of the project to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectAn object containing the project brief fields to update; only the fields included will be modified, all omitted fields retain their current values.
project_brief_gidstringyesThe globally unique identifier of the project brief to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
is_access_control_inheritedbooleanControls whether portfolio members automatically inherit access to the associated project; when true, portfolio membership grants project access.
project_portfolio_setting_gidstringyesThe globally unique identifier of the project portfolio setting to update.

No output schema declared.

No examples provided.

update_rate ~73

Updates the monetary value of an existing rate record. Only the rate field can be modified; all other fields remain unchanged.

NameTypeReqDescription
ratenumberThe new monetary value to assign to the rate. Must be a valid numeric amount.
rate_gidstringyesThe globally unique identifier of the rate record to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
insert_afterstringThe unique identifier of an existing section after which this section should be repositioned. Mutually exclusive with insert_before.
insert_beforestringThe unique identifier of an existing section before which this section should be repositioned. Mutually exclusive with insert_after.
namestringThe new display name for the section. Must be a non-empty string.
section_gidstringyesThe globally unique identifier of the section to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
is_pinnedbooleanWhether the story should be pinned to its parent resource. Pinning is supported only for comment and attachment story types.
sticker_namestringThe 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_gidstringyesThe globally unique identifier of the story to update.
textstringThe 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 ~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.

NameTypeReqDescription
dataobjectAn object containing the tag fields to update. Only include fields you wish to change to avoid overwriting concurrent updates from other users.
tag_gidstringyesThe globally unique identifier of the tag to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectAn object containing only the task fields you wish to update; omitted fields will retain their current values.
task_gidstringyesThe unique identifier (GID) of the task to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectThe team fields to update, provided as a data object containing the properties and their new values.
team_gidstringyesThe globally unique identifier for the team to be updated.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
attributable_tostringThe unique identifier (GID) of the project to which this time entry's effort is attributed.
billable_statusstringThe billable status of this time entry. Use 'billable' for client-chargeable work, 'nonBillable' for internal work, or 'notApplicable' when billing status is irrelevant.
descriptionstringA free-text description summarizing the work performed during this time entry.
duration_minutesintegerThe amount of time to log for this entry, expressed in whole minutes.
entered_onstringThe calendar date on which this time entry is logged, in ISO 8601 date format. Defaults to today if not specified.
time_tracking_entry_gidstringyesThe globally unique identifier of the time tracking entry to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
approval_statusstringyesThe 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).…
messagestringAn optional message to accompany the status transition, such as a reason for approval or rejection.
timesheet_approval_status_gidstringyesThe globally unique identifier of the timesheet approval status record to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectAn object containing the user fields to update; only the fields included here will be modified, all omitted fields retain their current values.
user_gidstringyesThe 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.
workspacestringFilters 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 ~67

Updates an existing workspace by modifying its properties, currently limited to renaming the workspace. Returns the complete updated workspace record.

NameTypeReqDescription
namestringThe new display name to assign to the workspace.
workspace_gidstringyesThe globally unique identifier of the workspace or organization to update.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
dataobjectThe user fields to update within the workspace. Only fields included here will be changed; omitted fields retain their current values.
user_gidstringyesThe 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_gidstringyesThe globally unique identifier of the workspace or organization in which the user will be updated.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
connect_to_appbooleanWhen 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…
filestringBase64-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…
namestringA display name for the external resource being attached. Required when 'resource_subtype' is 'external'.
parentstringThe unique identifier (GID) of the parent object to attach to — must be a task, project, or project brief. Required for all attachment types.
resource_subtypestringSpecifies 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.
urlstringThe publicly accessible URL of the external resource to attach. Required when 'resource_subtype' is 'external'.

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.