asana_create_project_status
Create project status updates in Asana to communicate progress, share updates, and track project health with color-coded indicators for team visibility.
Instructions
Create a new status update for a project
Input 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 |
Input Schema (JSON Schema)
{
"properties": {
"color": {
"description": "The color of the status (green, yellow, red)",
"enum": [
"green",
"yellow",
"red"
],
"type": "string"
},
"html_text": {
"description": "HTML formatted text for the status update",
"type": "string"
},
"opt_fields": {
"description": "Comma-separated list of optional fields to include",
"type": "string"
},
"project_gid": {
"description": "The project GID to create the status for",
"type": "string"
},
"text": {
"description": "The text content of the status update",
"type": "string"
},
"title": {
"description": "The title of the status update",
"type": "string"
}
},
"required": [
"project_gid",
"text"
],
"type": "object"
}
Implementation Reference
- src/tool-handler.ts:230-236 (handler)The switch case in the tool_handler function that handles execution of the 'asana_create_project_status' tool by destructuring input arguments and calling the Asana client wrapper.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, description, and input validation for the 'asana_create_project_status' tool.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:21-25 (registration)Import statement registering the project status tools, including 'asana_create_project_status', into the tool handler.getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool } from './tools/project-status-tools.js';
- src/tool-handler.ts:71-74 (registration)Inclusion of createProjectStatusTool in the main tools array export for MCP tool registration.getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool,
- src/asana-client-wrapper.ts:624-628 (helper)Helper method in AsanaClientWrapper that performs the actual API call to create a project status update using the Asana SDK.async createProjectStatus(projectId: string, data: any) { const body = { data }; const response = await this.projectStatuses.createProjectStatusForProject(body, projectId); return response.data; }