Feishu/Lark OpenAPI MCP

MIT License
31
3
  • Apple

Integrations

  • Provides a Node.js-based MCP server that encapsulates Feishu/Lark Open Platform API interfaces, allowing AI assistants to directly call these interfaces for various automation scenarios.

フェイシュウ/ラーク OpenAPI MCP

英語 |中国語

⚠️ ベータ版のお知らせ:このツールは現在ベータ版です。機能やAPIは変更される可能性がありますので、バージョンリリースの最新情報をご確認ください。

これは、Feishu/Lark公式OpenAPI MCP(Model Context Protocol)ツールです。ユーザーがFeishu/Larkプラットフォームに迅速に接続し、AIエージェントとFeishu/Lark間の効率的な連携を実現できるように設計されています。このツールは、Feishu/Lark Open Platform APIインターフェースをMCPツールとしてカプセル化しており、AIアシスタントがこれらのインターフェースを直接呼び出して、ドキュメント処理、会話管理、カレンダースケジュール設定などのさまざまな自動化シナリオを実装できます。

特徴

  • **完全な Feishu/Lark API ツールキット:**メッセージ管理、グループ管理、ドキュメント操作、カレンダー イベント、Bitable、その他のコア機能領域を含む、ほぼすべての Feishu/Lark API インターフェイスをカプセル化します。
  • 二重認証サポート:
    • アプリアクセストークン認証をサポート
    • ユーザーアクセストークン認証をサポート
  • 柔軟な通信プロトコル:
    • 標準入出力ストリーム(stdio)モードをサポートし、Cursor/ClaudeなどのAIツールとの統合に適しています。
    • Server-Sent Events (SSE) モードをサポートし、HTTP ベースのインターフェースを提供します。
  • さまざまな使用シナリオに適応する複数の構成方法をサポートします

ツールリスト

サポートされているすべての Feishu/Lark ツールの完全なリストはtools.mdにあります。ツールはプロジェクトとバージョン別に分類され、説明が付いています。

準備

Feishu/Lark アプリケーションの作成

lark-mcp ツールを使用する前に、Feishu/Lark アプリケーションを作成する必要があります。

  1. Feishu Open PlatformまたはLark Open Platformにアクセスしてログインしてください
  2. 「開始」をクリックして新しいアプリケーションを作成します
  3. API認証に使用するApp IDとApp Secretを取得します。
  4. 使用シナリオに基づいてアプリケーションに必要な権限を追加します
  5. ユーザーとしてAPIを呼び出す必要がある場合は、OAuth 2.0リダイレクトURLを設定し、ユーザーアクセストークンを取得します。

アプリケーションの作成と構成に関する詳細なガイドラインについては、 Feishu Open Platform ドキュメントの「アプリケーションの作成」またはLark Open Platform ドキュメントを参照してください。

Node.jsのインストール

lark-mcp ツールを使用する前に、Node.js 環境をインストールする必要があります。

macOSにNode.jsをインストールする

  1. Homebrew の使用 (推奨) :
    brew install node
  2. 公式インストーラーの使用:
    • Node.jsのウェブサイトをご覧ください
    • LTSバージョンをダウンロードしてインストールする
    • インストール後、ターミナルで確認します。
      node -v npm -v

WindowsにNode.jsをインストールする

  1. 公式インストーラーの使用:
    • Node.jsのウェブサイトをご覧ください
    • Windowsインストーラー(.msiファイル)をダウンロードして実行します
    • インストールウィザードに従ってインストールを完了します
    • インストール後、コマンドプロンプトで確認します。
      node -v npm -v
  2. nvm-windows の使用:
    • nvm-windowsをダウンロード
    • nvm-windowsをインストールする
    • nvm を使用して Node.js をインストールします。
      nvm install latest nvm use <version_number>

インストール

lark-mcp ツールをグローバルにインストールします。

npm install -g @larksuiteoapi/lark-mcp

使用ガイド

カーソル/クロードと併用

Cursor や Claude などの AI ツールに Feishu/Lark 機能を統合するには、構成ファイルに以下を追加します。

{ "mcpServers": { "lark-mcp": { "command": "npx", "args": [ "-y", "@larksuiteoapi/lark-mcp", "mcp", "-a", "<your_app_id>", "-s", "<your_app_secret>" ] } } }

ユーザー ID を使用して API にアクセスするには、ユーザー アクセス トークンを追加します。

{ "mcpServers": { "lark-mcp": { "command": "npx", "args": [ "-y", "@larksuiteoapi/lark-mcp", "mcp", "-a", "<your_app_id>", "-s", "<your_app_secret>", "-u", "<your_user_token>" ] } } }

詳細設定

コマンドラインパラメータ

lark-mcpツールは、柔軟な MCP サービス構成のためのさまざまなコマンドライン パラメータを提供します。

パラメータ短い説明
--app-id-aFeishu/LarkアプリケーションのアプリID-a cli_xxxx
--app-secret-sFeishu/Lark アプリケーション App Secret-s xxxx
--domain-dFeishu/Lark API ドメイン、デフォルトは Feishu 中国版-d https://open.larksuite.com
--tools-t有効にする API ツールのリスト(カンマ区切り)-t im.v1.message.create,im.v1.chat.create
--tool-name-case-cツール名の形式。オプションは、snake、camel、dot、kebab で、デフォルトは snake です。-c camel
--language-lツールの言語、オプションは zh または en、デフォルトは en-l zh
--user-access-token-uユーザーとして API を呼び出すためのユーザー アクセス トークン-u u-xxxx
--mode-mトランスポートモード、オプションはstdioまたはsse、デフォルトはstdio-m sse
--hostSSEモードのリスニングホスト、デフォルトはlocalhost--host 0.0.0.0
--port-pSSEモードのリスニングポート、デフォルトは3000-p 3000
--config設定ファイルのパス、JSON 形式をサポート--config ./config.json
--version-Vバージョン番号を表示する-V
--help-hヘルプ情報を表示する-h

パラメータの使用例

  1. 基本的な使用方法(アプリケーション ID を使用):
    lark-mcp mcp -a cli_xxxx -s yyyyy
  2. ユーザーIDの使用:
    lark-mcp mcp -a cli_xxxx -s yyyyy -u u-zzzz
  3. Lark国際ドメインの指定
    lark-mcp mcp -a cli_xxxx -s yyyyy -d https://open.larksuite.com
  4. 特定のAPIツールのみを有効にする:
    lark-mcp mcp -a cli_xxxx -s yyyyy -t im.v1.chat.create,im.v1.message.create
  5. 特定のポートとホストでSSEモードを使用する:
    lark-mcp mcp -a cli_xxxx -s yyyyy -m sse --host 0.0.0.0 -p 3000
  6. ツールの言語を中国語に設定する:
    lark-mcp mcp -a cli_xxxx -s yyyyy -l zh

    :言語を中国語( -l zh )に設定すると、トークンの消費量が増える可能性があります。大規模な言語モデルとの統合時にトークン制限の問題が発生する場合は、デフォルトの英語設定( -l en )の使用を検討してください。

  7. ツール名の形式をキャメルケースに設定する:
    lark-mcp mcp -a cli_xxxx -s yyyyy -c camel

    :ツール名の形式を設定することで、MCPにおけるツール名の表示形式を変更できます。例えば、 im.v1.message.createは以下のように表示されます。

    • スネークフォーマット(デフォルト): im_v1_message_create
    • キャメル形式: imV1MessageCreate
    • ケバブ形式: im-v1-message-create
    • ドット形式: im.v1.message.create
  8. コマンドラインパラメータの代わりに環境変数を使用する:
    # Set environment variables export APP_ID=cli_xxxx export APP_SECRET=yyyyy # Start the service (no need to specify -a and -s parameters) lark-mcp mcp

設定ファイルの使用

コマンドラインパラメータに加えて、JSON 形式の構成ファイルを使用してパラメータを設定することもできます。

lark-mcp mcp --config ./config.json

設定ファイルの例 (config.json):

{ "appId": "cli_xxxx", "appSecret": "xxxx", "domain": "https://open.feishu.cn", "tools": ["im.v1.message.create","im.v1.chat.create"], "toolNameCase": "snake", "language": "zh", "userAccessToken": "", "mode": "stdio", "host": "localhost", "port": "3000" }

:コマンドラインパラメータは設定ファイルよりも優先されます。コマンドラインパラメータと設定ファイルの両方を使用する場合、コマンドラインパラメータが設定ファイルの対応する設定を上書きします。

ユーザーアクセストークンの使用

特定のユーザーとして API を呼び出す必要がある場合は、ユーザー アクセス トークンを指定して呼び出すことができます。

lark-mcp mcp -a <your_app_id> -s <your_app_secret> -u <your_user_token>

ユーザーアクセストークンは、Feishu Open Platformの認証プロセスまたはLark Open Platformの認証プロセスを通じて取得できます。また、APIデバッグコンソールを使用して取得することもできます。ユーザーアクセストークンを使用すると、API呼び出しはそのユーザーのIDを使用して実行されます。

カスタムドメインの指定

Lark 国際版またはカスタム ドメインを使用している場合は、 -dパラメータを使用して指定できます。

# Lark international version lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.larksuite.com # Custom domain (KA domain) lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.your-ka-domain.com

輸送モード

lark-mcp は 2 つのトランスポート モードをサポートしています。

  1. stdio モード (デフォルト/推奨) : 標準入出力ストリームを介して通信する、Cursor や Claude などの AI ツールとの統合に適しています。
    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m stdio
  2. SSE モード: Server-Sent Events に基づく HTTP インターフェイスを提供します。これは、Web アプリケーションやネットワーク インターフェイスを必要とするシナリオに適しています。
    # Default listens only on localhost lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m sse -p 3000 # Listen on all network interfaces (allowing remote access) lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m sse --host 0.0.0.0 -p 3000
    起動後、SSE エンドポイントはhttp://<host>:<port>/sseでアクセスできるようになります。

より多くのAPIを有効にする

MCPサービスはデフォルトで共通APIを有効にします。他のツールや特定のAPIのみを有効にするには、 -tパラメータ(カンマ区切り)を使用して指定します。

lark-mcp mcp -a <your_app_id> -s <your_app_secret> -t im.v1.message.create,im.v1.message.list,im.v1.chat.create

デフォルトでサポートされているAPIリスト

デフォルトでは、MCP サービスは次の API を有効にします。

ツール名機能説明
im.v1.チャット.作成グループチャットを作成する
im.v1.チャットリストグループチャットリストを取得する
im.v1.chatMembers.getグループメンバーを取得する
im.v1.メッセージ作成メッセージを送信する
im.v1.メッセージリストメッセージリストを取得
wiki.v2.space.getNodeWikiノードを取得
wiki.v1.node.searchWikiノードを検索
docx.v1.document.rawContentドキュメントコンテンツを取得する
ドライブ.v1.権限メンバー.作成共同編集者の権限を追加する
docx.組み込みインポートドキュメントのインポート
docx.組み込み検索ドキュメントを検索
bitable.v1.app.createビットテーブルを作成
bitable.v1.appTable.createBitableデータテーブルを作成する
bitable.v1.appTable.listBitableデータテーブルリストを取得する
bitable.v1.appTableField.listBitableデータテーブルのフィールドリストを取得する
bitable.v1.appTableRecord.searchBitableデータテーブルレコードを検索
bitable.v1.appTableRecord.createBitableデータテーブルレコードを作成する
bitable.v1.appTableRecord.更新Bitableデータテーブルレコードを更新する
contact.v3.user.batchGetIdユーザーIDを一括取得

よくある質問

  • 問題:Feishu/Lark APIに接続できません解決策:ネットワーク接続を確認し、APP_IDとAPP_SECRETが正しいことを確認してください。Feishu/Lark Open Platform APIにアクセスできることを確認してください。プロキシの設定が必要になる場合があります。
  • 問題: user_access_token の使用時にエラーが発生します。解決策: トークンの有効期限が切れていないかご確認ください。user_access_token の有効期間は通常 2 時間で、定期的に更新する必要があります。自動トークン更新メカニズムを実装するか、代わりに app_access_token を使用してください。
  • 問題:MCPサービス開始後、権限不足エラーが発生し、特定のAPIを呼び出せません。解決策:アプリケーションが適切なAPI権限を取得しているかどうかを確認してください。一部のAPIでは、開発者コンソールまたはLark開発者コンソールで設定できる追加の高レベルの権限が必要です。権限が承認されていることを確認してください。
  • 問題: 画像またはファイルのアップロード/ダウンロード関連のAPI呼び出しが失敗する解決策: 現在のバージョンでは、ファイルおよび画像のアップロード/ダウンロード機能はサポートされていません。これらのAPIは将来のバージョンでサポートされる予定です。
  • 問題:Windows環境でコマンドラインが文字化けする解決策:コマンドプロンプトでchcp 65001を実行し、コマンドラインのエンコーディングをUTF-8に変更してください。PowerShellを使用している場合は、ターミナルのフォントまたはPowerShellの設定を変更する必要がある可能性があります。
  • 問題:インストール中の権限エラー解決策:macOS/Linux では、 sudo npm install -g @larksuiteoapi/lark-mcpを使用してインストールするか、npm のグローバルインストールパスの権限を変更してください。Windows では、コマンドプロンプトを管理者として実行してみてください。
  • 問題: MCP サービスの開始後にトークン制限を超えました。解決策: -tを使用して有効な API の数を減らすか、より大きなトークンをサポートするモデル (claude3.7 など) を使用してください。
  • 問題: SSEモードで接続またはメッセージを受信できません。解決策: ポートが既に使用されていないか確認し、別のポートに変更してみてください。クライアントがSSEエンドポイントに正しく接続され、イベントストリームを処理していることを確認してください。

関連リンク

フィードバック

このツールの改善に役立つ問題を歓迎します。ご質問やご提案がございましたら、GitHubリポジトリにご投稿ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

AI アシスタントがドキュメント処理、会話管理、カレンダーのスケジュール設定などの自動化シナリオで Feishu/Lark API インターフェースを直接呼び出すことができるツールキット。

  1. Features
    1. Tool List
      1. Preparation
        1. Creating a Feishu/Lark Application
        2. Installing Node.js
      2. Installation
        1. Usage Guide
          1. Using with Cursor/Claude
          2. Advanced Configuration
          3. Default Supported API List
        2. FAQ
          1. Related Links
            1. Feedback
              ID: n0svtdiilx