asana_get_project
Retrieve detailed information about a specific Asana project using its project ID, including optional fields for comprehensive project data access.
Instructions
Get detailed information about a specific project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project ID to retrieve | |
| opt_fields | No | Comma-separated list of optional fields to include |
Implementation Reference
- src/tool-handler.ts:228-234 (handler)Handler logic for the 'asana_get_project' tool. Destructures project_id and opts from arguments, calls asanaClient.getProject(), and returns the JSON-stringified response.case "asana_get_project": { const { project_id, ...opts } = args; const response = await asanaClient.getProject(project_id, opts); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
- src/tools/project-tools.ts:31-48 (schema)Tool schema definition for 'asana_get_project', including name, description, and input validation schema requiring project_id.export const getProjectTool: Tool = { name: "asana_get_project", description: "Get detailed information about a specific project", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "The project ID to retrieve" }, opt_fields: { type: "string", description: "Comma-separated list of optional fields to include" } }, required: ["project_id"] } };
- src/tool-handler.ts:38-61 (registration)Registration of all tools including getProjectTool in the all_tools array, which is filtered and exported as list_of_tools.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/tool-handler.ts:64-78 (registration)'asana_get_project' is included in READ_ONLY_TOOLS list, enabling it in read-only mode.const READ_ONLY_TOOLS = [ 'asana_list_workspaces', 'asana_search_projects', 'asana_search_tasks', 'asana_get_task', 'asana_get_task_stories', 'asana_get_project', 'asana_get_project_task_counts', 'asana_get_project_status', 'asana_get_project_statuses', 'asana_get_project_sections', 'asana_get_multiple_tasks_by_gid', 'asana_get_tasks_for_tag', 'asana_get_tags_for_workspace' ];
- src/asana-client-wrapper.ts:163-168 (helper)Helper method in AsanaClientWrapper that wraps the Asana SDK ProjectsApi.getProject call, handling optional fields.async getProject(projectId: string, opts: any = {}) { // Only include opts if opt_fields was actually provided const options = opts.opt_fields ? opts : {}; const response = await this.projects.getProject(projectId, options); return response.data; }