Lessie — 人物検索 & データエンリッチ
セットアップ
Lessieは2つのモードをサポートしています: CLI (デフォルト、推奨) と MCP サーバー。
モード A: CLI (デフォルト)
Lessie CLIバイナリをインストール:
npm install -g @lessie/cli
またはインストールせずに使用:
npx @lessie/cli --version
初回認証:
lessie auth
ブラウザが開きログイン/登録を行います。トークンは~/.lessie/oauth.jsonにキャッシュされます。
接続確認:
lessie status
モード B: MCP サーバー
MCP設定に追加 (Claude Code: ~/.claude.json、Cursor: ~/.cursor/mcp.json、Codex: ~/.codex/config.toml など):
{
"mcpServers": {
"lessie": {
"command": "npx",
"args": ["-y", "@lessie/mcp-server"],
"env": {
"LESSIE_REMOTE_MCP_URL": "https://app.lessie.ai/mcp-server/mcp"
}
}
}
}
アンインストール
- CLI:
npm uninstall -g @lessie/cli && rm -rf ~/.lessie/ - MCP:
.jsonから"lessie"エントリを削除し、rm -rf ~/.lessie/
バージョンチェック
各セッションの開始時に、モード検出の前にこれらのチェックを1回実行します。どちらのチェックも非ブロッキングです。コマンドが失敗した場合(ネットワークエラー、タイムアウト)は、静かにスキップして次に進みます。
スキルバージョン
- このファイルのメタデータの
versionフィールドから現在のローカルバージョンを読み取ります。 - リモートバージョンを取得:
curl -sf --max-time 5 https://raw.githubusercontent.com/LessieAI/lessie-skill/main/people-search/SKILL.md | head -5 | grep 'version:' | head -1 | awk '{print $2}' - リモートバージョンがローカルバージョンより新しい場合 → ユーザーに伝える:
⬆️ people-searchスキルの新しいバージョンが利用可能です ({local} → {remote})。以下のコマンドで更新してください:
npx skills add LessieAI/lessie-skill -y -g - バージョンが一致するかチェックが失敗した場合 → スキップ、何も言わない。
CLIバージョン
- ローカルCLIバージョンを取得:
lessie --version 2>/dev/null || npx @lessie/cli --version 2>/dev/null - 最新の公開バージョンを取得:
npm view @lessie/cli version 2>/dev/null - リモートバージョンが新しい場合 → ユーザーに伝える:
⬆️ Lessie CLIの新しいバージョンが利用可能です ({local} → {remote})。以下のコマンドで更新してください:
npm install -g @lessie/cli - バージョンが一致するか、いずれかのコマンドが失敗した場合 → スキップ、何も言わない。
クイックスタート
セットアップ後、Claudeにこう話しかけてみてください:
- "サンフランシスコのStripeでエンジニアリングマネージャーを探して"
- "Sam Altmanの連絡先を調べて"
- "OpenAIをリサーチ — 最近のニュースと募集中の求人"
モード検出
各セッションの開始時に使用するモードを決定します:
lessieCLIが利用可能か確認:lessie statusを実行- コマンドが成功した場合 → CLIモードを使用(Bash経由でツールを呼び出す)
- コマンドが失敗した場合(見つからない) → 自動インストールを試行:
npm install -g @lessie/cli - インストール後、再度
lessie statusを実行して確認 - インストールが成功した場合 → CLIモードを使用
- インストールが失敗した場合(npmがない、権限エラー、ネットワークエラーなど) → MCPツールが利用可能か確認 (
authorize,use_lessie) - MCPツールが利用可能な場合 → MCPモードを使用
- どちらも利用できない場合 → インストールに失敗したことをユーザーに通知し、手動インストールまたはMCPセットアップを提案
クレジットと料金
Lessieはクレジットベースのサービスです。
新規アカウントには無料トライアルクレジットが付与されます。残高の確認と追加購入は https://lessie.ai/pricing で行えます。
エージェントは、誤った結果でクレジットを無駄にしないよう、検索前に企業名の曖昧さを解消します。
データとプライバシー
- データソース: 連絡先や企業情報は公開情報源(ビジネスディレクトリ、ソーシャルプロファイル、企業ウェブサイト)から収集されます。
- クエリログ: 検索クエリはサービス改善と不正利用防止のために記録されます。クエリデータは第三者と共有されません。
- データコンプライアンス: Lessieは適用されるデータ保護規制に従います。取得した連絡先データは、地域の法律(GDPR、CAN-SPAMなど)に準拠して利用する責任はユーザーにあります。
- プライバシーポリシー: https://lessie.ai/privacy
- 利用規約: https://lessie.ai/terms-of-service
認可
CLIモード
lessie statusを実行してトークンの有効性を確認。authorized: falseの場合 →lessie authを実行してブラウザでログイン。- ユーザーがログイン完了後、再度
lessie statusを実行して確認。
MCPモード
authorizeを呼び出して接続状態を確認。- すでに認可されている場合 → そのままツールを使用。
- 認可されていない場合 →
authorizeが認可URLを返す。ユーザーにLessieログイン/登録のためにブラウザを開く必要があることを伝え、適切なシステムコマンドで開く:- macOS:
open "<url>" - Linux:
xdg-open "<url>" - Windows:
start "<url>"
- macOS:
- ブラウザが開かれたことと、ログイン/登録を完了する必要があることをユーザーに伝える。
- ユーザーが確認した後、再度
authorizeを呼び出して接続を確認。 - 認可が失敗した場合(タイムアウト、拒否、ポート競合)、
authorizeから返される診断ヒントに従って再試行。
ブラウザを開く前には必ずユーザーに通知し、無言でリダイレクトしないでください。
エージェントの行動ルール
重要: クレジット消費アクションの前に確認を取る
すべてのLessieツール呼び出しはクレジットを消費します。ツールごとのクレジットコスト:
| ツール | コスト |
|---|---|
find-people | 検索ごとに20クレジット |
enrich-people | 1クレジット × 人数 (成功したマッチのみ課金) |
review-people | 1クレジット × 人数 |
enrich-org | 1クレジット |
find-orgs | 1クレジット |
job-postings | 1クレジット |
company-news | 1クレジット |
web-search | 1クレジット |
web-fetch | 1クレジット |
unlock_emails | 新たにアンロックする人ごとに3クレジット(現在のレート。レスポンス内のprice_per_unlockで実際の値を確認)。既にアンロック済みの人(過去の検索を含む)は無料。失敗したルックアップは課金なし |
unlock_email_by_handle | 成功したアンロックごとに3クレジット(現在のレート。レスポンス内のprice_per_unlockで実際の値を確認)。not_foundとfailedは無料。べき等ではない — 同じハンドルで再実行すると再課金 |
コマンドを実行する前に、以下を必ず行ってください:
- これから行うことと推定コストをユーザーに伝える(例: "3人をエンリッチします — これには約3クレジットかかります")。
- 実行前に明示的な確認を待つ。
- 完全な計画を最初に確認せずに複数のクレジット消費呼び出しを一括で実行しない。
例外 — 確認スキップ ユーザーが明示的にプロンプトを望まないと述べた場合(例: "毎回聞かないで"、"とにかくやって"、"確認をスキップ")。その場合は直接進みますが、各呼び出し後に実行内容と消費クレジットをログに記録します。
重要: 各呼び出し後にクレジット使用量を報告
Lessieツールを1つ以上呼び出した会話ターンの後、消費クレジットの1行サマリーを追加します。フォーマット:
<tool-name>を使用、コスト <N> クレジット。
同じターンで複数のツールが呼び出された場合は、まとめて:
web-search+enrich-orgを使用、合計2クレジット。
重要: 最初のCLI呼び出し前にリファレンスを読む
セッションで初めてlessie CLIコマンドを実行する前に、references/cli-reference.md を読んで正確なパラメータ構文を把握する必要があります。各ツールには独自のフラグセットがあります — find-peopleは--query(自然言語)、enrich-peopleは--people(JSON)、unlock-emailsは--search-id + --person-idsなど。推測せず、これから呼び出すツールのセクションを読んでください。
検索モードの曖昧さ回避 (B2B vs KOL)
Lessieは異なるデータソースと結果タイプを持つ2つの検索モードをサポートします:
- B2Bモード: プロフェッショナルデータベース(LinkedInベース)を検索。役職、会社、役職レベル、業界で人物を探すのに最適。勤務先メール、電話、職歴を返します。
- KOLモード: ソーシャルメディアプラットフォーム(Instagram、YouTube、TikTok、Twitter/X)を検索。インフルエンサー、コンテンツクリエイター、またはオーディエンス、フォロワー数、コンテンツトピックで公人を探すのに最適。ソーシャルリンク、フォロワー数を返します。
ユーザーの意図が曖昧な場合 — つまり、クエリがLinkedIn上のプロフェッショナルかソーシャルメディア上のクリエイターのどちらも合理的にターゲットにできる場合 — 検索前にユーザーに明確化を求める必要があります。両方の選択肢を簡潔に提示:
曖昧なクエリの例: "脳モニタリング睡眠デバイスの実践経験を持つ個人を見つけて、その洞察を共有する"
これは次のように解釈できます:
- B2B: 睡眠テック企業のプロダクトマネージャー、エンジニア、研究者(LinkedIn経由)
- KOL: そのようなデバイスをレビューまたは使用したことのある健康/テックインフルエンサー(ソーシャルメディア経由)
尋ねる: "これはLinkedInのプロフェッショナル(睡眠テック企業のPM、エンジニア)か、ソーシャルメディアで睡眠デバイスをレビューするクリエイターのどちらでも可能です。どの方向が好みですか — それとも両方?"
意図が明確な場合、直接進みます:
- "フィンテックスタートアップのCTOを探す" → B2B (明白)
- "Instagramでフォロワー10万人以上の美容インフルエンサーを探す" → KOL (明白)
エンティティの曖昧さ回避
ユーザーが複数のエンティティを指す可能性のある企業名を述べた場合(例: "Manus"はManus AI、Manus Bio、Manus Plusなど)、検索前に曖昧さを解消します:
- ユーザーにどの企業を意味するか尋ねるか、上位候補を提示して選ばせる。
- 文脈が明白な場合(例: ユーザーが以前AIエージェントについて議論していた)、あなたの想定を述べて確認: "AIエージェント企業のManus AI (manus.im) のことですか?"
- 一つのエンティティを無言で仮定しない — 間違ったドメイン = 無駄な検索クレジットと無関係な結果。
ツール概要
人物
| ツール | CLIコマンド | 使用場面 |
|---|---|---|
find_people | lessie find-people | 自然言語タスクで人物を発見。ユーザーのリクエストをそのまま--queryに渡す。エージェントがソース(B2B / KOL / Web)、キーワードを選択し、自動で停止。ハードキャップ: リクエストあたり3ツール呼び出し + 60秒の時間予算。 レスポンスにpartial: trueがある場合、エージェントが予算に達した — 結果はタイムアウト前に収集したもの |
enrich_people | lessie enrich-people | 既知の人物を完全なプロファイルでエンリッチ。2つのパス: B2B (linkedin_url または name+domain 経由 → メール、電話、職歴) と KOL (twitter/instagram/tiktok/youtube ユーザー名 → フォロワー数、ソーシャルリンク)。1回の呼び出しで最大10人 |
review_people | lessie review-people | 曖昧な候補者をWebリサーチで詳細審査 — 明らかなマッチ/ミスマッチではスキップ |
連絡先アンロック
| ツール | CLIコマンド | 使用場面 |
|---|---|---|
unlock_emails | lessie unlock-emails | 以前のfind_people結果から人物のメールアドレスをアンロック。ユーザーごとにべき等: 既にアンロックした人(どの検索でも)はコスト0。search_id + person_ids(1–50)を取る |
unlock_email_by_handle | lessie unlock-email-by-handle | 明示的な(platform, handle)でメールをアンロック、事前検索なし。{platform, handle}のリスト(1–10)を取る。べき等ではない — 同じハンドルでの繰り返し呼び出しは再課金。実行したfind_peopleにハンドルがない場合のみ使用 |
決定ルール: 人物が自分のfind_people結果から来た場合 → unlock_emailsを使用(再アンロックは無料)。Lessie外からハンドルを取得した場合(ユーザーが貼り付けたLinkedIn URL、手動での言及など) → unlock_email_by_handleを使用。
企業
| ツール | CLIコマンド | 使用場面 |
|---|---|---|
find_organizations | lessie find-orgs | 名前、キーワード、場所、規模、資金で企業を発見 |
enrich_organization | lessie enrich-org | 既知の企業ドメインの完全なプロファイルを取得 — 業界、従業員、資金、技術スタック |
get_company_job_postings | lessie job-postings | アクティブな求人を表示(エンリッチからorganization_idが必要) |
search_company_news | lessie company-news | 最近のニュース記事を検索(エンリッチからorganization_idが必要) |
Webリサーチ
| ツール | CLIコマンド | 使用場面 |
|---|---|---|
web_search | lessie web-search | 一般的なWeb検索。キャッシュされた結果により後続のweb_fetchは無料 |
web_fetch | lessie web-fetch | AI要約によりURLから特定情報を抽出 |
詳細リファレンス
- CLIコマンド例とMCP呼び出し: references/cli-reference.md 参照
- ワークフローパターン (ドメイン解決、企業調査、検索+審査): references/workflow-patterns.md 参照
- ドメイン解決の決定木: references/domain-resolution.md 参照
主要な制約
enrich_people/enrich_organization: 1回の呼び出しで最大10件。大きなリストはバッチ分割find_people: リクエストあたりツール呼び出し3回 + 実時間60秒のハードキャップ。target_count1-100(デフォルト30)。ページネーションなし — もっと必要な場合は異なるクエリで新規呼び出しfind_organizations: ページネーションあり — より多くの結果には--pageを使用web_searchはページコンテンツをキャッシュ。結果にhas_content: trueがある場合、そのURLへのweb_fetch呼び出しは即時find-peopleクエリに含めると便利なキーワード: 役職レベル用語 (owner,founder,c_suite,partner,vp,head,director,manager,senior,entry,intern) とcurrentvspastで雇用の最近性をバイアス。エージェントはこれらを直接フィルタとして使用- 人物エンリッチでは、名前と一緒に
domain(企業ドメイン)を提供するとマッチ精度が大幅に向上 - CLI出力はstdoutにJSON、stderrにステータスメッセージ — データ解析にはstdoutを使う