Skip to main content
Glama
Leanware-io

ClickUp MCP Integration

by Leanware-io

clickup_create_page

Create a new page in a ClickUp document by specifying the doc ID, page name, and markdown content. Add subtitles and organize pages hierarchically with parent page IDs.

Instructions

Create a new page in a ClickUp doc

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doc_idYesClickUp doc ID
nameYesPage name
parent_page_idNoParent page ID (null for root page)
sub_titleNoPage subtitle
contentYesPage content in markdown format

Implementation Reference

  • MCP tool definition for 'clickup_create_page', including name, description, input schema (Zod), and handler function that prepares parameters and delegates to docsService.createPage, returning JSON response.
    const createPageTool = defineTool((z) => ({ name: "clickup_create_page", description: "Create a new page in a ClickUp doc", inputSchema: { doc_id: z.string().describe("ClickUp doc ID"), name: z.string().describe("Page name"), parent_page_id: z .string() .optional() .describe("Parent page ID (null for root page)"), sub_title: z.string().optional().describe("Page subtitle"), content: z.string().describe("Page content in markdown format"), }, handler: async (input) => { const pageParams: CreatePageParams = { docId: input.doc_id, name: input.name, parent_page_id: input.parent_page_id, sub_title: input.sub_title, content: input.content, }; const response = await docsService.createPage(pageParams); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }, }));
  • src/index.ts:29-62 (registration)
    The createPageTool is included in the 'tools' array which is iterated over to register all tools with the MCP server using server.tool(tool.name, tool.description, tool.inputSchema, tool.handler).
    const tools = [ // Task tools getTaskByCustomIdTool, getTaskTool, createTaskTool, updateTaskTool, updateTaskByCustomIdTool, // Space tools getSpacesTool, // Folder tools getFoldersTool, // List tools getListsTool, createListTool, // Custom Field tools getListCustomFieldsTool, setCustomFieldValueTool, setCustomFieldValueByCustomIdTool, // Assignee tools getListAssigneesTool, // Docs tools searchDocsTool, createDocTool, getDocPagesTool, getPageTool, createPageTool, editPageTool, ];
  • Core implementation of page creation: constructs the request payload and performs POST API call to ClickUp to create the page.
    async createPage(params: CreatePageParams): Promise<ClickUpDocPage> { const { docId, name, parent_page_id, sub_title, content } = params; const pageData = { name, parent_page_id: parent_page_id || null, sub_title: sub_title || null, content, content_format: "text/md", }; return this.request<ClickUpDocPage>( `/${this.workspaceId}/docs/${docId}/pages`, { method: "POST", body: JSON.stringify(pageData), } ); }
  • TypeScript interface defining the parameters for creating a ClickUp page, used in the tool handler and service method.
    export interface CreatePageParams { docId: string; name: string; parent_page_id?: string; sub_title?: string; content: string; }

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/Leanware-io/clickup-mcp-server'

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