@pipeworx/forager
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/forager’s. Install: one-click buttons
Connect to just the @pipeworx/forager pack
https://gateway.pipeworx.io/forager/mcp — only @pipeworx/forager’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 1
Find a person’s phone number from their LinkedIn profile URL, via Forager
(forager.ai). Part of enrich-waterfall’s new enrich_find_phone finder
rotation (fleet #2860).
Tools
forager_find_phone(linkedin_url?, person_id?, _accountId, _apiKey)— phone number + type. Requires BOTH a Forager account id and an API key.
Auth
BYO only. Pass your Forager account id as _accountId and your API key as
_apiKey (header X-API-KEY, with the account id as a PATH segment:
/api/{account_id}/...). Both are on your Forager dashboard. No platform
key (D4).
Data sources
https://api-v2.forager.ai/api/{account_id}/datastorage/person_contacts_lookup/phone_numbers/
Verification notes (fleet #2860, 2026-10-08, no vendor key held) — THIS PACK HAS THE WEAKEST CONFIRMATION IN THE BATCH
- The URL path is confirmed live. Every auth shape tried against
.../phone_numbers/with account id"0"returns HTTP 403 (never 404), so the path and the account-id-in-path convention are real. - The header name is NOT independently confirmed. No header,
X-API-KEY: invalidkey123,Authorization: Api-Key invalidkey123, andAuthorization: Bearer invalidkey123all return the byte-identical{"detail":"Authentication credentials were not provided."}. A placeholder-key probe cannot tell “wrong header” apart from “right header, garbage key” when the server’s generic-scheme message is this generic.X-API-KEYis used here because that is what search results describing Forager’s own docs name, but this is the one auth shape in this batch that should be treated as a hypothesis, not a confirmed fact, until a real key either works or returns a DIFFERENT 401/403 body. - The request/response body fields are a best-effort guess, not a
confirmed schema. We could not read
docs.forager.ai’s own schema page for this specific endpoint (only sibling endpoints — detail lookup, reverse-by-email, reverse-by-phone, role search — turned up in what we could fetch). This pack sends{"linkedin_url": ...}or{"person_id": ...}and reads aphone_numbersarray (string or{number, type}objects) back, by analogy with Forager’s REST conventions elsewhere. If a real key gets a 200 with a different shape,findPhone()insrc/index.tsis the only place that needs fixing. - Not verified (no key held), and more load-bearing than usual for this
pack: the auth header name, the request body field name, the response
field name, and whether
_accountIdis even the right concept (vs. the account id being derivable from the key itself).
Tools
- forager_find_phone — Find a person’s phone number from their LinkedIn profile URL, via Forager. Requires both your Forager account id and API key. Example: forager_find_phone({ linkedin_url: “https://www.linkedin.com/in/p
Tools
forager_find_phone— Find a person's phone number from their LinkedIn profile URL, via Forager. Requires both your Forager account id and API key. Example: forager_find_phone({ linkedin_url: https://www.linkedin.com/in/pa