asana_create_project_status
Create project status updates in Asana to track progress, share updates with team members, and maintain project visibility through color-coded status indicators.
Instructions
Create a new status update for a project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_gid | Yes | The project GID to create the status for | |
| text | Yes | The text content of the status update | |
| color | No | The color of the status (green, yellow, red) | |
| title | No | The title of the status update | |
| html_text | No | HTML formatted text for the status update | |
| opt_fields | No | Comma-separated list of optional fields to include |
Implementation Reference
- src/tool-handler.ts:260-266 (handler)MCP tool handler case that destructures arguments and delegates to AsanaClientWrapper.createProjectStatus method.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) }], }; }
- Tool definition with input schema for validating arguments to asana_create_project_status.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"] } };
- src/tool-handler.ts:38-61 (registration)Tool registration by inclusion in the all_tools array, which is filtered and exported as list_of_tools for MCP.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, ];
- src/asana-client-wrapper.ts:262-266 (helper)Core helper method in AsanaClientWrapper that wraps the Asana SDK 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; }