Icebreaker
Search across your networks
- Category
- Sales & CRM
- Primary Subcategory
- B2B Prospecting & Contact Data
Integration details
Description
Whether you're hiring, selling, or searching, everyone knows that the best opportunities come from leveraging your existing network. With Icebreaker, you can finally search across your own extended network, directly from your favorite AI tools. Turn cold leads into warm referrals and amplify your conversion rates by 5-20x when you make your agents network-aware, across LinkedIn, X, GitHub, and more.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- B2B Prospecting & Contact Data
- Secondary Subcategories
- None listed
- Brand
- Icebreaker
- Access
- Account required
- First tracked
- 2026-09-01
- Tool count
- 17
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT B2B Prospecting & Contact Data
View Category17 tools agents can invoke
Trigger enrichment for a company by LinkedIn (enrich company by LinkedIn). Use when the user asks to enrich a company by LinkedIn, trigger company enrichment by LinkedIn, or send a company LinkedIn URL for enrichment. Distinct from a future enrich-company-by-domain tool. Input: Provide a LinkedIn company URL (full or partial) or company slug. - Full URL: https://www.linkedin.com/company/gambit-robotics-inc/ - Partial or slug: anthropic or linkedin.com/company/anthropic Optional teamDomainScope: team FQDN (e.g. acme.com) to evaluate plan gates against that team's plan (same domain as search_network.teamDomainScope / enrich_person.teamDomainScope). Omit for personal scope. Returns success with the normalized URL that was submitted, or an error. Enrichment runs asynchronously; after processing, use search_network to find people by the company's domain (e.g. credentialnames:Verified: companydomain.com).
enrich_company_by_linkedin_tool
Trigger enrichment for a person by LinkedIn URL. Use when the user asks to "enrich person [name]", "enrich [LinkedIn URL]", "enrich [name]", "get contact info for [person]", or similar. Input: Provide a LinkedIn URL (full or partial) or a LinkedIn username. - Full URL: https://www.linkedin.com/in/kbieg/ - Partial or username: kbieg or linkedin.com/in/kbieg - If the user gives only a person's name (e.g. "Kyle Bieg"), use search_network or another method to find their LinkedIn profile URL first, then call this tool with that URL. Optional teamDomainScope: team FQDN (e.g. acme.com) when enriching on behalf of a team. Omit it: scope defaults to personal. Prefer company_domain from get_entitlements when it is a hostname, or a team the user named, and pass the same teamDomainScope on every enrich_person and get_enrichment_result call. Ask only if scope is unclear. Teammates can then retrieve the result without a further charge. Returns success with the normalized LinkedIn URL submitted, or an error. Enrichment is asynchronous. After a short delay (e.g. 30–60 seconds), call get_enrichment_result with the same LinkedIn URL (and same teamDomainScope if used) to retrieve contact info.
enrich_person_tool
Read one contact list by ID with a paginated slice of member social paths (up to 1000 per page from the API). The lists API returns `page`, `total_pages`, and `total_members` on each response when supported; the MCP forwards that page of `social_paths` without re-slicing. Older responses that omit pagination metadata are paginated client-side for compatibility. Paths use supported prefixes only (linkedin/, github/, twitter/, farcaster/, profile/). Profile enrichment is up to the caller. Viewer context is always available here from the user's signed-in Icebreaker session. List GET requests always send your pkid as `owner` and `viewer`. Pass `teamDomainScope` to scope to a team; when omitted, queries personal lists (no inference from viewer context).
get_list_tool
Check enrichment status or retrieve result for a person by social path or LinkedIn URL. Use after calling enrich_person: enrichment is asynchronous; call this after a short delay of 30 to 60 seconds to get contact info. Input: Either a social path (e.g. linkedin/johndoe, twitter/handle) or a LinkedIn URL/username (same format as enrich_person). Optional teamDomainScope: team FQDN (e.g. acme.com) when retrieving a team-scoped enrichment. Omit it: scope defaults to personal. Prefer company_domain from get_entitlements when it is a hostname, or a team the user named, and pass the same teamDomainScope used in enrich_person. Ask only if scope is unclear. Teammates on that team retrieve the record without a further charge. Checking status or retrieving a record the user or their team submitted is covered by their plan or per-call billing. Retrieving someone else's contact data may require a higher plan; if it is not covered, the tool explains what is available instead. Returns: status, emails, phones, fullName, jobTitle, location. Phone numbers and extended emails are not part of every plan, so treat them as optional rather than missing data.
get_enrichment_result_tool
Find intro path(s) from you (the viewer) to a single contact using 1st-degree connections. IMPORTANT: Use for ONE contact at a time only. If the user asks about multiple people, call this tool separately for each contact. Do not pass social paths from multiple different profiles in a single call. Use this when the user is looking at search results and wants to find someone who can introduce them to a specific profile. Pass that single target profile's social path(s) in connected_social_paths. Viewer context is always available here from the user's signed-in Icebreaker session. HARDWIRED PAYLOAD: - ordinality: ["1st"] (direct connections only) - connectedSocialPaths: [list of social paths from the connected_social_paths argument] (required) - sortBy: "trust_score" (results always sorted by trust score) - hideViewer: true, sources: ["all"], limit: configurable (default 50)
get_intro_path_tool
Return mutual 1st-degree connections between you (the viewer) and one or more target profiles. Use this for "what do we have in common?" or "who can vouch for me?" — same graph data as intro path, but framed as shared connections. Pass the target profile's social path(s) in connected_social_paths. Viewer context is always available here from the user's signed-in Icebreaker session. HARDWIRED PAYLOAD: - ordinality: ["1st"] (direct connections only) - connectedSocialPaths: [list of social paths from the connected_social_paths argument] (required) - sortBy: "trust_score" - hideViewer: true, sources: ["all"], limit: configurable (default 50)
get_mutuals_tool
Quickest path to a first useful Icebreaker search: connect accounts, optionally join a team, then run a first search. Call this when the user asks how to get started, how to use Icebreaker, how to set up Icebreaker, what to do first, or how to connect their LinkedIn, GitHub or X network. Also call it after an Icebreaker search succeeds but returns no results, so the user learns how to connect their network before searching again. Static guidance only. Do not include MCP install or connection-setup steps.
get_started
Return the list of social paths for your team (Verified + collaborators). Team is defined by verified company credential members. Only paths with supported prefixes are returned: icebreaker/, profile/, linkedin/, farcaster/, github/, twitter/. Use get_team first to obtain social_paths, then pass that list as connectedSocialPaths to search_network (up to 1000 paths per request) to run a team-scoped search. Viewer context is always available here from the user's signed-in Icebreaker session.
get_team_tool
Return team collaborators with profile info and social paths on your team (same endpoint as get_team with teamCollaborators=collaborators). get_team uses teamCollaborators=verified (verified members only); this tool lists collaborators only. Team is defined by verified company credential members. Only paths with supported prefixes are returned: icebreaker/, profile/, linkedin/, farcaster/, github/, twitter/. Pass the returned social_paths as connectedSocialPaths to search_network for a collaborator-scoped search. When queueing a collaborator network sync, pass only a non-empty `pkid` from this response. If `pkid` is missing, do not call queue_network_sync for that person — omitting it syncs the signed-in user's own network. `omni_profile.name` helps pick the right person. Viewer context is always available here from the user's signed-in Icebreaker session.
get_team_collaborators
Icebreaker onboarding and network search guide: what to do before the first search, the standing search defaults, and how to present results. Same text as the server_instructions prompt, resource://search-guide, and the MCP instructions field. Use this tool when prompts and resources are unavailable in the client. For getting a new user's network connected, call get_started instead.
get_server_instructions
List all contact lists for the viewer (GET /lists). Uses your pkid for `owner` and `viewer`, with optional `domain` for team-scoped lists. Does not return member paths — use get_list for members. Viewer context is always available here from the user's signed-in Icebreaker session.
list_lists_tool
Lookup the viewer's profile and all connected profiles (LinkedIn, etc.). This tool fetches comprehensive profile data for the current viewer using the search query: - socialPaths: ["icebreaker/viewer_pkid"] - sources: ["all"] - ordinality: ["Global"] - limit: 100 Returns all profiles associated with the viewer across platforms including: - Primary profile information - All connected social profiles (LinkedIn, GitHub, etc.) - Work history and experience across platforms - Contact information and social links **viewerPkid is ALWAYS provided** from the OAuth access token (urn:icbk-mcp:user_pkid) for this endpoint. The results are automatically cached locally in ~/.icebreaker/viewer_cache/ for future reference.
lookup_viewer_tool
Create a list or add/remove members or update name/description/share_state. Actions: create (name + social_paths required; optional team_domain for team lists), add_members, remove_members (list_id + social_paths), update (list_id + name and/or description and/or share_state). On create, owner and creator are always your pkid; team_domain is optional. System lists (creator: icebreaker) cannot be modified. **viewerPkid is ALWAYS provided** from the OAuth access token (urn:icbk-mcp:user_pkid) for this endpoint. Every POST to the lists API includes `viewer` (your pkid) in the JSON body. Create also sends owner and creator as your pkid, with optional domain for team lists. After a successful create (or any action returning an `id`), construct and surface the list URL: - Personal lists: https://app.icebreaker.xyz/lists/{id} - Team lists (when `team_domain` was provided): https://app.icebreaker.xyz/teams/{team_domain}/lists/{id}
manage_list_tool
Return the user's Icebreaker plan, subscription status and per-feature limits. teamDomainScope: Optional company domain (e.g. "acme.com") to inspect that team's limits instead of the user's own. Omit for personal scope. If the returned company_domain is a hostname, pass it as teamDomainScope on later tools unless the user named a different team or asked for personal scope.
get_entitlements_tool
Queue a social path for syncing the viewer's social graph. Use when the user wants to sync their LinkedIn, Twitter, or GitHub network. Accepts a social path in the form channel/identifier (e.g. linkedin/johndoe, twitter/handle, github/octocat). For self-queue (no collaborator_pkid), team_domain is optional: when omitted, the server resolves it automatically from the current viewer context; pass team_domain only to override. Optional collaborator_pkid queues a sync on behalf of a team collaborator. Pass collaborators[].pkid from get_team_collaborators when present (only for icebreaker/{pkid} collaborators), or icebreaker/{pkid}. When collaborator_pkid is set: - team_domain is required in the API request: pass team_domain explicitly, or rely on automatic resolution on pre-configured profile mounts. It is forwarded as teamDomain. - The API requires the caller to be a team admin on team_domain and collaborator_pkid to identify a collaborator on that same team_domain. MCP does not verify roles; unauthorized calls fail at the API. - social_path is the graph to sync and need not match the collaborator. Use get_team_collaborators(company_domain=team_domain) to list collaborators on the team.
queue_network_sync_tool
Query sync status for a social path (linkedin, twitter, github) for the viewer's graph. Companion to queue_network_sync: same social_path form (e.g. linkedin/johndoe). GET on the same base URL as the queue webhook with that path appended (URL-encoded). Pass the same collaborator_pkid and teamDomainScope used when queueing to poll collaborator-scoped jobs. Optional collaborator_pkid queues a sync on behalf of a team collaborator. Pass only a non-empty `pkid` from a get_team_collaborators result. If `pkid` is missing, do not queue a collaborator sync — omitting collaborator_pkid syncs the signed-in user's own network. When collaborator_pkid is set: - teamDomainScope is required: pass the team FQDN explicitly. Omitting it means personal scope; a team is never inferred. - Only a team admin can queue a sync for a collaborator, and the collaborator must be on that same team. Both are checked before the sync is queued. - social_path is the network to sync and need not belong to the collaborator. Call get_team_collaborators(company_domain=teamDomainScope) to list the team. For self-queue status (no collaborator_pkid), teamDomainScope is optional; omit for personal scope.
queue_network_sync_status_tool
Search the user's Icebreaker network for people: candidates, prospects, and paths to a warm intro. The signed-in user's viewer context is always available here. Default `ordinality: ["1st", "2nd"]` (`["1st"]` for direct connections only). Use `["Global"]` only for a handle lookup with socialPaths, another person's network with connectedSocialPaths, or a team search with connectedSocialPaths from get_team. Never ask the user for a viewer id and never set `viewerPkid` yourself. RESULT FORMAT (required): present every person with a link. Use the profile's profile_url; if it is missing, build the link from omni_profile.social_name (profile/xyz becomes https://app.icebreaker.xyz/profiles/xyz, linkedin/abc123 becomes https://app.icebreaker.xyz/linkedin/abc123). Take name and bio from omni_profile. PAGINATION: results are capped at 100 per call. Increment offset by the requested limit (for example 0, then 50 when limit is 50) and stop when a page returns fewer profiles than limit. For a full scan, such as every member of a company, paginate until exhausted. QUICK START: - "find golang engineers in nyc": {"globs": ["golang engineer New York"], "ordinality": ["1st", "2nd"], "limit": 50, "hideViewer": true, "sources": ["all"]} - "find rust developers": {"globs": ["rust developer"], "ordinality": ["1st", "2nd"], "limit": 50, "hideViewer": true, "sources": ["all"]} - "find people at coinbase": {"globs": ["credentialnames:Verified: coinbase.com"], "ordinality": ["1st", "2nd"], "limit": 50, "hideViewer": true, "sources": ["all"]} - "look up linkedin user hoangmn": {"socialPaths": ["linkedin/hoangmn"], "ordinality": ["Global"], "limit": 50, "hideViewer": true, "sources": ["all"]} - "engineers in hoangmn's network": {"connectedSocialPaths": ["linkedin/hoangmn"], "globs": ["engineer"], "ordinality": ["Global"], "limit": 50, "hideViewer": true, "sources": ["all"]} PARAMETERS: - globs: skills, roles and location in one string, e.g. ["golang engineer New York"] or ["rust web3 San Francisco"]. Combine several skills in one string rather than separate entries. - ordinality: ["1st", "2nd"] (`["1st"]` for direct connections only). Use ["Global"] only for a handle lookup with socialPaths, another person's network with connectedSocialPaths, or a team search with connectedSocialPaths from get_team. - hideViewer: always true, so the user is not returned to themselves. - sources: ["all"] to search every platform. - limit: 50 to 100 for a first search. - locations: deprecated, put the location in globs instead. - socialPaths: look up specific profiles by handle and get those exact profiles back, not their connections. Allowed prefixes: icebreaker/, profile/, linkedin/, farcaster/, github/, twitter/. - connectedSocialPaths: search the network of the given handle(s), not the handles themselves. Pair with ordinality ["Global"] for that person's full indexed network. Up to 1000 paths per request, for example social_paths from get_team. - sortBy: "relevance", "trust_score", "connection_date", or "network_distance". The last two need viewer context. - allowAnyCredential: true matches profiles with ANY credential (OR), false matches ALL (AND). - connectionFollowType: "connection" (default when undefined), "recommendations", "following", or "follower". - Company by domain: append ["credentialnames:Verified: companydomain.com"] to globs. includeAssociations defaults to true (anyone associated with the company); set it to false only for verified members only. Both modes return current and past affiliation, with no current-only filter. For several companies at once, set allowAnyCredential true. - Do not put credentialNames into a plain glob; use the credentialnames:Verified: form above. FINDING ONE PERSON AT A COMPANY: do not glob the person's name and company together. Pull the company with globs=["credentialnames:Verified: <companydomain.com>"], paginate with offset until a page returns fewer than limit, then match the name yourself. A glob like ["Benjamin software engineer lazer technologies"] misses people whose titles are indexed differently. RECOMMENDED BY MY TEAM: connectionFollowType "recommendations" with either teamCollaborators "verified" or "collaborators" plus teamDomain, or connectedSocialPaths set to the team's social paths from get_team. Example: {"connectionFollowType": "recommendations", "teamCollaborators": "verified", "teamDomain": "acme.com", "globs": ["engineer"], "ordinality": ["1st", "2nd"], "limit": 50, "hideViewer": true}. TEAM REACH: call get_team for social_paths, then search with connectedSocialPaths set to that list. Read the total from response.hits.total when present, otherwise use total_results and paginate. If search results look thin, tell the user they can connect more accounts at https://app.icebreaker.xyz/settings/linked-accounts For the onboarding overview, call get_server_instructions.
search_network
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Icebreaker alternatives on ChatGPT?
As of 2026-09-11, Icebreaker competes with AI Leads Scout, AI Vibe Prospecting, Apollo.io, Canonical Company Search, Clay, Crustdata, Data247, DataForB2B, DayOneLead, Demandbase, Enginy, Firmable, FullEnrich, Grata, Happenstance, HG Insights - RGI, Hunter, Lusha, Meticulate, Moody's Growth and Strategy, Popl, Reverse Contact, RocketReach, SciLeads, Seamless, SignalHire, Sixtyfour Intelligence, Sprouts Data Intelligence, StoreInspect, Sumble, Super Carl, The Org, ZoomInfo in ChatGPT B2B Prospecting & Contact Data, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.