feishu-create-doc について
feishu-create-docは、MCPの`create-doc`ツールを使い、MarkdownからFeishuのクラウドドキュメントを作成するスキルです。Lark-flavored Markdownに対応し、フォルダーやWiki内の保存先を指定できます。
主な機能
- 01Markdownからクラウドドキュメントを作成
- 02Lark-flavored Markdownに対応
- 03タイトルと保存先の指定
- 04MermaidまたはPlantUMLの図を利用
- 05ドキュメントIDとURLを返却
活用シーン
- 01プロジェクトメモをFeishu文書にまとめる
- 02議事録を指定フォルダーに保存
- 03Wikiノードやスペースに文書を作成
- 04手順図や構成図を文書に追加
MCP 対応
MCPの`create-doc`ツールを呼び出し、Lark-flavored MarkdownからFeishuのクラウドドキュメントを作成します。ドキュメントIDとURLが返されます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ larksuite/ openclaw-lark --skill feishu-create-docインストール後、Claude Code で/feishu-create-docを入力して読み込まれたか確認します。
詳細
feishu_mcp_create_doc
MCP を介して create-doc を呼び出し、Lark-flavored Markdown の内容から新しい Feishu クラウドドキュメントを作成します。
戻り値
ツールの実行が成功すると、次のフィールドを含む JSON オブジェクトが返されます。
doc_id(string):ドキュメントの一意な識別子(token)。形式はdoxcnXXXXXXXXXXXXXXXXXXXのようになりますdoc_url(string):ドキュメントへのアクセスリンク。ブラウザーで直接開けます。形式はhttps://www.feishu.cn/docx/doxcnXXXXXXXXXXXXXXXXXXXのようになりますmessage(string):操作結果のメッセージ。例:「ドキュメントを作成しました」
パラメーター
markdown(必須)
ドキュメントの Markdown コンテンツ。Lark-flavored Markdown 形式を使用します。
本ツールを呼び出す際の markdown コンテンツは、できる限り構造を明確にし、豊かなスタイルで、読みやすくしてください。Callout のハイライトブロック、段組み、表などの機能を適切に使い、画像や Mermaid も効果的に挿入して、図と文章を組み合わせてください。 以下の原則に従ってください。
- 明確な構造:見出しは4階層以内にし、Callout を使って重要な情報を目立たせます
- 視覚的なメリハリ:区切り線、段組み、表を使い、長い文章が続くのを避けます
- 図と文章の組み合わせ:フローやアーキテクチャは、Mermaid/PlantUML による可視化を優先します
- 余白は控えめに:Callout を使いすぎず、太字は重要な語句だけに使います
ユーザーからスタイルや形式について明確な要望がある場合は、その要望を優先してください。
重要な注意事項:
- タイトルの重複禁止:markdown コンテンツの冒頭に、title と同じレベル1見出しを書かないでください。title パラメーターがドキュメントのタイトルとなるため、markdown は本文から始めてください
- 目次:Feishu が自動生成するため、手動で追加する必要はありません
- Markdown の構文は、以下の「コンテンツ形式」の章に記載された Lark-flavored Markdown の仕様に準拠する必要があります
- 長いドキュメントを作成する場合は、成功率を高めるため、update-doc の append mode と組み合わせて複数回に分けて作成することを強くおすすめします
title(任意)
ドキュメントのタイトルです。
folder_token(任意)
親フォルダーの token です。指定しない場合、ドキュメントはユーザーの個人スペースのルートに作成されます。
folder_token は Feishu のフォルダー URL から取得できます。形式は https://xxx.feishu.cn/drive/folder/fldcnXXXX で、この場合 fldcnXXXX が folder_token です。
wiki_node(任意)
ナレッジベースのノード token または URL です(任意。指定すると、そのノードの下にドキュメントを作成します。folder_token および wiki_space とは併用できません)。
wiki_node は Feishu のナレッジベースページの URL から取得できます。形式は https://xxx.feishu.cn/wiki/wikcnXXXX で、この場合 wikcnXXXX が wiki_node の token です。
wiki_space(任意)
ナレッジスペース ID です(任意。指定すると、そのスペースのルートにドキュメントを作成します。特別な値 my_library はユーザーの個人ナレッジベースを表します。wiki_node および folder_token とは併用できません)。
wiki_space はナレッジスペース設定ページの URL から取得できます。形式は https://xxx.feishu.cn/wiki/settings/7448000000000009300 で、この場合 7448000000000009300 が wiki_space ID です。
パラメーターの優先順位:wiki_node > wiki_space > folder_token
例
例 1:シンプルなドキュメントを作成
{
"title": "项目计划",
"markdown": "# 项目概述\n\n这是一个新项目。\n\n## 目标\n\n- 目标 1\n- 目标 2"
}
例 2:指定したフォルダーに作成
{
"title": "会议纪要",
"folder_token": "fldcnXXXXXXXXXXXXXXXXXXXXXX",
"markdown": "# 周会 2025-01-15\n\n## 讨论议题\n\n1. 项目进度\n2. 下周计划"
}
例 3:Feishu の拡張構文を使用
ハイライトブロックや表など、Feishu 独自の機能を使用します。
{
"title": "产品需求",
"markdown": "<callout emoji=\"💡\" background-color=\"light-blue\">\n重要需求说明\n</callout>\n\n## 功能列表\n\n<lark-table header-row=\"true\">\n| 功能 | 优先级 |\n|------|--------|\n| 登录 | P0 |\n| 导出 | P1 |\n</lark-table>"
}
例 4:ナレッジベースのノードの下に作成
{
"title": "技术文档",
"wiki_node": "wikcnXXXXXXXXXXXXXXXXXXXXXX",
"markdown": "# API 接口说明\n\n这是一个知识库文档。"
}
例 5:ナレッジスペースのルートに作成
{
"title": "项目概览",
"wiki_space": "7448000000000009300",
"markdown": "# 项目概览\n\n这是知识空间根目录下的一级文档。"
}
例 6:個人ナレッジベースに作成
{
"title": "学习笔记",
"wiki_space": "my_library",
"markdown": "# 学习笔记\n\n这是创建在个人知识库中的文档。"
}
コンテンツ形式
ドキュメントの内容には Lark-flavored Markdown 形式を使用します。これは標準 Markdown の拡張版であり、Feishu ドキュメントのすべてのブロックタイプとリッチテキスト形式に対応しています。
共通ルール
- 標準 Markdown 構文を基本として使用します
- Feishu 独自の機能はカスタム XML タグで実装します(具体的なタグは各機能の章を参照してください)
- 特殊文字を表示する場合は、バックスラッシュでエスケープします:
* ~$ [ ] < > { } | ^`
📝 基本ブロックタイプ
テキスト(段落)
普通文本段落
段落中的**粗体文字**
多个段落之间用空行分隔。
居中文本 {align="center"}
右对齐文本 {align="right"}
段落の配置:{align="left|center|right"} 構文に対応しています。色と組み合わせることもできます:{color="blue" align="center"}
見出し
Feishu は9段階の見出しに対応しています。H1~H6 には標準 Markdown 構文を、H7~H9 には HTML タグを使用します。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
<h7>七级标题</h7>
<h8>八级标题</h8>
<h9>九级标题</h9>
# 带颜色的标题 {color="blue"}
## 红色标题 {color="red"}
# 居中标题 {align="center"}
## 蓝色居中标题 {color="blue" align="center"}
見出しの属性:{color="色名"} と {align="left|center|right"} 構文に対応しており、組み合わせて使用できます。色の値:red、orange、yellow、green、blue、purple、gray。この機能は慎重に使用してください。
リスト
番号付きリストと箇条書きを入れ子にする場合は、タブまたは半角スペース2つでインデントします。
- 无序项1(
- 无序项1.a
- 无序项1.b
1. 有序项1
2. 有序项2
- [ ] 待办
- [x] 已完成
引用ブロック
> 这是一段引用
> 可以跨多行
> 引用中支持**加粗**和*斜体*等格式
コードブロック
⚠️ フェンス付きコードブロック(```)のみ対応しています。インデントされたコードブロックには対応していません。
```python
print("Hello")
```
対応言語:python、javascript、go、java、sql、json、yaml、shell など。
区切り線
---
🎨 リッチテキスト形式
テキストスタイル
**太字** *斜体* ~~取り消し線~~ `インラインコード` <u>下線</u>
文字色
<text color="red">赤色</text> <text background-color="yellow">黄色の背景</text>
対応色:red、orange、yellow、green、blue、purple、gray
リンク
[リンクテキスト](https://example.com)(アンカーリンクには対応していません)
インライン数式(LaTeX)
$E = mc^2$($ の前後にスペースが必要です)、または <equation>E = mc^2</equation>(制限なし。こちらを推奨します)
🚀 高度なブロックタイプ
ハイライトブロック(Callout)
<callout emoji="✅" background-color="light-green" border-color="green">
支持**格式化**的内容,可包含多个块
</callout>
属性:emoji(✅ ⚠️ 💡 などの絵文字を使用)、background-color、border-color、text-color
背景色:light-red/red、light-blue/blue、light-green/green、light-yellow/yellow、light-orange/orange、light-purple/purple、pale-gray/light-gray/dark-gray
よく使う設定:💡light-blue(ヒント) ⚠️light-yellow(警告) ❌light-red(危険) ✅light-green(成功)
制限:Callout の子ブロックは、テキスト、見出し、リスト、ToDo、引用のみ対応しています。コードブロック、表、画像には対応していません。
段組み(Grid)
比較や並列表示に適しています。2~5列に対応しています。
2列(同じ幅)
<grid cols="2">
<column>
左栏内容
</column>
<column>
右栏内容
</column>
</grid>
3列(幅をカスタマイズ)
<grid cols="3">
<column width="20">左栏(20%)</column>
<column width="60">中栏(60%)</column>
<column width="20">右栏(20%)</column>
</grid>
属性:cols(列数。2~5)、width(列幅の割合。合計は100。同じ幅の場合は省略できます)
表
標準 Markdown の表
| 列 1 | 列 2 | 列 3 |
|------|------|------|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
Feishu 拡張表
セルにリスト、コードブロック、ハイライトブロックなどの複雑な内容を含める場合に使用します。
階層構造(必ず厳守してください):
<lark-table> ← 表格容器
<lark-tr> ← 行(直接子元素只能是 lark-tr)
<lark-td>内容</lark-td> ← 单元格(直接子元素只能是 lark-td)
<lark-td>内容</lark-td> ← 每行的 lark-td 数量必须相同!
</lark-tr>
</lark-table>
属性:
column-widths:列幅。ピクセル値をカンマで区切って指定します。合計幅は約730ですheader-row:先頭行をヘッダーにするかどうか("true"または"false")header-column:先頭列をヘッダーにするかどうか("true"または"false")
セルの記述方法:内容の前後に空行が必要です
<lark-td>
这里写内容
</lark-td>
完全な例(2行3列):
<lark-table column-widths="200,250,280" header-row="true">
<lark-tr>
<lark-td>
**表头1**
</lark-td>
<lark-td>
**表头2**
</lark-td>
<lark-td>
**表头3**
</lark-td>
</lark-tr>
<lark-tr>
<lark-td>
普通文本
</lark-td>
<lark-td>
- 列表项1
- 列表项2
</lark-td>
<lark-td>
代码内容
</lark-td>
</lark-tr>
</lark-table>
制限:セル内の Grid と入れ子の表には対応していません
セルの結合:読み取り時は rowspan/colspan 属性が返されますが、作成時にはまだ対応していません
禁止事項:
- Markdown の表構文(
|---|)との混在 <br/>による改行<lark-td>タグの省略
画像
<image url="https://example.com/image.png" width="800" height="600" align="center" caption="图片描述文字"/>
属性: url(必須。システムが自動的にダウンロードしてアップロードします)、width、height、align(left/center/right)、caption
⚠️ 重要: token 属性を直接使用する方法(<image token="xxx"/> など)には対応していません。URL 方式のみ対応しています。システムが画像を自動的にダウンロードして、Feishu にアップロードします。
PNG/JPG/GIF/WebP/BMP に対応。最大 10MB
画像/ファイルの挿入方法の選択:
-
公開アクセス可能な画像 URL がある場合 → create-doc / update-doc の markdown で
<image url="..."/>を直接使用すれば、完了です -
ローカル画像またはファイル(チャットでユーザーが送信した画像/ファイルなど) → まず create-doc / update-doc で文書のテキスト内容を作成または更新し、次に
feishu_doc_mediaツールでローカル画像またはファイルを文書の末尾に追加します。文書の途中の特定位置にメディアを表示する場合は、まず create-doc で前の内容を作成し、feishu_doc_mediaを呼び出して画像/ファイルを追加した後、最後に update-doc の append モードで後続の内容を追加します
ファイル
<file url="https://example.com/document.pdf" name="文档.pdf" view-type="1"/>
属性:
- url(ファイル URL、必須。システムが自動的にダウンロードしてアップロードします)
- name(ファイル名、必須)
- view-type(1=カードビュー、2=プレビュー表示、任意)
⚠️ 重要: token 属性を直接使用する方法(<file token="xxx"/> など)には対応していません
ホワイトボード(Mermaid / PlantUML 図表)
Mermaid と PlantUML の 2 種類の図表構文に対応しています。
Mermaid 図表
図表には、まずこの形式を選択してください。Mermaid 図表は視覚的なホワイトボードとしてレンダリングされます。Mermaid で実現できる図表は、Mermaid を優先してください。
```mermaid
graph TD
A[开始] --> B{判断}
B -->|是| C[处理]
B -->|否| D[结束]
```
対応する図表タイプ: flowchart、sequenceDiagram、classDiagram、stateDiagram、gantt、mindmap、erDiagram
PlantUML 図表
PlantUML 図表は視覚的なホワイトボードとしてレンダリングされます。Mermaid では対応できない場合に、PlantUML で作図できます。
```plantuml
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi!
@enduml
```
対応する図表タイプ: sequence、usecase、class、activity、component、state、object、deployment
ホワイトボードの読み取り
読み取り時には <whiteboard> タグが返されます。
<whiteboard token="xxx" align="center" width="800" height="600"/>
属性: token(ホワイトボード識別子)、align(left/center/right)、width、height
重要な説明:
- create-doc では Mermaid/PlantUML コードブロックを使用します。システムが自動的にホワイトボードに変換します。
<whiteboard>形式で書き込むことは禁止されています!! - 読み取り時に取得できるのは token のみです。fetch-file ツールで内容を確認できます。元のソースコードは取得できません
多次元テーブル(Bitable)
<bitable view="table"/>
<bitable view="kanban"/>
属性: view(table/kanban、デフォルトは table)
注意: token は読み取り専用属性です。作成時に指定することはできず、空の多次元テーブルのみ作成できます。作成後に手動でデータを追加してください。
セッションカード(ChatCard)
<chat-card id="oc_xxx" align="center"/>
属性: id(形式は oc_xxx、必須)、align(left/center/right)
埋め込み Web ページ(Iframe)
<iframe url="https://example.com/survey?id=123" type="12"/>
属性: url(必須)、type(コンポーネントタイプの数値、必須)
type の列挙値: 1=Bilibili、2=西瓜、3=優酷、4=Airtable、5=百度地図、6=高徳地図、8=Figma、9=墨刀、10=Canva、11=CodePen、12=Feishu アンケート、13=金データ
重要な注意: 対応しているのは、上記に列挙された Web ページタイプのみです。その他のタイプの Web ページは埋め込みに対応していないため、iframe を使用しないでください。通常の Web ページリンクには、代わりに Markdown リンク形式 [リンクテキスト](URL) を使用してください。
リンクプレビュー(LinkPreview)
<link-preview url="消息链接" type="message"/>
属性: url(必須、属性のみを記述)、type(message=メッセージリンク)
現在はメッセージリンクのみ対応しています。読み取りのみ可能で、作成には対応していません
引用コンテナー(QuoteContainer)
<quote-container>
引用容器内容
</quote-container>
quote 引用ブロックとは異なり、引用コンテナーは複数の子ブロックを含めることができるコンテナータイプです
🔧 高度な機能ブロック
スプレッドシート(Sheet)
<sheet rows="5" cols="5"/>
<sheet/>
属性: rows(行数、デフォルトは 3、最大 9)、cols(列数、デフォルトは 3)
注意: token は読み取り専用属性のため、作成時に指定できません。空のスプレッドシートのみ作成できます。作成後、Sheet API を使用してデータを操作してください。
読み取り専用ブロックタイプ 🔒
以下のブロックタイプは、読み取りのみ可能で、作成には対応していません。
| ブロックタイプ | タグ | 説明 |
|---|---|---|
| マインドノート | <mindnote token="xxx"/> | プレースホルダー情報のみ取得 |
| フローチャート/UML | <diagram type="1"/> | type: 1=フローチャート、2=UML |
| AI テンプレート | <ai-template/> | 内容のないプレースホルダーブロック |
タスクブロック
<task task-id="xxx" members="ou_123, ou_456" due="2025-01-01">任务标题</task>
属性: task-id、members(メンバー ID のリスト)、due(期限)
同期ブロック
<source-synced align="1">子块内容...</source-synced>
<reference-synced source-block-id="xxx" source-document-id="yyy">源内容...</reference-synced>
属性: source-synced には align があり、reference-synced には source-block-id、source-document-id があります
文書アドオン(AddOns)
<add-ons component-type-id="blk_xxx" record='{"key":"value"}'/>
属性: component-type-id(アドオンのタイプ ID)、record(JSON データ)
Q&A インタラクション、日付リマインダーなど、さまざまなタイプがあります。Mermaid など一部のコンポーネントは、board ブロックとして個別にラップされています
旧版アドオン(ISV)
<isv id="comp_xxx" type="type_xxx"/>
属性: component_id、component_type_id
旧版オープンプラットフォームのアドオンです。新版では AddOns を使用してください
Wiki サブディレクトリ(WikiCatalog)🕰️
<wiki-catalog token="wiki_xxx"/>
属性: wiki_token(ナレッジベースノードの token)
🕰️ 旧版です。新版の sub-page-list の使用を推奨します
Wiki サブページリスト(SubPageList)
<sub-page-list wiki="wiki_xxx"/>
属性: wiki_token(現在のページの wiki token)
ナレッジベース文書の作成にのみ対応しています。現在のページの wiki token を渡す必要があります
議題(Agenda)
<agenda>
<agenda-item>
<agenda-title>议程标题</agenda-title>
<agenda-content>议程内容</agenda-content>
</agenda-item>
</agenda>
構造: agenda(コンテナー)→ agenda_item(議題項目)→ agenda_title(タイトル)+ agenda_content(内容)
Jira の課題(JiraIssue)
<jira-issue id="xxx" key="PROJECT-123"/>
属性: id(Jira の課題 ID)、key(Jira の課題キー)
OKR シリーズ ⚠️
<okr id="okr_xxx">
<objective id="obj_1">
<kr id="kr_1"/>
</objective>
</okr>
⚠️ user_access_token による作成のみ対応しています。詳細な操作には OKR API を使用する必要があります
構造: okr → okr_objective(目標)→ okr_key_result(主要な結果)+ okr_progress(進捗)
📎 メンションと引用
ユーザーへのメンション
<mention-user id="ou_xxx"/>
属性: id(ユーザーの open_id、形式は ou_xxx)
文書内に @張三 のような形式を直接記述しないでください。search-user でユーザーの id を取得し、mention-user を使用してください。
文書へのメンション
<mention-doc token="doxcnXXX" type="docx">文档标题</mention-doc>
属性: token(文書の token)、type(docx/sheet/bitable)
📅 日付と時刻
日付リマインダー(Reminder)
<reminder date="2025-12-31T18:00+08:00" notify="true" user-id="ou_xxx"/>
属性:
- date(必須):
YYYY-MM-DDTHH:mm+HH:MM。タイムゾーンオフセット付きの ISO 8601 - notify(true/false): 通知を送信するかどうか
- user-id(必須): 作成者のユーザー ID
📐 数式
ブロック数式(LaTeX)
$$
\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$
インライン数式
爱因斯坦方程:$E = mc^2$(注意 $ 前后需空格,紧邻位置不能有空格)
✍️ ライティングガイド
シーン別早見表
| シーン | おすすめコンポーネント | 説明 |
|---|---|---|
| 重要なヒント/警告 | Callout | 青色のヒント、黄色の警告、赤色の危険 |
| 比較/並列表示 | Grid 列分割 | 2~3 列が最適です。Callout と組み合わせると、より目立ちます |
| データの集計 | 表 | シンプルなものには Markdown を、複雑な入れ子構造には lark-table を使用します |
| 手順の説明 | 番号付きリスト | 子手順を入れ子にできます |
| タイムライン/バージョン | 番号付きリスト + 日付の太字 | または Mermaid timeline を使用します |
| コードの表示 | コードブロック | 言語を指定し、適宜コメントを追加します |
| ナレッジカード | Callout + emoji | 概念の説明やヒントに使用します |
| 引用の説明 | 引用ブロック > | 原文や名言を引用します |
| 用語の対照 | 2 列の表 | 中国語と英語、略語と正式名称など |
🎯 ベストプラクティス
- 空行で区切る:異なるブロックタイプの間に空行を入れます
- エスケープ文字:特殊文字は
\でエスケープします:\*\~``` - 画像:URL を使用すると、システムが自動的にダウンロードしてアップロードします
- 列分割:列幅の合計は 100 にする必要があります
- 表の選択:シンプルなデータには Markdown を、複雑な入れ子構造には
<lark-table>を使用します - メンション:ユーザーへのメンションには
<mention-user>を、ドキュメントへのメンションには<mention-doc>を使用します - 目次:飞书が自動生成するため、手動で追加する必要はありません
📖 補足説明
- 画像、画板、多次元テーブルには token が必要です(URL は自動的にアップロードされ、変換されます)
- ユーザーへのメンションと会話カードには、対応するアクセス権限が必要です
- 標準 Markdown と完全に互換性があります