VC and Accelerator Portfolio List Builder MCP Server
Build a portfolio company list for VCs and accelerators via Apify using one MCP tool.
Provide investor/accelerator names or portfolio page URLs (up to 25; Y Combinator by default).
Filter Y Combinator results by batch, industry, region, status, or search query.
Get one flat row per portfolio company with name, domain, website, description, and stage/batch/status where available.
Receive a free summary row per source explaining how it was read or why it returned nothing.
Control limits and behavior with max companies per source, detail pages, company-page opening, only-new mode/state key, cost cap, and proxy mode.
Run read-only and require an Apify token; usage is billed per company row with a domain.
Provides access to the Y Combinator public company directory, enabling users to list portfolio companies and filter them by batch, industry, region, status, and search terms, with company names, domains, websites, descriptions, and related details.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VC and Accelerator Portfolio List Builder MCP ServerList YC W25 fintech companies with websites"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VC and Accelerator Portfolio List Builder MCP Server
An MCP server for the Mamba Labs VC and Accelerator Portfolio List Builder actor on Apify. Give it investors or accelerators by name, or portfolio page URLs, and get one row per portfolio company with its name, domain, website, description, and stage, batch, or status where the source gives it.
What's Inside
Related MCP server: Team Page People Extractor MCP Server
What it does
Y Combinator is read from its public company directory and can be filtered by batch, industry, region, status, and search words. Andreessen Horowitz (a16z), Sequoia Capital, Accel, Index Ventures, Founders Fund, Greylock, Lightspeed Venture Partners, Khosla Ventures, First Round Capital, Techstars, and Antler are built in, and any other portfolio page works by URL. Each source also returns one free summary row with the count and the way it was read, or the reason it returned nothing. Pages are read from the investor's own site and robots.txt is obeyed.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-vc-accelerator-portfolio-list-builder": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-vc-accelerator-portfolio-list-builder"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The build_portfolio_list tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"List the Y Combinator W25 companies in fintech with their websites."
"Which companies are in Accel's and Greylock's portfolios?"
"Pull the portfolio of https://example.vc/portfolio into a table."
Tool
build_portfolio_list. One tool. Example arguments:
{
"investors": ["Y Combinator"],
"yc_batches": ["W25"],
"max_companies_per_source": "100"
}Inputs
Every buyer facing input of the actor. Omitted inputs take the actor's own defaults. Numbers and yes or no options can be given as a number or boolean (100, true) or as text ("100", "true"); the server always sends them to the actor as text, which is what the actor accepts; a value that does not parse comes back as one free row that names the field.
Input | Type | Required | Description |
| array | no | Built in names or portfolio page URLs, up to 25. Default Y Combinator. |
| array | no | Y Combinator batches, for example S24, W25. |
| array | no | Y Combinator industries. |
| array | no | Y Combinator regions. |
| array | no | active, acquired, public, inactive. |
| string | no | Words to search the Y Combinator directory for. |
| number or string | no | Company rows per source, up to 10000, such as 100 or "100". Default 500. |
| boolean or string | no | true or false, or "true" or "false". Open per company pages when needed. Default true. |
| number or string | no | Company pages opened per source, up to 1000. Default 200. |
| boolean or string | no | true or false, or "true" or "false". Y Combinator only: open each company's YC page for founder names, founder LinkedIn links, and the open role count. Needs |
| boolean or string | no | true or false, or "true" or "false". Skip companies an earlier run returned. Default false. |
| string | no | Name for the only new companies memory. |
| number or string | no | Optional cost cap for the run, in USD. |
| string | no | auto or direct. Default auto. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.007 | $0.00665 | $0.0063 | $0.00595 |
| $0.0025 | $0.0025 | $0.0025 | $0.0025 |
Rows with no domain, source summary rows, and already delivered companies are free. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.
Full actor documentation
apify.com/mambalabs/vc-accelerator-portfolio-list-builder
License
MIT. See LICENSE.
Available Tools
1 toolbuild_portfolio_listBuild a portfolio company listARead-onlyIdempotent
Build a list of the companies a venture capital firm or accelerator backs. Give investor or accelerator names (Y Combinator, a16z, Sequoia, Accel, Index Ventures, Founders Fund, Greylock, Lightspeed, Khosla, First Round, Techstars, Antler) or any portfolio page URL. Returns one flat row per portfolio company (name, domain, website, description, and stage, batch, or status where the source gives it) plus one free summary row per source saying how it was read or why it returned nothing. Y Combinator is filterable by batch, industry, region, status, and search words. Pages are read from the investor's own site and robots.txt is obeyed. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN and is billed per company row with a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| only_new | No | Skip companies an earlier run returned for the same source (free). Default false. | |
| yc_query | No | Y Combinator only. Words to search the directory for. | |
| investors | No | Investors or accelerators by name (Y Combinator, a16z, Sequoia, Accel, Index Ventures, Founders Fund, Greylock, Lightspeed, Khosla, First Round, Techstars, Antler) or portfolio page URLs. Up to 25. Default Y Combinator. | |
| state_key | No | Optional name for the only new companies memory. | |
| yc_status | No | Y Combinator only. Any of active, acquired, public, inactive. | |
| proxy_mode | No | auto reads a site that refuses a direct request through the Apify proxy; direct never uses a proxy. A reliability setting; it does not change the price. Default auto. | |
| yc_batches | No | Y Combinator only. Batches as S24, W25, or Summer 2024. Empty: every batch. | |
| yc_regions | No | Y Combinator only. Regions as the directory writes them, for example Europe. | |
| yc_industries | No | Y Combinator only. Industries as the directory writes them, for example B2B, Fintech. | |
| max_charge_usd | No | Optional. The run stops before a charge that would pass this amount. | |
| max_detail_pages | No | Company pages opened per source, up to 1000. Default 200. | |
| yc_company_pages | No | Y Combinator only. true opens each company's YC page (one page per company, up to max_detail_pages) to read founder names, founder LinkedIn links, and the open role count. Needs open_company_pages true. Default false. | |
| open_company_pages | No | Open per company pages when a portfolio page links only to them. Default true. | |
| max_companies_per_source | No | Company rows per source, up to 10000. Each company row with a domain is billed. Default 500. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial non-schema behavior: APIFY_TOKEN requirement, per-company-row billing, robots.txt compliance and reads from the investor's own site, error-with-run-ID on failure, and free summary rows that explain empty sources. That is exactly the operational context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and input forms, then output shape, then constraints. Dense but every element is load-bearing; the parenthetical list of eleven investor names is mildly redundant with the schema's enum-like list of the same names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 14 parameters and no output schema, the description does the necessary work of describing return rows and the summary row, plus failure behavior. Remaining gaps are minor — nothing about ordering, deduplication across sources, or how only_new/state_key interact with free vs billed rows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter already carries its own description with defaults and limits. The description's mention of YC filterability by batch, industry, region, status, and search words merely restates what the schema documents, adding no syntax or interaction detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Build a list of the companies a venture capital firm or accelerator backs') and immediately names the two accepted input forms and the shape of the output. An agent knows exactly what this tool produces without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear about what to supply (investor/accelerator names or portfolio page URLs) and about the YC-specific filtering path, plus the default of Y Combinator when nothing is given. There are no sibling tools to compare against, so no exclusions are needed — but it also doesn't explain when this tool is the wrong choice (e.g. non-VC company lists).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.1- First observed
build_portfolio_list
TDQS
Scored across 1 tool
With only one tool there is no possibility of tool selection confusion; the single tool's scope is clearly stated in its description. No overlap or ambiguity exists by construction.
The lone name 'build_portfolio_list' is a clean, predictable verb_noun snake_case pattern that accurately reflects the action.
One tool is borderline thin for a server whose stated domain (VC/accelerator portfolio extraction) spans many investors, filters, and output shapes. Much of the functionality is folded into a single overloaded tool rather than exposed as distinct operations.
The core job (produce rows per portfolio company plus a provenance summary row) is covered, but there are gaps: no way to discover supported investors, no filtering beyond Y Combinator, no paging/continuation for large portfolios, and no retrieval of a prior run by ID despite run IDs being surfaced on error.
Maintenance
Related MCP Connectors
Search startups and founders, match companies to products, and manage outreach lists.
Funding rounds, AI startup and investor search, email discovery, agent-readiness. No API key.
Extracts verified emails, social links, 40+ tech stack signals, pricing tiers, and company summary
Extracts verified emails, social links, 40+ tech stack signals, pricing tiers, and company summar.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables building targeted company lists from live job boards or SEC filings via the Apify actor, supporting role keywords, locations, and filing phrases.164 npmMIT
- AlicenseAqualityAmaintenanceExtracts people (names and titles) from a company's team, leadership, or about page given a domain. Uses Apify to crawl and return structured data, with optional filters for seniority and email inclusion.165 npmMIT
- AlicenseAqualityBmaintenanceEnables users to convert a vendor partner directory (such as PartnerPage or the Shopify Partner Directory) or a trade body member list into one company row per listing, each carrying website, domain, tier, tags, and location for Clay-ready output. It runs the extraction on Apify, returning dataset rows for up to 20 directory URLs with optional deduping, detail enrichment, and a cost cap.171 npmMIT
- AlicenseAqualityCmaintenanceEnables assembling local business prospect lists from Google Maps searches by category and place, returning one row per business with website, phone, address, coordinates, categories, rating, review count, and weekly hours. Supports filters for minimum rating, review count, website, and phone, plus URL and category-plus-location queries, deduplication across searches, and Clay-ready output via Apify.188 npmMIT