mcpField
L
Lark_doc

Lark_doc

ローカル
github.com/Xeoniceコミュニケーション082 週間前に更新

Lark_doc について

Lark_docは、Lark(Feishu)のドキュメントを検索・閲覧するMCPサーバーです。DocとWikiの内容、フォルダー一覧、ドキュメント作成に対応し、OAuthベースのユーザー認証を使います。

主な機能

  1. 01Lark DocとWikiの内容取得
  2. 02Wikiドキュメントの検索
  3. 03フォルダー内容の一覧表示
  4. 04Markdownからのドキュメント作成
  5. 05OAuth認証とトークン更新

活用シーン

  1. 01LLM処理用にLarkドキュメントを取得
  2. 02Wiki内の関連ページを検索
  3. 03指定フォルダー内のファイルを確認
  4. 04ドキュメントを作成してWikiスペースに配置

MCP 対応

MCPクライアント向けに、Larkドキュメントの取得、Wiki検索、フォルダー一覧、ドキュメント作成のツールを提供します。OAuthユーザー認証に対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mcp_lark_doc_manage": {
"command": "uvx",
"args": [
"mcp-lark-doc-manage"
],
"env": {
"LARK_APP_ID": "<LARK_APP_ID>",
"LARK_APP_SECRET": "<LARK_APP_SECRET>",
"OAUTH_HOST": "<OAUTH_HOST>",
"OAUTH_PORT": "<OAUTH_PORT>",
"FOLDER_TOKEN": "<FOLDER_TOKEN>",
"DEBUG": "<DEBUG>"
}
}
}
}
起動コマンドuvx mcp-lark-doc-manage
設定が必要な環境変数
LARK_APP_ID
LARK_APP_SECRETシークレット
OAUTH_HOSTシークレット
OAUTH_PORTシークレット
FOLDER_TOKENシークレット
DEBUG

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-lark-doc-manage

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 を作成する
  1. Lark Open Platform にアクセスします
  2. 右上の「Developer Console」をクリックします
  3. 「Create Custom App」をクリックします
  4. 基本情報を入力します:
    • アプリ名
    • アプリの説明
    • アプリアイコン
  5. 「Security Settings」セクションで、以下を設定します:
    • 「Request Domain Name Whitelist」にドメインを追加します
    • OAuth 2.0 の設定を行います
  6. 「Permission Management」で必要な機能を有効にし、権限を申請します
  7. 審査を申請し、承認を待ちます

詳しい手順については、カスタムアプリの開発プロセスを参照してください。

App ID と App Secret を取得する
  1. App ID を取得します:

    • Developer Console でアプリを開きます
    • 「Credentials & Basic Info」で「App ID」(「Client ID」とも呼ばれます)を確認します
    • 内部アプリの場合、通常は「cli_」で始まります
  2. App Secret を取得します:

    • 同じ「Credentials & Basic Info」ページで
    • 「App Secret」(「Client Secret」とも呼ばれます)を確認します
    • 「View」をクリックしてシークレットを表示します
    • 注意:App Secret は安全に保管し、公開しないでください
フォルダートークンを取得する

フォルダートークンを取得するには:

  1. Lark で対象のフォルダーを開きます
  2. フォルダーの URL をコピーします。例:https://xxx.feishu.cn/drive/folder/xxx
  3. URL の最後の部分がフォルダートークンです
  4. もう一つの方法:
    • 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 アプリの認証情報を設定する必要があります:

  1. Lark Open Platform で Lark アプリケーションを作成します
  2. App ID と App Secret を取得します
  3. 環境変数を設定します:
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)。

利用可能なツール
  1. get_lark_doc_content

  2. search_wiki

    • 目的:Lark Wiki のドキュメントを検索します
    • 引数:
      • query (string) - 検索キーワード
      • page_size (int, optional) - 返す結果の数(デフォルト:10)
    • 戻り値:次のフィールドを含む検索結果の JSON 文字列:
      • title:ドキュメントのタイトル
      • url:ドキュメントの URL
      • create_time:ドキュメントの作成日時
      • update_time:ドキュメントの最終更新日時
  3. list_folder_content

    • 目的:指定したフォルダーの内容を一覧表示します
    • 引数:
      • page_size (int, optional) - 返す結果の数(デフォルト:10)
    • 戻り値:次のフィールドを含むファイル一覧の JSON 文字列:
      • name:ファイル名
      • type:ファイルの種類
      • token:ファイルのトークン
      • url:ファイルの URL
      • create_time:作成日時
      • edit_time:最終編集日時
      • owner_id:オーナー ID
  4. 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 ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。