linear_updateProject
Modify an existing Linear project by updating its name, description, or status to reflect current progress and requirements.
Instructions
Update an existing project in Linear
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the project to update | |
| name | No | New name of the project | |
| description | No | New description of the project (Markdown supported) | |
| state | No | New state of the project (e.g., 'planned', 'started', 'paused', 'completed', 'canceled') |
Implementation Reference
- The handler function for the linear_updateProject tool. It validates the input arguments using the isUpdateProjectArgs type guard and calls linearService.updateProject to perform the update.export function handleUpdateProject(linearService: LinearService) { return async (args: unknown) => { try { if (!isUpdateProjectArgs(args)) { throw new Error("Invalid arguments for updateProject"); } return await linearService.updateProject(args); } catch (error) { logError("Error updating project", error); throw error; } };
- MCPToolDefinition for linear_updateProject, defining input schema (requires project id, optional name/description/state) and output schema.export const updateProjectToolDefinition: MCPToolDefinition = { name: "linear_updateProject", description: "Update an existing project in Linear", input_schema: { type: "object", properties: { id: { type: "string", description: "ID of the project to update", }, name: { type: "string", description: "New name of the project", }, description: { type: "string", description: "New description of the project (Markdown supported)", }, state: { type: "string", description: "New state of the project (e.g., 'planned', 'started', 'paused', 'completed', 'canceled')", }, }, required: ["id"], }, output_schema: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, description: { type: "string" }, state: { type: "string" }, url: { type: "string" } } } };
- src/tools/handlers/index.ts:67-70 (registration)Registration of the linear_updateProject handler within the registerToolHandlers function's return map, mapping it to handleUpdateProject curried with linearService.// Project Management tools linear_updateProject: handleUpdateProject(linearService), linear_addIssueToProject: handleAddIssueToProject(linearService), linear_getProjectIssues: handleGetProjectIssues(linearService),
- src/tools/type-guards.ts:416-431 (helper)Type guard function isUpdateProjectArgs that validates the input arguments match the expected shape for the linear_updateProject tool.export function isUpdateProjectArgs(args: unknown): args is { id: string; name?: string; description?: string; state?: string; } { return ( typeof args === "object" && args !== null && "id" in args && typeof (args as { id: string }).id === "string" && (!("name" in args) || typeof (args as { name: string }).name === "string") && (!("description" in args) || typeof (args as { description: string }).description === "string") && (!("state" in args) || typeof (args as { state: string }).state === "string") ); }