Skip to main content
Glama
nulab

Backlog MCP Server

add_project

Create new projects in Backlog by specifying name, key, and configuration options like chart display, subtasking, and text formatting rules.

Instructions

Creates a new project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesProject name
keyYesProject key
chartEnabledNoWhether to enable chart (default: false)
subtaskingEnabledNoWhether to enable subtasking (default: false)
projectLeaderCanEditProjectLeaderNoWhether project leaders can edit other project leaders (default: false)
textFormattingRuleNoText formatting rule (default: 'backlog')

Implementation Reference

  • The async handler function that executes the tool logic by calling backlog.postProject with the validated input parameters to create a new project.
    handler: async ({
      name,
      key,
      chartEnabled,
      subtaskingEnabled,
      projectLeaderCanEditProjectLeader,
      textFormattingRule,
    }) =>
      backlog.postProject({
        name,
        key,
        chartEnabled: chartEnabled ?? false,
        subtaskingEnabled: subtaskingEnabled ?? false,
        projectLeaderCanEditProjectLeader:
          projectLeaderCanEditProjectLeader ?? false,
        textFormattingRule: textFormattingRule ?? 'backlog',
      }),
  • Zod-based input schema for the 'add_project' tool, defining required name and key, and optional boolean flags and text formatting rule.
    const addProjectSchema = buildToolSchema((t) => ({
      name: z.string().describe(t('TOOL_ADD_PROJECT_NAME', 'Project name')),
      key: z.string().describe(t('TOOL_ADD_PROJECT_KEY', 'Project key')),
      chartEnabled: z
        .boolean()
        .optional()
        .describe(
          t(
            'TOOL_ADD_PROJECT_CHART_ENABLED',
            'Whether to enable chart (default: false)'
          )
        ),
      subtaskingEnabled: z
        .boolean()
        .optional()
        .describe(
          t(
            'TOOL_ADD_PROJECT_SUBTASKING_ENABLED',
            'Whether to enable subtasking (default: false)'
          )
        ),
      projectLeaderCanEditProjectLeader: z
        .boolean()
        .optional()
        .describe(
          t(
            'TOOL_ADD_PROJECT_LEADER_CAN_EDIT',
            'Whether project leaders can edit other project leaders (default: false)'
          )
        ),
      textFormattingRule: z
        .enum(['backlog', 'markdown'])
        .optional()
        .describe(
          t(
            'TOOL_ADD_PROJECT_TEXT_FORMATTING',
            "Text formatting rule (default: 'backlog')"
          )
        ),
    }));
  • Registration of the addProjectTool within the 'project' toolset group in the allTools function, alongside other project management 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