@hauptsache.net/clickup-mcp
Version:
Search, create, and retrieve tasks, add comments, and track time through natural language commands.
83 lines • 2.74 kB
TypeScript
import { CallToolResult } from "@modelcontextprotocol/sdk/types";
import { ImageMetadataBlock } from "./shared/types";
/**
* Represents a ClickUp text item which can be plain text or an image
*/
export interface ClickUpTextItem {
text?: string;
type?: string;
image?: {
id?: string;
name?: string;
title?: string;
type?: string;
extension?: string;
thumbnail_large?: string;
thumbnail_medium?: string;
thumbnail_small?: string;
url: string;
uploaded?: boolean;
};
attributes?: any;
}
/**
* Represents a ClickUp attachment
*/
export interface ClickUpAttachment {
thumbnail_large?: string;
thumbnail_medium?: string;
thumbnail_small?: string;
url: string;
[key: string]: any;
}
/**
* Process an array of ClickUp text items into a structured content format
* that includes both text and images in their original sequence
*
* @param textItems Array of text items from ClickUp API
* @returns Promise resolving to an array of content blocks (text and images)
*/
export declare function convertClickUpTextItemsToToolCallResult(textItems: ClickUpTextItem[]): Promise<(CallToolResult["content"][number] | ImageMetadataBlock)[]>;
/**
* Splits markdown text at image references and converts them to image blocks
* @param markdownText The markdown text to process
* @param attachments Array of attachments from the Clickup API
* @returns Array of content blocks (text and images)
*/
export declare function convertMarkdownToToolCallResult(markdownText: string, attachments: ClickUpAttachment[] | null | undefined): (CallToolResult["content"][number] | ImageMetadataBlock)[];
/**
* Represents a ClickUp comment block with formatting
*/
export interface ClickUpCommentBlock {
text?: string;
type?: string;
attributes?: {
bold?: boolean;
italic?: boolean;
code?: boolean;
link?: string;
'code-block'?: {
'code-block': string;
};
header?: number;
blockquote?: {};
'blockquote-size'?: 'large';
list?: {
list: 'bullet' | 'ordered' | 'unchecked' | 'checked';
};
indent?: number;
'block-id'?: string;
};
list?: {
list: 'bullet' | 'ordered' | 'unchecked' | 'checked';
};
}
/**
* Convert markdown text to ClickUp comment blocks format using remark
* Supports: headers, bold, italic, code, links, lists, blockquotes, code blocks
*
* @param markdown The markdown text to convert
* @returns Array of ClickUp comment blocks
*/
export declare function convertMarkdownToClickUpBlocks(markdown: string): ClickUpCommentBlock[];
//# sourceMappingURL=clickup-text.d.ts.map