update_project
Modify project details such as name, key, chart settings, subtasking, and archiving status using the Backlog MCP Server to ensure project management efficiency.
Instructions
Updates an existing project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| archived | No | Whether to archive the project | |
| chartEnabled | No | Whether to enable chart | |
| key | No | Project key | |
| name | No | Project name | |
| projectIdOrKey | Yes | Project ID or project key | |
| projectLeaderCanEditProjectLeader | No | Whether project leaders can edit other project leaders | |
| subtaskingEnabled | No | Whether to enable subtasking | |
| textFormattingRule | No | Text formatting rule |
Implementation Reference
- src/tools/updateProject.ts:8-69 (schema)Input schema definition for the update_project tool parameters using Zod and buildToolSchema.const updateProjectSchema = buildToolSchema((t) => ({ projectId: z .number() .optional() .describe( t( 'TOOL_UPDATE_PROJECT_PROJECT_ID', 'The numeric ID of the project (e.g., 12345)' ) ), projectKey: z .string() .optional() .describe( t( 'TOOL_UPDATE_PROJECT_PROJECT_KEY', "The key of the project (e.g., 'PROJECT')" ) ), name: z .string() .optional() .describe(t('TOOL_UPDATE_PROJECT_NAME', 'Project name')), key: z .string() .optional() .describe(t('TOOL_UPDATE_PROJECT_KEY', 'Project key')), chartEnabled: z .boolean() .optional() .describe( t('TOOL_UPDATE_PROJECT_CHART_ENABLED', 'Whether to enable chart') ), subtaskingEnabled: z .boolean() .optional() .describe( t( 'TOOL_UPDATE_PROJECT_SUBTASKING_ENABLED', 'Whether to enable subtasking' ) ), projectLeaderCanEditProjectLeader: z .boolean() .optional() .describe( t( 'TOOL_UPDATE_PROJECT_LEADER_CAN_EDIT', 'Whether project leaders can edit other project leaders' ) ), textFormattingRule: z .enum(['backlog', 'markdown']) .optional() .describe(t('TOOL_UPDATE_PROJECT_TEXT_FORMATTING', 'Text formatting rule')), archived: z .boolean() .optional() .describe( t('TOOL_UPDATE_PROJECT_ARCHIVED', 'Whether to archive the project') ), }));
- src/tools/updateProject.ts:71-98 (handler)Main tool definition factory for 'update_project', including name, description, schemas, and the handler function that resolves the project ID or key and patches the project via the Backlog API.export const updateProjectTool = ( backlog: Backlog, { t }: TranslationHelper ): ToolDefinition< ReturnType<typeof updateProjectSchema>, (typeof ProjectSchema)['shape'] > => { return { name: 'update_project', description: t( 'TOOL_UPDATE_PROJECT_DESCRIPTION', 'Updates an existing project' ), schema: z.object(updateProjectSchema(t)), outputSchema: ProjectSchema, handler: async ({ projectId, projectKey, ...param }) => { const result = resolveIdOrKey( 'project', { id: projectId, key: projectKey }, t ); if (!result.ok) { throw result.error; } return backlog.patchProject(result.value, param); }, }; };
- src/tools/tools.ts:42-42 (registration)Import statement for the updateProjectTool.import { updateProjectTool } from './updateProject.js';
- src/tools/tools.ts:75-81 (registration)Registration of updateProjectTool within the 'project' toolset group in allTools.tools: [ getProjectListTool(backlog, helper), addProjectTool(backlog, helper), getProjectTool(backlog, helper), updateProjectTool(backlog, helper), deleteProjectTool(backlog, helper), ],