Lark_doc について
Lark_docは、Lark(Feishu)のドキュメントを検索・閲覧するMCPサーバーです。DocとWikiの内容、フォルダー一覧、ドキュメント作成に対応し、OAuthベースのユーザー認証を使います。
主な機能
- 01Lark DocとWikiの内容取得
- 02Wikiドキュメントの検索
- 03フォルダー内容の一覧表示
- 04Markdownからのドキュメント作成
- 05OAuth認証とトークン更新
活用シーン
- 01LLM処理用にLarkドキュメントを取得
- 02Wiki内の関連ページを検索
- 03指定フォルダー内のファイルを確認
- 04ドキュメントを作成してWikiスペースに配置
MCP 対応
MCPクライアント向けに、Larkドキュメントの取得、Wiki検索、フォルダー一覧、ドキュメント作成のツールを提供します。OAuthユーザー認証に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Lark Doc Manage
Lark(Feishu)ドキュメントを検索してアクセスするための Model Context Protocol サーバーです。
重要:この MCP サーバーを使用するには、Lark Enterprise Application が必要です。まだ作成していない場合は、以下のセットアップ手順に従ってください。
機能
ドキュメントコンテンツへのアクセス
- Lark Doc と Wiki の両方のドキュメントタイプに対応しています
- ドキュメントタイプの判別と ID の抽出を自動で行います
- LLM で処理できるよう、コンテンツをテキスト形式で返します
認証
- OAuth ベースのユーザー認証
- トークンの更新と有効期限の管理を自動で行います
- OAuth コールバックサーバーをカスタマイズできます
エラー処理
- 認証に関する問題を包括的に報告します
- 無効なドキュメント URL に対して明確なフィードバックを返します
- トラブルシューティングに役立つ詳細なエラーメッセージを表示します
インストール
uvx mcp-lark-doc-manage
設定
Lark Enterprise Application を作成する
- Lark Open Platform にアクセスします
- 右上の「Developer Console」をクリックします
- 「Create Custom App」をクリックします
- 基本情報を入力します:
- アプリ名
- アプリの説明
- アプリアイコン
- 「Security Settings」セクションで、以下を設定します:
- 「Request Domain Name Whitelist」にドメインを追加します
- OAuth 2.0 の設定を行います
- 「Permission Management」で必要な機能を有効にし、権限を申請します
- 審査を申請し、承認を待ちます
詳しい手順については、カスタムアプリの開発プロセスを参照してください。
App ID と App Secret を取得する
-
App ID を取得します:
- Developer Console でアプリを開きます
- 「Credentials & Basic Info」で「App ID」(「Client ID」とも呼ばれます)を確認します
- 内部アプリの場合、通常は「cli_」で始まります
-
App Secret を取得します:
- 同じ「Credentials & Basic Info」ページで
- 「App Secret」(「Client Secret」とも呼ばれます)を確認します
- 「View」をクリックしてシークレットを表示します
- 注意:App Secret は安全に保管し、公開しないでください
フォルダートークンを取得する
フォルダートークンを取得するには:
- Lark で対象のフォルダーを開きます
- フォルダーの URL をコピーします。例:
https://xxx.feishu.cn/drive/folder/xxx - URL の最後の部分がフォルダートークンです
- もう一つの方法:
- Drive API を使用してフォルダーの一覧を取得します
- レスポンスから対象フォルダーのトークンを確認します
注意:フォルダーにアクセスするには、アプリに drive:drive:readonly 権限があることを確認してください。
必要な権限
wiki:node:read # Wiki node read access
docx:document:readonly # Document read-only access
search:docs:read # Document search access
drive:drive:readonly # Drive read-only access
環境変数
この MCP サーバーを使用する前に、Lark アプリの認証情報を設定する必要があります:
- Lark Open Platform で Lark アプリケーションを作成します
- App ID と App Secret を取得します
- 環境変数を設定します:
export LARK_APP_ID="your_app_id"
export LARK_APP_SECRET="your_app_secret"
export FOLDER_TOKEN="your_folder_token" # Specified folder token
export OAUTH_HOST="localhost" # OAuth callback server host (default: localhost)
export OAUTH_PORT="9997" # OAuth callback server port (default: 9997)
使用方法
Claude デスクトップで設定します:
"mcpServers": {
"lark_doc": {
"command": "/path/to/your/uvx",
"args": [
"mcp-lark-doc-manage"
],
"env": {
"LARK_APP_ID": "your_app_id",
"LARK_APP_SECRET": "your_app_secret",
"OAUTH_HOST": "localhost",
"OAUTH_PORT": "9997",
"FOLDER_TOKEN": "your_folder_token",
"DEBUG": "1" // optional, enable debug mode
}
}
}
注意:/path/to/your/uvx を実際の uvx のパスに置き換えてください(例:/Users/username/anaconda3/bin/uvx)。
利用可能なツール
-
get_lark_doc_content
- 目的:Lark からドキュメントの内容を取得します
- 引数:documentUrl (string) - Lark ドキュメントの URL
- 戻り値:テキスト形式のドキュメント内容
- 対応:
- Doc URL:https://xxx.feishu.cn/docx/xxxxx
- Wiki URL:https://xxx.feishu.cn/wiki/xxxxx
-
search_wiki
- 目的:Lark Wiki のドキュメントを検索します
- 引数:
- query (string) - 検索キーワード
- page_size (int, optional) - 返す結果の数(デフォルト:10)
- 戻り値:次のフィールドを含む検索結果の JSON 文字列:
- title:ドキュメントのタイトル
- url:ドキュメントの URL
- create_time:ドキュメントの作成日時
- update_time:ドキュメントの最終更新日時
-
list_folder_content
- 目的:指定したフォルダーの内容を一覧表示します
- 引数:
- page_size (int, optional) - 返す結果の数(デフォルト:10)
- 戻り値:次のフィールドを含むファイル一覧の JSON 文字列:
- name:ファイル名
- type:ファイルの種類
- token:ファイルのトークン
- url:ファイルの URL
- create_time:作成日時
- edit_time:最終編集日時
- owner_id:オーナー ID
-
create_doc
- 目的:コンテンツを含む新しい Lark ドキュメントを作成します
- 引数:
- title (string) - ドキュメントのタイトル
- content (string, optional) - Markdown 形式のドキュメント内容
- target_space_id (string, optional) - ドキュメントの移動先となる Wiki スペース ID
- 戻り値:次の内容を含む JSON 文字列:
- document_id:作成されたドキュメント ID
- title:ドキュメントのタイトル
- url:ドキュメントの URL
- 機能:
- Markdown コンテンツの変換に対応
- Wiki スペースとの連携は任意
- フォルダーへの自動配置
エラーメッセージ
よくあるエラーメッセージとその解決方法:
- "Lark client not properly initialized":LARK_APP_ID と LARK_APP_SECRET を確認してください
- "Invalid Lark document URL format":ドキュメントの URL 形式を確認してください
- "Failed to get document content":ドキュメントの権限とトークンの有効性を確認してください
- "Failed to get app access token":アプリケーションの認証情報とネットワーク接続を確認してください
- "Failed to get wiki document real ID":Wiki ドキュメントが存在し、適切な権限があることを確認してください
- "Document content is empty":ドキュメントが空であるか、内容へのアクセス権がない可能性があります
- "Authorization timeout":ユーザーが 5 分以内に認証を完了しませんでした
- "Folder token not configured":FOLDER_TOKEN 環境変数を確認してください
開発に関する注意事項
OAuth コールバックサーバー
デフォルト設定:
- ホスト:localhost
- ポート:9997
環境変数でカスタマイズできます:
- OAUTH_HOST:コールバックサーバーのホストを設定します
- OAUTH_PORT:コールバックサーバーのポートを設定します
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。