Fund Momentum MCP Server
Research 950+ tracked VC funds from Claude or ChatGPT: the first 10 calls a day need no API key and no signup.
https://fundmomentum.vc/_api/mcpEndpoint details
Endpoint: POST https://fundmomentum.vc/_api/mcp
This page (/mcp) is documentation and does not accept POST. Requests sent here are rejected by the CDN before they reach the server. The server itself lives at /_api/mcp.
This page is for people using an AI assistant. Building an autonomous agent that registers and pays for itself, with no human in the loop? Go to /for-agents →
Machine-readable: server manifest → · tools reference (Markdown) →
- Read-only (send_feedback and request_warm_intro aside).
- EUR only.
- LP names never served per call.
N°01 / Connect
Connect your AI
Try now, no key
10 calls a day, no signup. On Claude Code or the Claude CLI, one line is the whole setup:
Any other client: add https://fundmomentum.vc/_api/mcp as a Streamable HTTP server with no authentication.
Check it worked. Ask your assistant: "What can I do with Fund Momentum?" A reply listing tools means you are connected.
I have a key
Subscribe at fundmomentum.vc/pricing (the Free plan costs nothing), copy your key from Account Settings, then pick your client.
Add Fund Momentum as a custom connector:
- Settings → Connectors → Add → Add custom connector
- Enter the following connector details:
- Name:
fund-momentum - MCP server URL:
https://fundmomentum.vc/_api/mcp
- Name:
- When prompted, add your API key as an
X-API-Keyheader. - From the Connectors page, open Fund Momentum settings and set Tool permissions to Always Allow.
- Ask Claude — "What can I do with Fund Momentum?"
Or paste directly into your config file:
I'm an agent
Building an autonomous agent that registers and pays for itself, with no human in the loop? It gets its own key and pays per call, with no account and no email.
Go to /for-agents →N°02 / Try it
See it work
The call:
What comes back:
Prompts to try first
Paste any of these into Claude, ChatGPT or Cursor once the connector is set up. Each one was run against live data. They chain the tools in the order that works, which is the single most common thing people get wrong: search first, then use the slug it gives you. The chip on each says whether it runs with no key and how many calls it uses.
Using the Fund Momentum connector: call search_funds with closed_since set to the date seven days ago and show me every fund that closed. Group them by country, flag anything above €100M, and tell me which were first, interim or final closes. Then call get_changes with since set to the same date and keep the etag so I can ask again tomorrow without re-reading everything.
Using the Fund Momentum connector: call search_funds with stage pre_seed and country Austria, then pick the three most relevant funds that are actively deploying. For each, call get_fund and tell me their thesis, cheque size and last close, and cite the provenance for anything I might repeat back to them. Use only the slugs search_funds returned.
Using the Fund Momentum connector: I am building climate hardware for industrial heat decarbonisation, pre-seed, based in Europe. Call search_funds with stage pre_seed and industry climate_sustainability and keep only the funds headquartered in Europe. For the three best fits, call get_fund and tell me why each one fits and what I should check before approaching them.
Using the Fund Momentum connector: ask me for my stage, country and sector, then run search_funds and show the 5 most relevant funds with their last close.
Using the Fund Momentum connector: find pre-seed funds headquartered in Austria that are actively deploying. For the three most relevant, pull the full profile and the investor signals, and tell me for each what they say founders get wrong. Start with search_funds and use the slugs it returns.
Using the Fund Momentum connector: I am building climate hardware for industrial heat decarbonisation, pre-seed, based in Europe. Run match_startup, then for the top five pull the GP profiles and tell me who personally to approach and why.
Using the Fund Momentum connector: give me a full briefing on Calm/Storm Ventures before my call. Find the fund with search_funds, then pull the profile, the investor signals and the GP profiles. Tell me their thesis, cheque size, how far into the fund they are, and what they look for. Cite the provenance for anything I might repeat back to them.
N°03 / Tools & closes
Available Tools
Each card below is one specific thing your AI assistant can ask Fund Momentum for. You don't need to memorize these. Once the connector is set up, you just ask in plain language and your assistant picks the right one on its own.
Find tracked VC funds by stage, country and industry, or by recent close with closed_since (newest close first). Returns slugs for get_fund. Works with no key.
One fund's full profile by slug: the latest covered close (type, date, amount as stated, source) and a provenance block with per-field sources. Also carries a free michael_network.has_warm_path signal. Works with no key.
Funds added, updated or with a new published close (close_updated) since a timestamp. Pass back next_since and etag instead of repeating searches. Works with no key over a 7-day window.
Deployment signals and thesis tags for one fund. Included in Pro, or €0.10 per call without a plan.
Backgrounds and track records of a fund's partners. Included in Pro, or €0.10 per call without a plan.
Describe a startup in plain text. Returns the 10 closest fund matches. Included in Pro, or €0.25 per call without a plan.
How many LPs match a country and LP type. Counts only, no names. Also carries a free, suppressed known_warm_path count. Works with no key.
LP records, up to 25 per call, unlimited calls, on the key of an LP Radar account. Each record carries the same free michael_network signal as get_fund. Not sold per call or on credits.
How many calls or credits you have left, your tier, when the window resets and your per-minute limit. Free, no key, and it does not use up your daily calls.
Tell us about a bug, a data problem or a missing feature (max 1000 characters, no personal details of others). Free, no key, 5 per caller per day. Stores one message; nothing else.
Request a warm introduction to a fund or LP when michael_network.has_warm_path is true. Flat €50 per intro, identical to the website's own per-credit price (no bundles, no volume discount, any quantity); no agent discount, and no tier, Free or Pro, ever makes an intro free. Fulfilled personally by Michael Schneider, Founder of Fund Momentum, with no guaranteed outcome. An agent key must be linked to a human account first.
Every parameter, accepted value and error code is in a plain-Markdown reference your assistant can read too: /_api/mcp-tools →
Read-only except send_feedback and request_warm_intro. LP and warm-intro access rules are in the FAQ below.
New closes, pulled or pushed
Fund Momentum reports a new VC fund close roughly every day. Ask your assistant for the latest ones any time, free, on every plan. On every plan we can also push each one to your own system the moment we publish it (50 webhook events a month on Free and Starter (1 webhook subscription), unlimited on Pro and Enterprise.).
Ask for them
Call search_funds with closed_since to list recent closes, newest first.
get_changes flags the same funds as close_updated.
Get them sent
Every newly published close arrives at your HTTPS endpoint as a signed close_updated event, the moment we publish it.
Setup is in the technical section below.
get_fund → last_closeWritten back to the fund record for every close we publish- type
- first, interim, final, or
closed_unspecifiedwhen we can't confirm the stage - date
- the day we reported the close
- amount, currency
- as announced by the fund
- links
- our write-up, and the original press release when we have one
- null
- we haven't covered a close for that fund, not that it hasn't closed
The date
It is the day we reported the close (date_basis: "reported"), not necessarily the day it was signed. closed_since uses the same date and skips launch and target_only entries, so it only returns real closes.
One post, one fund
A post changes only the fund whose vintage it names (no numeral means Fund I), and a post covering several funds never changes a fund's size. Closes seen only on the open web, with no post of ours, are not written to fund records.
Webhooks. Free and Starter keys: 1 webhook subscription, filters allowed, up to 50 delivered events per month (UTC calendar month, counted per key). Pro and Enterprise: up to 5 webhook subscriptions per key, unlimited events. Over the monthly allowance, deliveries pause (the subscription is kept) until the next UTC month starts or you upgrade at https://fundmomentum.vc/pricing; GET /_api/webhooks/list reports delivery_paused_until. Push instead of poll: subscribe an HTTPS endpoint and every newly published close arrives as a signed close_updated event, filterable by stage, country and industry:
The subscribe response includes the signing secret once; it is never shown again. Verify each delivery with its FM-Signature: t=…,v1=… header: v1 is HMAC-SHA256 of "t.body" with that secret, and we recommend rejecting anything older than 5 minutes. Use the FM-Event-Id header to de-duplicate retried deliveries. Respond 2xx within 10 seconds; a failed delivery retries with backoff for about two days before we give up.
Manage subscriptions: subscribe returns a stable subscription_id.
GET /_api/webhooks/list: allowance,delivery_paused_until, subscriptions withevents_this_month, and the last 20 deliveriesPOST /_api/webhooks/test: sends a signed test ping (subscription_id)POST /_api/webhooks/delete: removes a subscription (subscription_idorurl)
Full payload, headers and retry schedule: /_api/mcp-tools →
N°04 / Pricing
Pricing lives on one page
Start with no key: 10 calls a day, no signup. Plans (Free, Starter, Pro, Enterprise), the LP Radar subscription and the per-call prices for autonomous agents are all on fundmomentum.vc/pricing, so there is a single place that is always current.
N°05 / For autonomous agentsoptional · most people can skip this
Building a bot that pays for itself?
Everything above is for a person typing into Claude or ChatGPT. If instead you're writing software that calls this API on its own schedule, with no human approving each step, it can register itself and pay per call in USDC, with no account, no email and no human in the loop.
An autonomous agent can pay for itself. It registers with POST {"agent_name":"..."} to /_api/agent/register and gets a key plus 25 free credits. No email is needed (one can be sent optionally, to make a lost key recoverable).
When credit runs out, a paid tool answers HTTP 402 with a payment challenge. The agent pays it in USDC on Tempo through MPP and sends the call again. It gets the data plus a receipt. No account and no human in the loop.
A timed-out call returns the same challenge on retry. You never pay twice for one call. A wrong slug is rejected before any challenge is issued.
Prices are set in EUR. Per-call prices, credit packs and the card option are on /for-agents and summarised on /pricing. Every response reports matched and truncated. USDC payments are final. No refunds. LP records are not sold per call: search_lps needs an LP Radar subscription on the key (without it the call returns a 403 lp_access_required with a plan link, never a credit 402).
Know the cost before you call. search_funds takes an optional max_credits (1 to 25) that caps the page at that many rows, one credit per fund: it only lowers limit, never raises it, and zero, negative or non-integer values are rejected before any charge. An empty result costs nothing; with fewer credits than the page asks for you get the rows you can afford. To pay inline instead, send an MPP payment credential with the request.
| When | Fields |
|---|---|
| Every response | credits_charged, balance_after, next_page_cost, next_offset, payment_mode (credits, mpp, subscription or keyless), credits_unreturned |
| A short page | adds truncated_reason (max_credits, balance or limit) |
| A 402, not enough credit | required, available, shortfall, top_up.url (application/problem+json over REST, an isError result with structuredContent over MCP) |
Endpoints, the payment flow and the limits in full: fundmomentum.vc/for-agents →
N°06 / FAQ & troubleshooting
Frequently Asked Questions
Troubleshooting
What the server says when a call is refused, word for word. <…> marks a value the server fills in.
The tool needs a Pro key, or a per-call payment from an agent. Nothing has been charged, and the challenge in error.data is for wallets.
"get_fund_signals" is a pro tool. A person can get a key at https://fundmomentum.vc/pricing in a minute, no card for a free one, then add ?api_key=<your key> to the connector URL
Nothing has been charged.
Fix: Add a Pro key to the connector (see "I have a key" above), or let an agent pay the challenge as described on /for-agents.
Keyless callers get 10 calls per UTC day. Keys also have a per-minute pace limit. error_reason is anon_quota_exceeded, anon_ip_ceiling_exceeded or burst_limit.
Keyless daily limit reached: 10 calls without an API key, per caller, per UTC day. It resets at <resets_at>, and retrying before then will keep failing.
Rate limit: <n> calls this minute, over the <n> per minute allowed on the <tier> tier.
Fix: Wait until resets_at (or for the Retry-After seconds), or add an API key. get_usage tells you where you stand and does not count as a call.
search_lps returns LP records and needs an LP Radar subscription on the account behind your key. No payment challenge is attached and nothing is charged.
search_lps returns LP records and requires an LP Radar subscription.
It is not sold per call, on agent credits or on the keyless trial, so no payment challenge is attached and nothing was charged.
Fix: Use check_lp_coverage (free, counts only) to see what is covered, or start LP Radar and call with that account's key.
Slugs cannot be guessed from a fund's name. A wrong slug is refused before any payment (checked_before_payment: true), so it never costs anything.
No fund with slug "<slug>", so there is nothing to charge for. Closest slugs: <slugs>.
Fund Momentum does not carry "<name>". We track <n> actively deploying funds and this is not one of them, under any slug. Searching will not find it.
Fix: Call search_funds first and copy the slug it returns. A single unambiguous near-miss is resolved for you and reported in resolved_from.
Last updated 2026-11-02 · Server version 1.10.0