UNPKG

feishu-mcp

Version:

Model Context Protocol server for Feishu integration

327 lines 16.4 kB
{ "name": "batch_create_feishu_blocks", "description": "Creates one or more blocks at a specified position within a Feishu document. Supports text, code, heading, list, image, mermaid, and whiteboard block types. Accepts any number of blocks. For Feishu wiki links (https://xxx.feishu.cn/wiki/xxx), use get_feishu_document_info first to obtain the documentId, then use that ID for editing operations.", "arguments": { "type": "object", "properties": { "documentId": { "type": "string", "description": "Document ID or URL (required). Supports the following formats:\n1. Standard document URL: https://xxx.feishu.cn/docs/xxx or https://xxx.feishu.cn/docx/xxx\n2. Direct document ID: e.g., JcKbdlokYoPIe0xDzJ1cduRXnRf" }, "parentBlockId": { "type": "string", "description": "Parent block ID (required). The block ID whose direct children will be operated on, without any URL prefix. For root-level operations, use the document ID as parentBlockId." }, "index": { "type": "integer", "minimum": 0, "description": "Insertion position within the direct children of `parentBlockId` (0-based, title block excluded).\n0 = before the first content block; max = children.length (append after last block).\nExample: document has 3 blocks → valid values are 0, 1, 2, 3." }, "blocks": { "type": "array", "items": { "type": "object", "properties": { "blockType": { "type": "string", "enum": [ "text", "code", "heading", "list", "image", "mermaid", "whiteboard" ], "description": "Block type. 'image' and 'whiteboard' create empty blocks to be filled after creation." }, "options": { "anyOf": [ { "type": "object", "properties": { "text": { "type": "object", "properties": { "textStyles": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "text": { "type": "string", "description": "Text content. Provide plain text without markdown syntax; use style object for formatting." }, "style": { "type": "object", "properties": { "bold": { "type": "boolean", "description": "Whether to make text bold. Default is false, equivalent to **text** in Markdown." }, "italic": { "type": "boolean", "description": "Whether to make text italic. Default is false, equivalent to *text* in Markdown." }, "underline": { "type": "boolean", "description": "Whether to add underline. Default is false." }, "strikethrough": { "type": "boolean", "description": "Whether to add strikethrough. Default is false, equivalent to ~~text~~ in Markdown." }, "inline_code": { "type": "boolean", "description": "Whether to format as inline code. Default is false, equivalent to `code` in Markdown." }, "text_color": { "type": "number", "description": "Text color (optional): 0=black (default), 1=gray, 2=brown, 3=orange, 4=yellow, 5=green, 6=blue, 7=purple." }, "background_color": { "type": "number", "description": "Background color (optional): 1=gray, 2=brown, 3=orange, 4=yellow, 5=green, 6=blue, 7=purple." } }, "additionalProperties": false, "description": "Text style settings (optional). Omit entirely for unstyled text; only set properties that differ from the default (false)." } }, "required": [ "text" ], "additionalProperties": false, "description": "Regular text element with optional styling." }, { "type": "object", "properties": { "equation": { "type": "string", "description": "Mathematical equation content. The formula or expression to display. Format: LaTeX." }, "style": { "$ref": "#/properties/blocks/items/properties/options/anyOf/0/properties/text/properties/textStyles/items/anyOf/0/properties/style" } }, "required": [ "equation" ], "additionalProperties": false, "description": "Mathematical equation element with optional styling." } ] }, "description": "Array of text content objects with styles. A block can contain multiple text segments with different styles, including both regular text and equations. Example: [{text:\"Hello\",style:{bold:true}},{equation:\"1+2=3\",style:{}}]" }, "align": { "type": "number", "default": 1, "description": "Text alignment: 1 for left (default), 2 for center, 3 for right." } }, "required": [ "textStyles" ], "additionalProperties": false } }, "required": [ "text" ], "additionalProperties": false, "description": "Text block options. Used when blockType is 'text'." }, { "type": "object", "properties": { "code": { "type": "object", "properties": { "code": { "type": "string", "description": "Code content. The complete code text to display." }, "language": { "type": "number", "default": 1, "description": "Programming language code (optional). Common language codes:\n1: PlainText; 2: ABAP; 3: Ada; 4: Apache; 5: Apex; 6: Assembly; 7: Bash; 8: CSharp; 9: C++; 10: C; 11: COBOL; 12: CSS; 13: CoffeeScript; 14: D; 15: Dart; 16: Delphi; 17: Django; 18: Dockerfile; 19: Erlang; 20: Fortran; 22: Go; 23: Groovy; 24: HTML; 25: HTMLBars; 26: HTTP; 27: Haskell; 28: JSON; 29: Java; 30: JavaScript; 31: Julia; 32: Kotlin; 33: LateX; 34: Lisp; 36: Lua; 37: MATLAB; 38: Makefile; 39: Markdown; 40: Nginx; 41: Objective-C; 43: PHP; 44: Perl; 46: PowerShell; 47: Prolog; 48: ProtoBuf; 49: Python; 50: R; 52: Ruby; 53: Rust; 54: SAS; 55: SCSS; 56: SQL; 57: Scala; 58: Scheme; 60: Shell; 61: Swift; 62: Thrift; 63: TypeScript; 64: VBScript; 65: Visual Basic; 66: XML; 67: YAML; 68: CMake; 69: Diff; 70: Gherkin; 71: GraphQL. Default is 1 (PlainText)." }, "wrap": { "type": "boolean", "default": false, "description": "Whether to enable automatic line wrapping. Default is false." } }, "required": [ "code" ], "additionalProperties": false } }, "required": [ "code" ], "additionalProperties": false, "description": "Code block options. Used when blockType is 'code'." }, { "type": "object", "properties": { "heading": { "type": "object", "properties": { "level": { "type": "number", "minimum": 1, "maximum": 9, "description": "Heading level from 1 to 9, where 1 is the largest (h1) and 9 is the smallest (h9)." }, "content": { "type": "string", "description": "Heading text content." }, "align": { "type": "number", "default": 1, "description": "Text alignment (optional): 1 for left (default), 2 for center, 3 for right. Only these three values are allowed." } }, "required": [ "level", "content" ], "additionalProperties": false } }, "required": [ "heading" ], "additionalProperties": false, "description": "Heading block options. Used with both 'heading' and 'headingN' formats." }, { "type": "object", "properties": { "list": { "type": "object", "properties": { "content": { "type": "string", "description": "List item content. The actual text of the list item." }, "isOrdered": { "type": "boolean", "default": false, "description": "Whether this is an ordered (numbered) list item. Default is false (bullet point/unordered)." }, "align": { "$ref": "#/properties/blocks/items/properties/options/anyOf/2/properties/heading/properties/align" } }, "required": [ "content" ], "additionalProperties": false } }, "required": [ "list" ], "additionalProperties": false, "description": "List block options. Used when blockType is 'list'." }, { "type": "object", "properties": { "image": { "type": "object", "properties": { "width": { "type": "number", "description": "Image width in pixels (optional). If not provided, the original image width will be used." }, "height": { "type": "number", "description": "Image height in pixels (optional). If not provided, the original image height will be used." } }, "additionalProperties": false } }, "required": [ "image" ], "additionalProperties": false, "description": "Image block options. Used when blockType is 'image'. Creates empty image blocks." }, { "type": "object", "properties": { "mermaid": { "type": "object", "properties": { "code": { "type": "string", "description": "Mermaid chart code (required). Node labels containing special characters ((), [], -->) must be wrapped in double quotes.\nExample: A[\"finish()/返回键\"] --> B" } }, "required": [ "code" ], "additionalProperties": false } }, "required": [ "mermaid" ], "additionalProperties": false, "description": "Mermaid block options. Used when blockType is 'mermaid'." }, { "type": "object", "properties": { "whiteboard": { "type": "object", "properties": { "align": { "type": "number", "default": 2, "description": "Whiteboard alignment: 1 for left, 2 for center (default), 3 for right." } }, "additionalProperties": false } }, "required": [ "whiteboard" ], "additionalProperties": false, "description": "Whiteboard block options. Used when blockType is 'whiteboard'. Creates an empty whiteboard; response includes board.token — pass it as whiteboardId to fill_whiteboard_with_plantuml." } ], "description": "Options for the block type. Key must match blockType (e.g., blockType:\"text\" → options:{text:{...}})." } }, "required": [ "blockType", "options" ], "additionalProperties": false }, "description": "Array of block configurations to create. Pass as a JSON array, not a serialized string.\nExample: [{blockType:\"text\",options:{text:{textStyles:[{text:\"Hello\",style:{bold:true}}]}}},{blockType:\"heading\",options:{heading:{level:1,content:\"My Title\"}}}]" } }, "required": [ "documentId", "parentBlockId", "index", "blocks" ], "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" } }