Skip to main content
Glama

asana_create_project_status

Create project status updates in Asana with text content, color coding, and optional HTML formatting to track progress and communicate updates.

Instructions

Create a new status update for a project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNoThe color of the status (green, yellow, red)
html_textNoHTML formatted text for the status update
opt_fieldsNoComma-separated list of optional fields to include
project_gidYesThe project GID to create the status for
textYesThe text content of the status update
titleNoThe title of the status update

Implementation Reference

  • The main tool handler logic for 'asana_create_project_status' which destructures the input arguments and delegates to AsanaClientWrapper.createProjectStatus.
    case "asana_create_project_status": { const { project_gid, ...statusData } = args; const response = await asanaClient.createProjectStatus(project_gid, statusData); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
  • The Tool object defining the schema, name, and description for 'asana_create_project_status' used for input validation.
    export const createProjectStatusTool: Tool = { name: "asana_create_project_status", description: "Create a new status update for a project", inputSchema: { type: "object", properties: { project_gid: { type: "string", description: "The project GID to create the status for" }, text: { type: "string", description: "The text content of the status update" }, color: { type: "string", description: "The color of the status (green, yellow, red)", enum: ["green", "yellow", "red"] }, title: { type: "string", description: "The title of the status update" }, html_text: { type: "string", description: "HTML formatted text for the status update" }, opt_fields: { type: "string", description: "Comma-separated list of optional fields to include" } }, required: ["project_gid", "text"] } };
  • Registration of the tool in the all_tools array, which is filtered and exported as list_of_tools for MCP tool discovery.
    const all_tools: Tool[] = [ listWorkspacesTool, searchProjectsTool, searchTasksTool, getTaskTool, createTaskTool, getStoriesForTaskTool, updateTaskTool, getProjectTool, getProjectTaskCountsTool, getProjectSectionsTool, createTaskStoryTool, addTaskDependenciesTool, addTaskDependentsTool, createSubtaskTool, getMultipleTasksByGidTool, getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool, setParentForTaskTool, getTasksForTagTool, getTagsForWorkspaceTool, ];
  • Supporting method in AsanaClientWrapper that performs the actual Asana API call to create a project status update.
    async createProjectStatus(projectId: string, data: any) { const body = { data }; const response = await this.projectStatuses.createProjectStatusForProject(body, projectId); return response.data; }
  • Import statement registering the createProjectStatusTool for use in the tool handler.
    getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool } from './tools/project-status-tools.js';

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/roychri/mcp-server-asana'

If you have feedback or need assistance with the MCP directory API, please join our Discord server