import { Tool } from "@modelcontextprotocol/sdk/types.js";
export const searchProjectsTool: Tool = {
name: "asana_search_projects",
description: "Search for projects in Asana using name pattern matching",
inputSchema: {
type: "object",
properties: {
workspace: {
type: "string",
description: "The workspace to search in"
},
name_pattern: {
type: "string",
description: "Regular expression pattern to match project names"
},
archived: {
type: "boolean",
description: "Only return archived projects",
default: false
},
opt_fields: {
type: "string",
description: "Comma-separated list of optional fields to include"
}
},
required: ["workspace", "name_pattern"]
}
};
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"]
}
};
export const getProjectTaskCountsTool: Tool = {
name: "asana_get_project_task_counts",
description: "Get the number of tasks in a project",
inputSchema: {
type: "object",
properties: {
project_id: {
type: "string",
description: "The project ID to get task counts for"
},
opt_fields: {
type: "string",
description: "Comma-separated list of optional fields to include"
}
},
required: ["project_id"]
}
};
export const getProjectSectionsTool: Tool = {
name: "asana_get_project_sections",
description: "Get sections in a project",
inputSchema: {
type: "object",
properties: {
project_id: {
type: "string",
description: "The project ID to get sections for"
},
opt_fields: {
type: "string",
description: "Comma-separated list of optional fields to include"
}
},
required: ["project_id"]
}
};