Agentic fundraising intelligence: 950+ tracked VC funds and 742 disclosed LPs over MCP
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key. Optional: search_funds, get_fund, get_changes (7-day window) and check_lp_coverage answer 10 calls per caller per UTC day with no key at all; get_usage and send_feedback are also keyless and do not count against that allowance. No registration or email is required. Agents self-register at https://fundmomentum.vc/_api/agent/register with just an agent_name and get a key plus 25 free credits usable on all six fund tools, or skip keys entirely and pay per call over MPP (Tempo USDC) when a paid tool answers HTTP 402. check_lp_coverage is free and keyless; LP records (search_lps) need an LP Radar subscription at https://fundmomentum.vc/lp-radar and are never sold per call. A free human key (100 calls/month) is at https://fundmomentum.vc/pricing.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
START HERE for any question about limited partners (LPs). Answers "does Fund Momentum cover my geography and LP type" with COUNTS ONLY: how many disclosed LPs match, and how many of those have backed emerging managers. It never returns a name, slug, website or commitment. COST: free, works with no API key at all (counts against the keyless daily allowance), and is never billed to agent credits or a monthly quota. Counts below 5 are reported as "<5" and zero as "none". Call this before search_lps to find out whether LP Radar covers what you need.
Headquarters country of the LP, spelled out in full (e.g. 'Germany', 'United States'). Two-letter ISO codes are accepted too. LPs whose headquarters is undisclosed are never counted under a country; they are reported separately as undisclosed_hq_count.
LP type. Must be one of the listed values; common spellings such as 'family office', 'pension' or 'fund of funds' are accepted and normalised.
Tool list last changed Oct 25, 2026.
START HERE for any question about limited partners (LPs). Answers "does Fund Momentum cover my geography and LP type" with COUNTS ONLY: how many disclosed LPs match, and how many of those have backed emerging managers. It never returns a name, slug, website or commitment. COST: free, works with no API key at all (counts against the keyless daily allowance), and is never billed to agent credits or a monthly quota. Counts below 5 are reported as "<5" and zero as "none". Call this before search_lps to find out whether LP Radar covers what you need.
| Argument | Type | Description |
|---|---|---|
| country | string | Headquarters country of the LP, spelled out in full (e.g. 'Germany', 'United States'). Two-letter ISO codes are accepted too. LPs whose headquarters is undisclosed are never counted under a country; they are reported separately as undisclosed_hq_count. |
| lp_type | string | LP type. Must be one of the listed values; common spellings such as 'family office', 'pension' or 'fund of funds' are accepted and normalised. |
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Headquarters country of the LP, spelled out in full (e.g. 'Germany', 'United States'). Two-letter ISO codes are accepted too. LPs whose headquarters is undisclosed are never counted under a country; they are reported separately as undisclosed_hq_count."
},
"lp_type": {
"enum": [
"Pension fund",
"Insurer",
"Foundation / Endowment",
"University / Research",
"Bank",
"Public / State institution",
"Sovereign wealth fund",
"Fund-of-Funds",
"Asset manager / Investment firm",
"Family office / Holding",
"Corporate / Strategic",
"Impact investor",
"Investment vehicle",
"Individual / Angel",
"Institutional LP"
],
"type": "string",
"description": "LP type. Must be one of the listed values; common spellings such as 'family office', 'pension' or 'fund of funds' are accepted and normalised."
}
}
}FOR STAYING CURRENT, not for discovery: return only the funds whose data changed since a given timestamp. COST: free, no API key required. With no key it reaches back at most 7 days; a free key widens that to 30 days, and a paid caller is not limited. A shortened window is declared as since_floor_applied, never silently truncated. Designed for cheap repeated polling: send the `next_since` AND the `etag` from your previous response, and an unchanged window answers with `unchanged: true` and no rows. Each row has change_type created, signal_updated or close_updated; close_updated means Fund Momentum published a new first, interim or final close for that fund and carries a last_close block with type, date, size and source URL. Use this instead of re-running search_funds on a schedule. One call here replaces a full re-crawl. Polls that return no changes are free: they do not count against quotas or credits (the per-minute pace limit still applies).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum rows to return (1-200) |
| since | string | Lower bound, exclusive. Accepts either an ISO 8601 timestamp ('2026-08-01T00:00:00Z') or a unix epoch in milliseconds as a string ('1785955265103'). Omit to receive the last 7 days. |
| if_none_match | string | The `etag` value from your previous get_changes response. If nothing changed, the reply is a few bytes instead of a full page. This is the cheapest poll available here. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"description": "Maximum rows to return (1-200)"
},
"since": {
"type": "string",
"description": "Lower bound, exclusive. Accepts either an ISO 8601 timestamp ('2026-08-01T00:00:00Z') or a unix epoch in milliseconds as a string ('1785955265103'). Omit to receive the last 7 days."
},
"if_none_match": {
"type": "string",
"description": "The `etag` value from your previous get_changes response. If nothing changed, the reply is a few bytes instead of a full page. This is the cheapest poll available here."
}
}
}THEN: get the detailed profile of one fund, using a slug returned by search_funds. COST: free, no API key required. Every response carries a `provenance` block stating where each field came from (including per-field sources), when it was last verified, and how confident Fund Momentum is in it, plus a `last_close` block (close type, date, amount and currency as stated, source URL) when Fund Momentum has covered a close of this fund. Do not guess the slug from a fund's display name; it will usually be wrong and the call is wasted. A near-miss is resolved only when exactly one fund matches, and the result then carries `resolved_from`; a name matching several funds is listed, not guessed.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The slug identifier of a fund, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing: slugs are not derivable from a fund's display name. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The slug identifier of a fund, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing: slugs are not derivable from a fund's display name."
}
}
}DRILL DOWN on a fund you already identified with search_funds or get_fund. Returns investor signals: GP thesis, bullish and contrarian signals, founder dos and don'ts, deployment status and source URLs. This is the tool to use before writing an outreach message to a specific fund. COST: included in Pro, or €0.10 per call over MPP if you have no key. Roughly 96% of funds carry signals; the rest return not_found BEFORE any payment is taken, so a wrong slug is never charged for.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The fund's slug, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The fund's slug, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing."
}
}
}DRILL DOWN to the people: General Partner profiles for a fund you already identified. Use this when the question is who to approach and what they personally focus on, rather than what the fund does. COST: included in Pro, or €0.10 per call over MPP if you have no key. A fund with no published GP data returns not_found before any payment. Requires a slug from search_funds.
| Argument | Type | Description |
|---|---|---|
| gp_name | string | Optional GP name to filter by |
| fund_slug* | string | The fund's slug, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing. |
{
"type": "object",
"required": [
"fund_slug"
],
"properties": {
"gp_name": {
"type": "string",
"description": "Optional GP name to filter by"
},
"fund_slug": {
"type": "string",
"description": "The fund's slug, exactly as returned in the `slug` field of search_funds. Call search_funds first rather than guessing."
}
}
}START HERE for 'how many calls or credits do I have left'. COST: free, no API key required, and it does not count against the keyless 10 calls per day (it is subject to the per-minute pace limit like every call). Returns your tier (keyless, free, starter, pro, enterprise or agent), calls used and remaining for the current window (daily for keyless, monthly for plans), credits remaining for agent keys, when the window resets (resets_at), and your per-minute pace limit. Never charges anything.
No arguments.
{
"type": "object",
"properties": {}
}ALTERNATIVE ENTRY POINT when you do not know what to search for. Describe a startup in plain language and receive the top 10 matching funds, each with a slug, a reason and a score. Use this instead of search_funds when the brief is qualitative ('climate hardware, pre-seed, Europe') rather than a filter. Slower than the other tools, three to ten seconds, because it reasons over every tracked fund: allow for that before you time out and retry. COST: included in Pro, or €0.25 per call over MPP if you have no key.
| Argument | Type | Description |
|---|---|---|
| stage | string | Funding stage. Must be one of the listed enum values; common spellings are normalised. |
| country | string | Country, spelled out in full |
| description* | string | Startup description (max 500 chars) |
{
"type": "object",
"required": [
"description"
],
"properties": {
"stage": {
"enum": [
"growth",
"late_stage",
"pre_seed",
"seed",
"series_a",
"series_b",
"series_c"
],
"type": "string",
"description": "Funding stage. Must be one of the listed enum values; common spellings are normalised."
},
"country": {
"type": "string",
"description": "Country, spelled out in full"
},
"description": {
"type": "string",
"description": "Startup description (max 500 chars)"
}
}
}START HERE for any question about funds. Search actively deploying venture capital funds by stage, country, industry and recent closes. COST: free, and it works with no API key at all. Returns name, slug, country, stage, fund size, industries, the latest published close (lastCloseDate, lastCloseType) and a durable profile URL. For 'which funds just closed', pass closed_since: results then come newest close first. The `slug` in each result is what every other tool takes as input, so run this first and copy the slug rather than constructing one from a fund's name.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of results to return. Default 10 for every caller, including agents paying with credits and subscribers, so an omitted limit never returns or bills more than 10 funds. Without a paid account the maximum is 10; a larger value is rejected, not clamped. Agents paying with credits are billed 1 credit (EUR 0.01) per fund returned, up to 150 funds per key per UTC day (a call that would exceed the remainder is refused before any charge); pass a larger limit explicitly to receive more. Starter gets up to 50 per call; Pro gets up to 250 and can page with offset. The response reports `matched` (total matches) and `truncated`. |
| stage | string | Funding stage. Matches every fund that invests at this stage, including multi-stage funds whose range covers it (each result lists all its stages in fundingStages). Must be one of the listed enum values (lowercase, underscores). Common spellings such as 'Pre-Seed' or 'Series A' are accepted and normalised. |
| offset | integer | Number of matches to skip, for paging through a large result set (use next_offset from a truncated response). Agents paying with credits and Pro plans only. |
THEN, for LP Radar subscribers: return limited partner records (name, slug, LP type, HQ country and city, geographic focus, website, emerging-manager backing, verified flag) filtered by country, LP type and emerging-manager backing, at most 25 per call. Set backs_emerging_managers=true to see only LPs that have already backed a first or second fund — for a first-time manager that is usually the only filter that matters. Requires LP Radar (EUR 199 per month or EUR 1,499 per year, https://fundmomentum.vc/lp-radar). Not available per call, on agent credits or on the keyless trial. Unlimited calls for subscribers. Use check_lp_coverage first — it is free and tells you whether the dataset covers your geography and LP type before you pay anything. Send the API key of the account that holds LP Radar. A caller without it gets error_reason "lp_access_required" together with the coverage count for its filters, never a payment challenge. website is null when no website is on record; it is never omitted.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return, 1-25. A value above 25 is rejected, not clamped. |
| country | string | Headquarters country of the LP, spelled out in full (e.g. 'Germany'). Two-letter ISO codes are accepted too. |
| lp_type | string | LP type. Must be one of the listed values; common spellings such as 'family office' or 'pension' are accepted and normalised. |
| backs_emerging_managers | boolean | true returns only LPs that have backed an emerging manager; false returns only those that have not. Omit for both. Not available on check_lp_coverage, which reports the figure as a breakdown instead. |
Tell the Fund Momentum team about a bug, a data problem or a missing feature. COST: free, no API key required, and it does not count against the keyless 10 calls per day; limited to 5 per caller per UTC day. Stores one short message and nothing else happens: nobody is notified instantly and there is no reply. Describe the problem generically and leave out names, email addresses and other personal details of third parties (founders, GPs, LPs); never paste private documents or credentials.
| Argument | Type | Description |
|---|---|---|
| message* | string | What went wrong or what is missing, in plain words. Maximum 1000 characters. No personal details of third parties. |
| category | string | What kind of feedback this is. Defaults to other. |
| tool_name | string | The tool the feedback is about, if any, exactly as listed in tools/list. |
{
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"maxLength": 1000,
"description": "What went wrong or what is missing, in plain words. Maximum 1000 characters. No personal details of third parties."
},
"category": {
"enum": [
"bug",
"data_issue",
"missing_feature",
"other"
],
"type": "string",
"description": "What kind of feedback this is. Defaults to other."
},
"tool_name": {
"type": "string",
"description": "The tool the feedback is about, if any, exactly as listed in tools/list."
}
}
}| country |
| string |
| Country of the fund's headquarters, spelled out in full (e.g. 'United States', 'United Kingdom', 'Germany'). Not an ISO code. |
| industry | string | Industry focus. Must be one of the listed enum values (lowercase, underscores), e.g. 'ai_ml', 'fintech', 'climate_sustainability'. Common spellings such as 'AI/ML', 'FinTech' or 'climate' are accepted and normalised. |
| closed_since | string | Only funds whose latest published close (first, interim or final close, or a launch) is on or after this date, ISO format YYYY-MM-DD (e.g. '2026-09-01'). Close data comes from Fund Momentum's own close coverage, each with a source URL in get_fund's last_close block. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Number of results to return. Default 10 for every caller, including agents paying with credits and subscribers, so an omitted limit never returns or bills more than 10 funds. Without a paid account the maximum is 10; a larger value is rejected, not clamped. Agents paying with credits are billed 1 credit (EUR 0.01) per fund returned, up to 150 funds per key per UTC day (a call that would exceed the remainder is refused before any charge); pass a larger limit explicitly to receive more. Starter gets up to 50 per call; Pro gets up to 250 and can page with offset. The response reports `matched` (total matches) and `truncated`."
},
"stage": {
"enum": [
"growth",
"late_stage",
"pre_seed",
"seed",
"series_a",
"series_b",
"series_c"
],
"type": "string",
"description": "Funding stage. Matches every fund that invests at this stage, including multi-stage funds whose range covers it (each result lists all its stages in fundingStages). Must be one of the listed enum values (lowercase, underscores). Common spellings such as 'Pre-Seed' or 'Series A' are accepted and normalised."
},
"offset": {
"type": "integer",
"description": "Number of matches to skip, for paging through a large result set (use next_offset from a truncated response). Agents paying with credits and Pro plans only."
},
"country": {
"type": "string",
"description": "Country of the fund's headquarters, spelled out in full (e.g. 'United States', 'United Kingdom', 'Germany'). Not an ISO code."
},
"industry": {
"enum": [
"agritech",
"ai_ml",
"biotech",
"built_environment",
"carbon_removal",
"circular_economy",
"climate_sustainability",
"cloud_devops",
"consumer_commerce",
"creator_economy",
"cybersecurity",
"data_infrastructure",
"deep_tech",
"defense",
"developer_tools",
"diagnostics",
"digital_banking",
"digital_education_consumer",
"digital_health",
"digital_infrastructure",
"ecommerce",
"energy_tech",
"enterprise_software",
"evs_charging",
"fashion_tech",
"fem_tech",
"fintech",
"food_beverage",
"food_tech",
"gaming",
"infrastructure_tech",
"insur_tech",
"iot",
"manufacturing",
"marketplaces",
"med_tech",
"mental_health",
"mobility_transport",
"payments_embedded_finance",
"private_markets",
"prop_tech",
"robotics_automation",
"saas",
"semiconductors",
"space",
"supply_chain",
"therapeutics",
"travel_tech",
"vertical_saas",
"water_tech",
"wealth_tech",
"web3_finance",
"web3_infrastructure",
"wellness_lifestyle"
],
"type": "string",
"description": "Industry focus. Must be one of the listed enum values (lowercase, underscores), e.g. 'ai_ml', 'fintech', 'climate_sustainability'. Common spellings such as 'AI/ML', 'FinTech' or 'climate' are accepted and normalised."
},
"closed_since": {
"type": "string",
"format": "date",
"description": "Only funds whose latest published close (first, interim or final close, or a launch) is on or after this date, ISO format YYYY-MM-DD (e.g. '2026-09-01'). Close data comes from Fund Momentum's own close coverage, each with a source URL in get_fund's last_close block."
}
}
}{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"description": "Records to return, 1-25. A value above 25 is rejected, not clamped."
},
"country": {
"type": "string",
"description": "Headquarters country of the LP, spelled out in full (e.g. 'Germany'). Two-letter ISO codes are accepted too."
},
"lp_type": {
"enum": [
"Pension fund",
"Insurer",
"Foundation / Endowment",
"University / Research",
"Bank",
"Public / State institution",
"Sovereign wealth fund",
"Fund-of-Funds",
"Asset manager / Investment firm",
"Family office / Holding",
"Corporate / Strategic",
"Impact investor",
"Investment vehicle",
"Individual / Angel",
"Institutional LP"
],
"type": "string",
"description": "LP type. Must be one of the listed values; common spellings such as 'family office' or 'pension' are accepted and normalised."
},
"backs_emerging_managers": {
"type": "boolean",
"description": "true returns only LPs that have backed an emerging manager; false returns only those that have not. Omit for both. Not available on check_lp_coverage, which reports the figure as a breakdown instead."
}
}
}