Skip to main content
Glama

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
NameRequiredDescriptionDefault
archivedNoWhether to archive the project
chartEnabledNoWhether to enable chart
keyNoProject key
nameNoProject name
projectIdOrKeyYesProject ID or project key
projectLeaderCanEditProjectLeaderNoWhether project leaders can edit other project leaders
subtaskingEnabledNoWhether to enable subtasking
textFormattingRuleNoText formatting rule

Implementation Reference

  • 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') ), }));
  • 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); }, }; };
  • Import statement for the updateProjectTool.
    import { updateProjectTool } from './updateProject.js';
  • 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), ],

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nulab/backlog-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server