MCP App Store
by KeenEthics

Overview

Pipecorn helps sales teams find and research companies, identify LinkedIn leads, enrich business contact details, organize Sales Navigator lists, and manage target personas.

Tools

advanced_search_leads

ChatGPT
Search for leads using advanced filters (job titles, locations, seniority, company size, industries, signals...), using the Pipecorn lead database by default or live LinkedIn Sales Navigator when live:true. Consumes the daily profile-extraction plan quota for profiles extracted; consumed quota cannot be restored before its scheduled reset. Returns a job_id — poll get_job_result every 5s until status is 'completed'. Use search_locations to get location IDs, get_lists for account/lead list UUIDs. MANDATORY — you MUST call preview_advanced_search_leads first with the same filters, show the user the total_count and sample leads, and wait for their explicit confirmation before calling this tool. Also estimate the duration based on the limit parameter: ~(limit / 2500 * 10) minutes, minimum 1 minute.

bulk_enrich_contacts

ChatGPT
Enrich multiple contacts with email or phone number (min 2, max 100). Each successfully resolved email costs 3 enrichment credits and each successfully resolved phone costs 30; unresolved data costs nothing. Use this whenever you have 2 or more contacts to enrich — never call single_enrich_contact in a loop or in parallel when you have multiple contacts. Returns a job_id — poll get_job_result every 5s until status is 'completed'.

create_list

ChatGPT
Create a company list from named companies, matched against the Pipecorn database. By default (live: true) the matched companies are also pushed to a new LinkedIn Sales Navigator list, which requires a synced Sales Navigator account. Pass live: false when Sales Navigator isn't synced or when the list is only used inside Pipecorn (e.g. as included_account_lists in advanced_search_leads).

create_persona

ChatGPT
Create a new persona with job titles, industries, locations, and company size filters. IMPORTANT: Do NOT call this tool without first asking the user in a separate turn: 'Do you want AI to expand job titles? (ai_expand_job_titles)'

delete_persona

ChatGPT
Delete a persona by its UUID.

enrich_account

ChatGPT
Enrich a company with firmographic data (industry, size, revenue, LinkedIn URL, headquarters...), from the Pipecorn database by default or live LinkedIn when live:true. Costs 1 enrichment credit when a company is resolved; a lookup with no match costs nothing. Provide at least one of: company_linkedin_url, name, or domain. If the database has no match, retry the same call with live:true before telling the user the company was not found.

extract_comments

ChatGPT
Extract comments made by a LinkedIn member.

extract_post_engagers

ChatGPT
Extract people (leads) who reacted or commented on a LinkedIn post. Consumes the daily profile-extraction plan quota for profiles extracted; consumed quota cannot be restored before its scheduled reset. Returns a job_id — poll get_job_result every 5s until status is 'completed'.

extract_posts

ChatGPT
Extract recent posts from a LinkedIn profile or company page.

extract_reactions

ChatGPT
Extract posts that a LinkedIn member has reacted to.

find_connections

ChatGPT
Find mutual 1st-degree LinkedIn connections between the authenticated user and a target LinkedIn profile. Requires the user to have a LinkedIn Sales Navigator account connected. Returns a list of connections with their name, current position, and LinkedIn URLs.

find_lookalike_companies

ChatGPT
Find companies similar to one or more reference companies, using the Pipecorn database by default or live LinkedIn Sales Navigator when live:true. Consumes the daily and monthly company-import plan quotas for companies imported; consumed quota cannot be restored before its scheduled reset. If no reference company is found in the database, retry the same call with live:true. Pass company_linkedin_url for a single reference, or company_linkedin_urls (up to 3) for multiple. Returns a job_id — poll get_job_result every 5s until status is 'completed'.

get_account_status

ChatGPT
Get the connected account's email, plan, and integration status (integrations.linkedin_session_valid, integrations.sales_navigator_session_valid). Searches run on the Pipecorn database by default and need none of this. Call it only when the user asks for a live Sales Navigator search: if sales_navigator_session_valid is false, tell them their Sales Navigator isn't synced and that you can search the Pipecorn database instead.

get_company_hiring

ChatGPT
Get active job openings for a company. Returns job title, URL, location, employment type, date posted, description, and hiring team members with their LinkedIn profiles. Costs 1 enrichment credit per job returned; a lookup with no results costs nothing. Provide at least one of: company_domain, company_name, or company_linkedin_url.

get_company_stack

ChatGPT
Get the technology stack of a company (list of tools/technologies detected). Costs 3 credits per request. Provide at least one of: company_domain, company_name, or company_linkedin_url.

get_contact_enrichment

ChatGPT
Get the enrichment result for a contact by its enrichment_id. Poll until status is 'finished' to get the email or phone.

get_credits

ChatGPT
Get remaining Pipecorn credits and plan quotas

get_headcount

ChatGPT
Get department headcount evolution (3-month, 6-month, 12-month) for a company. Requires the LinkedIn company ID (e.g. '1818', extractable from the company LinkedIn URL). Optionally filter by specific departments; omit to get all departments.

get_job_result

ChatGPT
Wait for the result of an async job (search_accounts, advanced_search_leads, etc.). Call this ONCE — it handles retries internally with exponential backoff and waits up to ~2 minutes. Returns 'completed' with data when done, or 'timed_out' if the job didn't finish in time. Do NOT call it in a loop yourself.

get_list

ChatGPT
Retrieve the full contents of a list (companies or leads) by its UUID. This is the only tool that returns the actual entries inside a list — always use this after get_lists to access list contents.

get_lists

ChatGPT
Retrieve all Sales Navigator lists (companies or leads) with their UUIDs. To fetch the full contents of a specific list, take its UUID and call get_list.

get_persona

ChatGPT
Retrieve a single persona by its UUID.

get_searches

ChatGPT
Retrieve lead searches, most recent first, 100 per page. By default returns all searches. Set only_enriched=true to return only completed enriched searches. Pass page for older searches while pagination.has_more is true.

list_personas

ChatGPT
Retrieve all personas defined in the Pipecorn account.

preview_advanced_search_leads

ChatGPT
Preview the results of an advanced lead search before launching it. Returns total_count (estimated matching profiles) and up to 25 sample leads. ALWAYS call this tool first before advanced_search_leads — show the total_count and sample leads to the user, then ask for explicit confirmation before proceeding with the actual search.

preview_search_accounts

ChatGPT
Preview the results of a company search before launching it. Returns total_count (estimated matching companies) and up to 25 sample accounts. ALWAYS call this tool first before search_accounts — show the total_count and sample accounts to the user, then ask for explicit confirmation before proceeding with the actual search.

preview_search_accounts_by_stack

ChatGPT
Preview which companies use a given set of technologies, before importing any of them. Free — costs no credits. Returns total_count (exact number of matching companies) and up to 25 sample companies with the technologies detected on each. ALWAYS call this tool first before search_accounts_by_stack — show the total_count and sample companies to the user, then ask for explicit confirmation before proceeding with the actual import. ALWAYS resolve technology names to slugs with search_technologies first — never guess a slug.

search_accounts

ChatGPT
Search companies by filters (industry, location, size, revenue, keyword), using the Pipecorn database by default or live LinkedIn Sales Navigator when live:true. Starts an import job that consumes the daily and monthly company-import plan quotas for companies imported; consumed quota cannot be restored before its scheduled reset. Returns a job_id immediately — poll get_job_result every 5s until status is 'completed'. Use search_locations to get location IDs before filtering by location. MANDATORY — you MUST call preview_search_accounts first with the same filters, show the user the total_count and sample accounts, and wait for their explicit confirmation before calling this tool. IMPORTANT — keyword validation workflow (mandatory when the user provides a natural-language keyword): 1. Expand the keyword into a boolean query with synonyms and related terms using OR operators. Example: user says "outbound agency" → keyword becomes ("outbound" OR "prospecting" OR "prospection" OR "cold outreach" OR "lead generation") AND ("agency" OR "agencies" OR "agence" OR "cabinet"). 2. Show the proposed boolean query to the user in a clear, readable format. 3. Explicitly ask: "Does this keyword look good? You can edit it before I launch the search." 4. Wait for the user's confirmation or edited version before calling this tool. Never skip this confirmation step when a keyword is involved. MANDATORY — before calling this tool, estimate the duration based on the limit parameter and tell the user: ~(limit / 1000 * 10) minutes, minimum 1 minute. Example: limit=100 → ~1 minute, limit=500 → ~5 minutes. Always announce this to the user before calling the tool.

search_accounts_by_stack

ChatGPT
Import companies that use a given set of technologies (tech-stack intent search). Returns a job_id immediately — poll get_job_result every 5s until status is 'completed'. MANDATORY — you MUST call preview_search_accounts_by_stack first with the same filters, show the user the total_count and sample companies, and wait for their explicit confirmation before calling this tool. MANDATORY — this costs 3 enrichment credits per company actually imported. Before calling, compute limit x 3 credits and announce it as the maximum possible cost (e.g. limit=200 → up to 600 credits). If you are unsure the balance covers it, call get_credits first and warn the user. ALWAYS resolve every technology name to a slug with search_technologies before filling stacks or excluded_stacks — never guess or hardcode a slug. The countries filter takes two-letter ISO country codes (e.g. ['US', 'FR']), NOT location IDs — do NOT call search_locations for this tool. Use search_industries for included_industries / excluded_industries.

search_industries

ChatGPT
Search for LinkedIn industry IDs by name. ALWAYS call this before advanced_search_leads when the user mentions an industry — never guess industry IDs.

search_leads

ChatGPT
Extract leads from a LinkedIn Sales Navigator URL provided directly by the user from their browser. Consumes the daily profile-extraction plan quota for profiles extracted; consumed quota cannot be restored before its scheduled reset. Never construct this URL yourself. Returns a search id — use get_search to poll until status is 'finished'.

search_leads_in_company

ChatGPT
Search for leads at a specific company using filters. Consumes the daily profile-extraction plan quota for profiles extracted; consumed quota cannot be restored before its scheduled reset. First call enrich_account to get company_linkedin_id, then use it here with filters. job_titles is required — if the user doesn't specify any job title, pass [""] to return all employees. name is optional: when omitted, the search is named after the company and today's date. Returns a search id — use get_search to poll until status is 'finished'.

search_locations

ChatGPT
Resolve a location name (city, region, country) into location IDs. ALWAYS call this before search_accounts/search_leads when the user mentions a location — never guess or hardcode location IDs. The source must match the search mode: 'database' is the default and matches searches run with the default live:false; only pass source 'live' when the search itself runs with live:true. Geo IDs are not interchangeable — a mismatch returns zero results without an error. Pass exactly one plain location name per call (e.g. 'Paris', not a URL or comma-separated list). Returns an array of {name,id}; pick the best match by the human-readable name.

search_technologies

ChatGPT
Resolve a technology name into its Pipecorn technology slug. ALWAYS call this before using a technology in a tech-stack filter — never guess or hardcode a slug. Pass exactly one plain technology name per call (e.g. 'hubspot', not a comma-separated list). Returns {technologies:[{slug,name,category,logo,description}]}; pick the best match by the human-readable name and category. Free — costs no credits. Do not confuse this with get_company_stack, which does the opposite: it takes a company and returns the technologies detected on it (3 credits).

single_enrich_contact

ChatGPT
Enrich a single contact with email and/or phone. A successfully resolved email costs 3 enrichment credits and a successfully resolved phone costs 30; unresolved data costs nothing. Returns an enrichment_id and a status: when status is 'finished' the email and phone are already in the response; when it is 'pending', poll get_contact_enrichment with that enrichment_id until it turns 'finished'. Only use this for exactly 1 contact — use bulk_enrich_contacts for 2 or more contacts. Only call this if the contact does not already have the requested data from get_search results. Use enrichment_type ['email', 'phone'] to get both at once. For email enrichment, domain or company_name is required. For phone enrichment, linkedin_url is required.

update_list

ChatGPT
Add companies to an existing company list. Companies are appended — existing ones are not removed. By default (live: true) the Sales Navigator list is updated too, which requires a synced Sales Navigator account; pass live: false to update the list in Pipecorn only.

update_persona

ChatGPT
Update an existing persona's filters (job titles, industries, locations, company size). IMPORTANT: Do NOT call this tool without first asking the user in a separate turn: 'Do you want AI to expand job titles? (ai_expand_job_titles)'

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps