10 actions in 2 pieces of software · ranked by words, meaning and measured trust · 562 ms
- 1leadgen-mcpfound in code, not yet checkedno passport yet
MCP serverbryndalski/leadgen-mcp
- leads_score
Deterministic fit score 0-100 with `score_reasons`: locations_count>=2 +30, hours_per_day>=12 +20, shift/schedule signal +25, hiring signal +10, website +5 (none: -10), corporate legal form (sp_zoo/sa/sp_k) +10. Pass one `record` or a list `records`. Pure function, no I/O, no quota.
- leads_status
Move a lead forward: new -> qualified -> to_contact -> contacted -> replied -> demo -> activated, or to `disqualified` from anywhere. Backward moves are refused (validation). `note` is appended to the record's notes with a timestamp. Use after a HUMAN made contact — the server never contacts anyone.
- leads_search
Find companies of a segment in a city from OpenStreetMap (Overpass). Segments: gastronomia, restauracje, kawiarnie, retail/sklep, hotel, fitness, apteka, salon/beauty, logistyka, medyczne, stacje, piekarnie. Dedups venues, groups chains (same name -> locations_count), derives hours_per_day from open
- leads_enrich
Fetch a company homepage + up to 3 subpages (/kontakt, /o-nas, /lokale|/restauracje|/sklepy, /kariera|/praca) and extract company facts: locations_count (addresses seen), signals (praca zmianowa, grafik, harmonogram, rekrutujemy...), one generic mailbox (kontakt@/biuro@...), NIP with checksum. Respe
- leads_quota
Current quota: records used/limit in today's session, session-days used/limit in the rolling 7-day window, session_id and resets_at. Call it FIRST — leads_search refuses when the session would overflow. Read-only; it never opens a session. Not for checking a batch's size (use leads_batches).
- leads_schema
The lead JSON Schema (2020-12), the batch file format, effective env configuration and whether a GUS key is set. Read this before building a record by hand.
- leads_batches
List batch files in LEADS_DIR with record counts and meta. Read-only.
- leads_upsert
Validate (JSON Schema + NIP checksum + no-persons filter + generic-mailbox rule) and write one record into `<LEADS_DIR>/<batch>.json`, creating the batch with `meta` (segment, city, session_id) when missing. Upsert key = `id`. Rejects person data with error.details.code=personal_data_rejected. Not f
- leads_score
- 272bpm-leadgen-mcp-serverfound in code, not yet checkedno passport yet
- leadgen_generate_pitch
Drafts two personalized outreach email variants for a qualified lead, following 72BPM's value-lead framework: lead with a specific technical friction point (not a sales pitch), show parallel domain authority for the relevant practice area, and close with a low-friction peer-to-peer call to action. T
- leadgen_save_lead
Persists a qualified lead to the local pipeline store (a JSON file under ./data by default; see README for swapping in a real database for hosted/multi-user deployments). Args: - company_name (string): required - domain, region (string, optional) - category ('saas' | 'e_mobility' | 'iot' | 'ai_agent
- leadgen_generate_pitch
Labels are the instruments' verdict and are never changed by ranking. Agents and robots get this same answer as JSON at /api/v1/find?q=…&answer=1 and through the MCP server.