Lessie supports two modes: CLI (default, recommended) and MCP Server.
Install the Lessie CLI binary:
bash
npm install -g @lessie/cli
Or use without installing:
bash
npx @lessie/cli --version
First-time authorization:
bash
lessie auth
This opens a browser for login/registration. Token is cached at ~/.lessie/oauth.json.
Verify connection:
bash
lessie status
Add to your MCP config (Claude Code ~/.claude/mcp.json, Cursor ~/.cursor/mcp.json, etc.):
json
{
"mcpServers": {
"lessie": {
"command": "npx",
"args": ["-y", "@lessie/mcp-server"],
"env": {
"LESSIE_REMOTE_MCP_URL": "https://app.lessie.ai/mcp-server/mcp"
}
}
}
}
npm uninstall -g @lessie/cli && rm -rf ~/.lessie/"lessie" entry from your .mcp.json and rm -rf ~/.lessie/After setup, try saying to Claude:
Determine which mode to use at the start of each session:
lessie CLI is available: run lessie statusnpm install -g @lessie/clilessie status again to verifyauthorize, use_lessie)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.
lessie status to check token validity.authorized: false → run lessie auth to open browser for login.lessie status again to confirm.Call authorize to check connection status.
If already authorized → proceed to use tools directly.
If not authorized → authorize returns an authorization URL. Tell the user you need to open a browser for Lessie login/registration, and open it using the appropriate system command:
open "<url>"xdg-open "<url>"start "<url>"Tell the user the browser has been opened and they need to complete login/registration.
After the user confirms, call authorize again to verify the connection.
If authorization fails (timeout, denied, port conflict), follow the diagnostic hints returned by authorize and retry.
Always inform the user before opening the browser — never silently redirect.
Every Lessie tool call costs credits. Credit costs per tool:
ToolCostfind-people20 credits per searchenrich-people1 credit × number of people (only charged for successful matches)review-people1 credit × number of peopleenrich-org1 creditfind-orgs1 creditjob-postings1 creditcompany-news1 creditweb-search1 creditweb-fetch1 credit
Before executing any command, you MUST:
Exception — skip confirmation if the user has explicitly said they don't want to be prompted (e.g., "don't ask me every time", "just do it", "skip confirmations"). In that case, proceed directly but still log what you executed and the credits spent after each call.
After each conversation turn that involved one or more Lessie tool calls, append a one-line summary of credits consumed. Format:
Used
<tool-name>, cost credit(s).
If multiple tools were called in the same turn, combine them:
Used
web-search+enrich-org, cost 2 credits total.
Before executing any lessie CLI command for the first time in a session, you MUST read references/cli-reference.md to learn the exact parameter syntax. Do NOT guess parameter names — the CLI uses --filter with JSON, not --title/ --company style flags.
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:
ToolCLI commandWhen to usefind_people``lessie find-peopleDiscover 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 lowerenrich_people``lessie enrich-peopleEnrich known people with full profiles. Two paths: B2B (via linkedin_url or name+domain → email, phone, work history) and KOL (via twitter/instagram/tiktok/youtube username → follower count, social links). Max 10 per callreview_people``lessie review-peopleDeep-qualify ambiguous candidates via web research — skip for obvious matches/mismatchesbash
# Find people — uses --filter with JSON, NOT --title/--company flags
lessie find-people \
--filter '{"person_titles":["Engineering Manager"],"organization_domains":["stripe.com"]}' \
--checkpoint 'EMs at Stripe' \
--strategy hybrid \
--target-count 10
# Enrich people (B2B) — linkedin_url is best; fallback: name + domain
lessie enrich-people \
--people '[{"linkedin_url":"https://www.linkedin.com/in/samaltman/"}]'
# Enrich people (B2B) — name + domain fallback
lessie enrich-people \
--people '[{"first_name":"Sam","last_name":"Altman","domain":"openai.com"}]'
# Enrich people (B2B) — include personal emails
lessie enrich-people \
--people '[{"first_name":"Sam","last_name":"Altman","domain":"openai.com"}]' \
--include-personal-emails
# Enrich people (KOL) — Twitter/X
lessie enrich-people \
--people '[{"twitter_screen_name":"elonmusk"}]'
# Enrich people (KOL) — Instagram
lessie enrich-people \
--people '[{"instagram_username":"natgeo"}]'
# Enrich people (KOL) — TikTok
lessie enrich-people \
--people '[{"tiktok_username":"charlidamelio"}]'
# Enrich people (KOL) — YouTube
lessie enrich-people \
--people '[{"youtube_username":"MrBeast"}]'
# Review people — deep-qualify from a previous search
lessie review-people \
--search-id 'mcp_xxx' \
--person-ids '["id1","id2"]' \
--checkpoints '[{"key":"Relevance","description":"...","title":"Relevance","category":"career"}]'
ToolCLI commandWhen to usefind_organizations``lessie find-orgsDiscover companies by name, keyword, location, size, fundingenrich_organization``lessie enrich-orgGet full profile for known company domain(s) — industry, employees, funding, tech stackget_company_job_postings``lessie job-postingsView active job openings (needs organization_id from enrich)search_company_news``lessie company-newsFind recent news articles (needs organization_id from enrich)bash
# Find organizations
lessie find-orgs \
--keyword-tags '["AI","SaaS"]' \
--locations '["China"]' \
--employees '["51,200"]'
# Enrich organization
lessie enrich-org --domains '["stripe.com"]'
# Job postings (needs org ID from enrich)
lessie job-postings --org-id '5f5e100...'
# Company news
lessie company-news --org-ids '["5f5e100..."]'
ToolCLI commandWhen to useweb_search``lessie web-searchGeneral web search; cached results make follow-up web_fetch freeweb_fetch``lessie web-fetchExtract specific info from a URL via AI summarizationbash
# Web search
lessie web-search --query 'OpenAI official website' --count 5
# Web fetch
lessie web-fetch --url 'https://example.com' --instruction 'Extract job title and company'
enrich_people / enrich_organization: max 10 per call; split larger lists into batchesfind_people / find_organizations: paginated — use --page for more resultsweb_search caches page content; if a result has has_content: true, calling web_fetch on that URL is instantowner, founder, c_suite, partner, vp, head, director, manager, senior, entry, interndomain (company domain) alongside name greatly improves match accuracy