Lessie — People Search & Enrichment
Setup
Lessie supports two modes: CLI (default, recommended) and MCP Server.
Mode A: CLI (default)
Install the Lessie CLI binary:
npm install -g @lessie/cli
Or use without installing:
npx @lessie/cli --version
First-time authorization:
lessie auth
This opens a browser for login/registration. Token is cached at ~/.lessie/oauth.json.
Verify connection:
lessie status
Mode B: MCP Server
Add to your MCP config (Claude Code ~/.claude/mcp.json, Cursor ~/.cursor/mcp.json, etc.):
{
"mcpServers": {
"lessie": {
"command": "npx",
"args": ["-y", "@lessie/mcp-server"],
"env": {
"LESSIE_REMOTE_MCP_URL": "https://app.lessie.ai/mcp-server/mcp"
}
}
}
}
Uninstall
- CLI:
npm uninstall -g @lessie/cli && rm -rf ~/.lessie/ - MCP: Remove the
"lessie"entry from your.mcp.jsonandrm -rf ~/.lessie/
Quick start
After setup, try saying to Claude:
- "Find Engineering Managers at Stripe in San Francisco"
- "Look up Sam Altman's contact info"
- "Research OpenAI — recent news and open job postings"
Mode detection
Determine which mode to use at the start of each session:
- Check if
lessieCLI is available: runlessie status - If the command succeeds → use CLI mode (call tools via Bash)
- If the command fails (not found) → attempt auto-install:
npm install -g @lessie/cli - After install, run
lessie statusagain to verify - If install succeeds → use CLI mode
- If install fails (no npm, permission denied, network error, etc.) → check if MCP tools are available (
authorize,use_lessie) - If MCP tools are available → use MCP mode
- If neither → inform the user that installation failed and suggest manual install or MCP setup
Credits & Pricing
Lessie is a credit-based service.
New accounts receive free trial credits. View your balance and purchase more at https://lessie.ai/pricing.
The agent will disambiguate company names before searching to avoid wasting credits on wrong results.
Data & Privacy
- Data sources: Contact and company information is aggregated from publicly available sources (business directories, social profiles, corporate websites).
- Query logging: Search queries are logged for service improvement and abuse prevention. No query data is shared with third parties.
- Data compliance: Lessie follows applicable data protection regulations. Users are responsible for using retrieved contact data in compliance with local laws (GDPR, CAN-SPAM, etc.).
- Privacy policy: https://lessie.ai/privacy
- Terms of service: https://lessie.ai/terms-of-service
Authorization
CLI mode
- Run
lessie statusto check token validity. - If
authorized: false→ runlessie authto open browser for login. - After the user completes login, run
lessie statusagain to confirm.
MCP mode
- Call
authorizeto check connection status. - If already authorized → proceed to use tools directly.
- If not authorized →
authorizereturns an authorization URL. Tell the user you need to open a browser for Lessie login/registration, and open it using the appropriate system command:- macOS:
open "<url>" - Linux:
xdg-open "<url>" - Windows:
start "<url>"
- macOS:
- Tell the user the browser has been opened and they need to complete login/registration.
- After the user confirms, call
authorizeagain to verify the connection. - If authorization fails (timeout, denied, port conflict), follow the diagnostic hints returned by
authorizeand retry.
Always inform the user before opening the browser — never silently redirect.
Agent behavior rules
Entity disambiguation
When a user mentions a company name that could refer to multiple entities (e.g., "Manus" could be Manus AI, Manus Bio, Manus Plus, etc.), disambiguate before searching:
- Ask the user which company they mean, or present the top candidates and let them pick.
- If context makes it unambiguous (e.g., user previously discussed AI agents), state your assumption and confirm: "你是指做 AI Agent 的 Manus AI (manus.im) 吗?"
- Never silently assume one entity over another — wrong domain = wasted search credits and irrelevant results.
Tools overview
People
| Tool | CLI command | When to use |
|---|---|---|
find_people | lessie find-people | Discover people by title, company, location, seniority, audience. Default strategy is hybrid. If a request times out or fails, retry with --strategy saas_only — it's faster (~30s vs ~60s) and more stable, though recall may be lower |
enrich_people | lessie enrich-people | Fill missing profile data for known individuals (email, phone, LinkedIn, work history) |
review_people | lessie review-people | Deep-qualify ambiguous candidates via web research — skip for obvious matches/mismatches |
Companies
| Tool | CLI command | When to use |
|---|---|---|
find_organizations | lessie find-orgs | Discover companies by name, keyword, location, size, funding |
enrich_organization | lessie enrich-org | Get full profile for known company domain(s) — industry, employees, funding, tech stack |
get_company_job_postings | lessie job-postings | View active job openings (needs organization_id from enrich) |
search_company_news | lessie company-news | Find recent news articles (needs organization_id from enrich) |
Web research
| Tool | CLI command | When to use |
|---|---|---|
web_search | lessie web-search | General web search; cached results make follow-up web_fetch free |
web_fetch | lessie web-fetch | Extract specific info from a URL via AI summarization |
Detailed references
- CLI command examples & MCP calling: See references/cli-reference.md
- Workflow patterns (domain resolution, company research, search+qualify): See references/workflow-patterns.md
- Domain resolution decision tree: See references/domain-resolution.md
Key constraints
enrich_people/enrich_organization: max 10 per call; split larger lists into batchesfind_people/find_organizations: paginated — use--pagefor more resultsweb_searchcaches page content; if a result hashas_content: true, callingweb_fetchon that URL is instant- Seniority levels:
owner,founder,c_suite,partner,vp,head,director,manager,senior,entry,intern - For people enrichment, providing
domain(company domain) alongside name greatly improves match accuracy - CLI output is JSON on stdout, status messages on stderr — parse stdout for data