mcpField
L
Lumber

Lumber

ローカル
lumber.infinitetoken.comデータ・分析03 日前に更新

Lumber について

Lumber CLIは、Lumberユーザーがコマンドラインでアプリのログを検索、追跡するツールです。AIエージェントには読み取り専用のログアクセスを提供し、ログはアカウントキーを使ってローカルで復号します。

主な機能

  1. 01アプリ、レベル、時間、テキストでログ検索
  2. 02新しいログとエラーの追跡
  3. 03ローカルでログを復号
  4. 04セッションとキーを認証情報ストアに保存
  5. 05ログをJSON形式で出力

活用シーン

  1. 01特定アプリのエラーログを検索
  2. 02デバッグ中に新しいエラーを監視
  3. 03AIエージェントにログを読み取り専用で調査させる

MCP 対応

`lumber mcp`コマンドは、`lumber login`で保存したセッションを使い、stdio経由で読み取り専用のMCPツールを提供します。アプリ一覧、ログ検索、新着ログの待機、ノート取得が可能です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"com-infinitetoken-lumber": {
"command": "npx",
"args": [
"-y",
"@infinitetoken/lumber-cli"
]
}
}
}
起動コマンドnpx -y @infinitetoken/lumber-cli

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

パッケージ
npm@infinitetoken/lumber-cli0.4.0

ツール

4

掲載時のツール一覧 · 2 日前に更新

このツールにパラメーターはありません。

詳細

@infinitetoken/lumber-cli

ターミナルから Lumber のログを読み、AI エージェントが MCP 経由でログを読めるようにします。ログはお使いのアカウントキーを使ってコンピューター上で復号されるため、Lumber のサーバーがログを読むことはできません。

macOS、Windows、Linux で動作します。ログを読むだけで、Lumber のデータを変更することはありません。

インストール

npm install -g @infinitetoken/lumber-cli

パッケージ名にはスコープが付いています。npm にあるスコープなしの lumber と lumber-cli は、別の人が公開したものです。

macOS または Linux では、Homebrew を使ってインストールすることもできます。このリポジトリが tap です。

brew tap infinitetoken/lumber https://github.com/infinitetoken/Lumber-CLI
brew install infinitetoken/lumber/lumber

最初に正式名称を指定することで、Homebrew が数式を信頼するようになります。brew upgrade lumber で更新できます。

サインイン

lumber login

Lumber のメールアドレスとパスワードでサインインし、新しいスマートフォンをリンクするのと同じ方法で、このコンピューターをリンクします。アカウントキーがあるスマートフォンまたは Mac で Lumber を開きます(スマートフォンには通知が届き、Mac アプリでは切り替えると確認を求められます。または、「Account > Link another device」を開きます)。「Show Code」をタップし、Code のプロンプトに7桁のコードを入力します。そのデバイスがコードを確認して、アカウントキーを送信します。リクエストの有効期間は10分間で、間違ったコードを入力すると終了します。もう一方のデバイスでは、最新の Lumber アプリを使う必要があります。

セッションとアカウントキーは、ファイルには保存されず、システム固有の認証情報ストアに保存されます。

  • macOS:ログインキーチェーンの「Lumber CLI」項目。
  • Windows:資格情報マネージャーの汎用資格情報 session.Lumber CLI。
  • Linux:GNOME Keyring と KWallet が提供する Secret Service の「Lumber CLI」項目。デスクトップセッションにはこれが用意されています。サーバーや、稼働しているものがない状態で SSH 経由で使う場合は、lumber がその旨を表示して終了します。

セッションは lumber を使うたびに毎日自動更新されるため、lumber を30日間実行しなかった場合にのみ終了します。その後、同じユーザーとして再度サインインすれば、新たにリンクする必要はありません。lumber logout を実行すると、セッションとアカウントキーの両方が削除されます。

コマンド

lumber status                          # who's signed in, which apps this computer can read
lumber apps                            # your apps
lumber logs                            # the newest 100 logs from every app, oldest at the bottom
lumber logs Lumber-Test -l error -s 2h # one app's errors and fatals from the last two hours
lumber logs -g "payment" -n 20         # the newest 20 logs mentioning "payment"
lumber tail Lumber-Test -l warn        # follow new warnings and worse as they arrive
lumber help                            # everything, and `lumber logs help` for one command
  • アプリは名前(大文字と小文字は区別されません)または ID で指定します。指定しない場合は、すべてのアプリが対象になります。
  • -l, --level には、指定したレベル以上を対象にする単一のレベル(warn の場合は warn、error、fatal)か、指定したレベルのみを対象にするリスト(info,warn)を指定します。
  • -s, --since と -u, --until には、経過時間(15m、2h、3d)、日付(2026-10-29、today、yesterday)、または ISO 形式の時刻を指定します。
  • -g, --grep は、メッセージ、リクエスト ID、トレース ID、コンテキスト、メタデータを、大文字と小文字を区別せずに検索します。サーバーには暗号文しか保存されないため、検索はこのコンピューター上で行われ、最大20,000件のログを読み返します。
  • -v, --verbose を指定すると、各ログの ID、各種 ID、コンテキスト、メタデータがその下に表示されます。--json を指定すると、スクリプトやエージェント向けに、ログごとに1つの JSON オブジェクトが出力されます。
  • tail は、Dev プランと Pro プランのアプリについては Lumber のライブ接続経由で追跡し、それ以外のアプリについては5秒ごとに確認します。ターミナルでは、接続状態がログの下の行に表示されます。-q を指定すると非表示になります。
  • コマンドラインのどこに help を指定しても、ヘルプが表示されます。そのため、lumber logs -g help は検索を行わず、ヘルプを表示します。-g Help で検索してください。検索では大文字と小文字は区別されません。
  • npm に新しいバージョンが公開されている場合、ターミナルで実行したコマンドの出力後に、そのことと更新コマンドが表示されます。表示は1日1回までです。npm への確認はコマンドの実行中に1日1回まで行われるため、コマンドの処理が遅くなることはありません。tail、mcp、パイプ出力、CI では確認されません。LUMBER_NO_UPDATE_CHECK=1 を設定すると、この確認を無効にできます。

出力にはアプリの色が反映されます。スピナー、ヘルプ、プロンプトはアクセントカラー(Lumber の「Account」画面で選んだ色)で表示され、レベルはそれぞれの色で表示されます。また、アプリ名の前にはアプリの色の四角形が表示されます。パイプ出力または --json を指定した場合は、プレーンテキストになります。

AI エージェント(MCP)

lumber mcp は、保存済みのセッション lumber login を使用して、同じ読み取り操作を MCP ツールとして stdio 経由で提供します。

Claude Code:

claude mcp add lumber -- lumber mcp

Windows では、npm が lumber を .cmd ファイルとしてインストールするため、エージェントは cmd 経由でしか起動できません。

claude mcp add lumber -- cmd /c lumber mcp

Claude Desktop の claude_desktop_config.json では、(macOS と Linux の場合、アプリはシェルの PATH を読み込まないため、which lumber が出力するフルパスを使用してください):

{
  "mcpServers": {
    "lumber": { "command": "/opt/homebrew/bin/lumber", "args": ["mcp"] }
  }
}

Windows の場合:

{
  "mcpServers": {
    "lumber": { "command": "cmd", "args": ["/c", "lumber", "mcp"] }
  }
}

ツール:

  • list_apps:アプリの一覧と、このコンピューターで各アプリを読み取れるかどうかを表示します。
  • search_logs:アプリ、レベル、期間、テキストに一致する最新のログを検索します。
  • wait_for_logs:新しいログを待ち(特に指定がなければエラーと致命的エラー)、メッセージごとにまとめて返します。返された next_after を次回渡せば、エージェントはログを見逃したり重複して処理したりすることなくループで監視できます。
  • list_notes:アプリのログについてユーザーが書いたメモと、その投稿者を表示します。
エージェントにエラーを監視させる

開始しない限り、何も監視されません。Claude Code で、次のように頼んでください。

wait_for_logs を使って Lumber-Test のエラーを監視してください。エラーが発生したら、このリポジトリ内で原因を特定して修正し、変更を私がレビューできる状態にしておいてください。

または、lumber tail Lumber-Test -l error --json -q に従わせることもできます。このコマンドはエラーごとに1行を出力します。

ログメッセージ、コンテキスト、メタデータは、アプリとそれを使うユーザーによって書き込まれます。フォームのフィールド、URL、または細工されたリクエストがログに記録されることがあります。すべてのツールはそのことをエージェントに伝えますが、コードを編集できるエージェントは、誰でも書けるテキストを読み取っています。エージェントにデプロイさせるのではなく、変更をレビューできる状態にしておいてください。

プライバシーの保護方法

各アプリのログは、サーバーから送信される前に、そのアプリ専用のキーで暗号化されます(AES-256-GCM)。サーバーには各アプリキーのコピーが各ユーザーのアカウントキーでラップされて保管されますが、サーバーはそれをラップ解除できません。リンクすると、このコンピューターが作成したリンク用キーに対して、承認するデバイスがラップしたアカウントキーがこのコンピューターに渡されます。入力するコードによって、そのキーとリンクが紐付けられます。また、アカウントキーにはコードだけが生成できる秘密情報が付けられて返されるため、サーバーはアカウントキーの送信先を選ぶことも、このコンピューターに独自のキーを渡すこともできません。その後、各コマンドは暗号文を取得し、このコンピューター上で復号します。

要件

  • Secret Service(GNOME Keyring または KWallet)を備えた macOS、Windows、または Linux。
  • Node 20 以降。
  • Lumber アカウントと、このコンピューターをリンクするコードを表示するための、すでにアカウントキーを持っている電話または Mac。

公開

リリースにタグを付けると、公開ワークフローが起動します。

npm run release:patch   # or release:minor / release:major: verifies, tags and pushes

ライセンス

MIT

コメント

MCP は初めてですか?

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

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