mcp-funding-investor-record
This server provides one MCP tool, get_company_funding_record, which looks up a company's funding record and returns a flat, source-labeled JSON row.
Query SEC EDGAR Form D filings, UK Companies House details, and press-reported funding coverage by company name/domain.
Choose sources:
all,regulatory,sec_only,uk_only, orpress_only.Control filing lookback windows from 12 to 120 months.
Set a minimum amount threshold so the row shows whether a raise is material, without filtering or changing amounts.
Keep filing and press amounts separate via
source_of_record.Use exact entity matching; near matches go to separate
related_entityfields and are never summed.Optionally supply a Companies House API key; otherwise UK columns report
skipped.Reuse cached successful lookups for seven days or force a fresh fetch with
skipCache.Set a per-run cost cap with
max_charge_usd.Requires an Apify token and consumes Apify credits per call.
Funding Investor Record MCP Server
An MCP server that returns a company funding record from SEC Form D, Companies House and press, each labeled with the source it came from. It wraps the Mamba Labs Funding Record from SEC and Companies House actor on Apify and returns a Clay-ready flat JSON row to any MCP client.
What's Inside
Related MCP server: mcp-company-contact-details-extractor
What it does
Give it a company name and domain and it reads primary sources and returns a funding record: SEC EDGAR Form D amounts, UK Companies House registration details, and press coverage of funding rounds. One flat row per company.
Every number travels with a source_of_record saying whether it came from a legal filing or from a press release, because those are not the same kind of fact and merging them is the defect this tool exists to prevent. Only an exact entity match, after corporate suffixes are stripped, populates an amount. A near match such as a differently named subsidiary goes to separate related_entity columns as a named lead and can never be summed into a total. This is not Crunchbase and not a resold database, so it returns less than a database would and what it returns has a filing behind it.
All of the lookup runs on Apify. This package is a thin client that calls the actor and hands back the result unchanged.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config:
{
"mcpServers": {
"mamba-funding-investor-record": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-funding-investor-record"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. The get_company_funding_record tool will be available.
Prerequisites
Node.js 18 or newer
An Apify account with an API token
Optional: your own Companies House REST API key, free at developer.company-information.service.gov.uk, if you want the UK columns populated
Example prompts
"Get the funding record for Anthropic at anthropic.com."
"Has Notion filed a Form D in the last 24 months? Regulatory sources only."
"Look up funding for this UK company and flag anything above 10 million dollars."
"Show me press reported funding for figma.com and keep it separate from any filing."
Inputs
company_domain(optional): bare company domain, for examplenotion.com. Used to derive a company name when none is given, and carried on the row as the join key.company_name(optional but strongly recommended): every source here is searched by name rather than by domain, and the name is what the entity gate compares a filing against. A wrong or missing name is the largest source of wrong rows.sources(optional): which sources to query. One ofall,regulatory,sec_only,uk_onlyorpress_only. Regulatory sources are filings and are authoritative; press is the most recent and least verified. Chooseregulatorywhen a number has to be defensible andallwhen recency matters more.lookbackMonths(optional): how far back to consider a filing. One of12,24,36,60or120, with 36 months the default. A Form D from six years ago is a real filing and usually not a current signal, and this is where you say which you mean.minAmountUsd(optional): one ofnone,1000000,5000000,10000000or50000000. It setsamount_meets_thresholdon the row so you can filter to material raises without writing the comparison yourself. It never drops a row and never changes the amount returned.companiesHouseApiKey(optional): your own Companies House REST API key, free at developer.company-information.service.gov.uk. Without one the UK columns reportskippedrather than guessing, and the SEC and press sources still run.skipCache(optional): when false (the default) a successful lookup is cached for seven days and reused. Set true to force a fresh fetch.max_charge_usd(optional): a cost cap in USD for this run. The actor stops before an item that could take its charges past this amount. Omit it to rely on the maximum cost per run set in Apify.
Output
The tool returns the actor's flat JSON row for the company, with 32 snake_case fields and no nested objects. source_of_record says where a number came from, form_d_entity_match and uk_entity_match record how strict the entity match was, and filings_rejected counts what the entity gate turned away. See the Apify Store page for the full output schema.
Example output
{
"degraded": false,
"degradation_reason": null,
"company_domain": "anthropic.com",
"company_name": "Anthropic",
"source_of_record": "multiple",
"form_d_filed": true,
"form_d_date": "2026-06-01",
"form_d_entity_name": "WU Anthropic LP",
"form_d_entity_match": "exact",
"form_d_accession": "0002109576-26-000001",
"filings_rejected": 56,
"uk_company_number": "14604577",
"uk_company_name": "ANTHROPIC LIMITED",
"uk_company_status": "active",
"uk_entity_match": "exact",
"uk_incorporation_date": "2023-01-19",
"press_amount": 65000000000,
"press_currency": "$",
"press_url": "https://techcrunch.com/2026/05/28/anthropic-raises-65-billion-nears-1t-valuation-ahead-of-ipo/",
"related_entity_name": null,
"amount_meets_threshold": null,
"sources_queried": "sec_form_d, companies_house, press",
"coverage": 0.9,
"fetch_status": "ok",
"run_date": "2026-08-23T09:56:16.906Z"
}Features
SEC Form D filings, returned with the accession number
UK Companies House registration details, with your own key
Press coverage labeled as press and never merged with a filing
Primary sources only, not a resold database
Entity identity gate, so a near name match is rejected and recorded
Rejection accounting in
filings_rejectedandrelated_entity_note32 flat snake_case fields, one row per company
Pricing
Price per event on the Apify FREE plan, from the live pricing record; paid Apify plans pay less per event.
Event | Price (USD) |
Actor Start ( | 0.00005 |
Company checked ( | 0.0045 |
Filing found ( | 0.006 |
Press signal found ( | 0.004 |
Full actor documentation
This server is a thin client and holds no lookup logic. For the complete input and output reference, pricing, and run history, see the Apify Store page:
https://apify.com/mambalabs/funding-investor-record
Mamba Labs GTM Suite
This server is one of the Mamba Labs GTM Suite MCP servers. Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything. The actor behind this server is the Funding Record from SEC and Companies House, immutable Apify actor ID OFS4Mt1gyYNtGfUbE.
Built by Mamba Labs | npm | Apify Store
License
MIT
Built by Mamba Labs. https://apify.com/mambalabs
Available Tools
1 toolget_company_funding_recordGet Company Funding RecordAIdempotent
Return a company's funding record from PRIMARY sources: SEC EDGAR Form D filings, UK Companies House registrations and press coverage. Returns one flat Clay ready row in which every number carries a source_of_record saying whether it came from a legal filing or a press release, because those are not the same kind of fact and merging them is the defect this tool exists to prevent. Only an EXACT entity match after corporate suffixes are stripped populates an amount; a near match such as a differently named subsidiary goes to separate related_entity columns as a named lead and can never be summed into a total. Not Crunchbase and not a resold database. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | Which sources to query. Regulatory sources are filings and are authoritative; press is the most recent and least verified. Choose "regulatory" when a number has to be defensible and "all" when recency matters more. | |
| skipCache | No | When false (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set true to force a fresh fetch. | |
| company_name | No | Strongly recommended here. Every source in this actor is searched by NAME, not by domain, and the name is what the entity gate compares a filing against. A wrong or missing name is the single largest source of wrong rows. | |
| minAmountUsd | No | Sets amount_meets_threshold on the row so you can filter to material raises without writing the comparison yourself. It never drops a row and never changes the amount returned. | |
| company_domain | No | Bare company domain, for example notion.com. Used to derive a company name when none is given, and carried on the row as the join key. | |
| lookbackMonths | No | How far back to consider a filing. 36 months by default. A Form D from six years ago is a real filing and usually not a current signal, and this is where you say which you mean. | |
| max_charge_usd | No | Optional. The run stops before any charge that would take this run past this amount, delivers every company row already charged, and processes no more companies. Leave empty to rely only on the maximum cost per run set in Apify, which the actor also honors. | |
| companiesHouseApiKey | No | YOUR OWN Companies House REST API key, free at developer.company-information.service.gov.uk. OPTIONAL: without one the UK columns report skipped rather than guessing, and the SEC and press sources still run. A key passed here travels in the tool call and stays in the chat transcript, so prefer setting COMPANIES_HOUSE_API_KEY in this server's environment: when this argument is omitted the server sends that variable instead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context the annotations cannot: an APIFY_TOKEN is required, each call consumes Apify credits, and the entity gate can silently prevent an amount from populating. Notably, the tool is described as 'Read only' yet readOnlyHint=false — but the same sentence discloses why (credit consumption per call), so the agent understands the side effect rather than being misled.
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-loads the core return shape, then qualifies it with the source_of_record and exact-match rules — good ordering. Some sentences carry rhetorical flourish ('merging them is the defect this tool exists to prevent') and heavy ALL-CAPS emphasis that could be trimmed without losing information.
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 no output schema, the description takes on return-value duty and does it: one flat Clay-ready row, per-number source_of_record, amount_meets_threshold, and separate related_entity columns for non-exact matches. Auth requirements and credit cost are also covered, leaving nothing essential unexplained for an 8-parameter open-world tool.
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 already 100%, so the baseline is 3, but the description adds conceptual weight: it explains why company_name is the decisive input (the name, not the domain, is what the entity gate compares) and that a near-match never gets summed into a total. That framing makes the parameters' consequences clearer than the schema alone.
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?
Opening sentence names a specific verb+resource (return a company's funding record) and enumerates the exact sources (SEC EDGAR Form D, UK Companies House, press). It goes further by stating the defining constraint — every number carries a source_of_record — and what the tool is not ('Not Crunchbase and not a resold database'), which makes it unmistakable.
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?
Gives usable selection conditions: exact-match vs near-match routing ('a near match ... goes to separate related_entity columns as a named lead'), and the source trade-off is spelled out both here and in the schema (regulatory for defensible numbers, all for recency). It lacks an explicit 'do not use when you just need X' statement, but with no siblings to disambiguate against, the guidance is clear.
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.1.1- Changed
get_company_funding_record8 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / companiesHouseApiKey / descriptionPrevious value: -"YOUR OWN Companies House REST API key, free at developer.company-information.service.gov.uk. OPTIONAL: without one the UK columns report skipped rather than guessing, and the SEC and press sources still run. Marked secret, so the value never renders on this page."New value: +"YOUR OWN Companies House REST API key, free at developer.company-information.service.gov.uk. OPTIONAL: without one the UK columns report skipped rather than guessing, and the SEC and press sources still run. A key passed here travels in the tool call and stays in the chat transcript, so prefer setting COMPANIES_HOUSE_API_KEY in this server's environment: when this argument is omitted the server sends that variable instead." - changed
Input schema / properties / lookbackMonths / descriptionPrevious value: -"How far back to consider a filing. 36 months by default. A Form D from six years ago is a real filing and usually not a current signal, and this is where you say which you mean. Sent as a string for Clay compatibility."New value: +"How far back to consider a filing. 36 months by default. A Form D from six years ago is a real filing and usually not a current signal, and this is where you say which you mean." - added
Input schema / properties / max_charge_usdAdded value: +{ + "description": "Optional. The run stops before any charge that would take this run past this amount, delivers every company row already charged, and processes no more companies. Leave empty to rely only on the maximum cost per run set in Apify, which the actor also honors.", + "minimum": 0, + "type": "number" +} - changed
Input schema / properties / minAmountUsd / descriptionPrevious value: -"Sets amount_meets_threshold on the row so you can filter to material raises without writing the comparison yourself. It never drops a row and never changes the amount returned. Sent as a string for Clay compatibility."New value: +"Sets amount_meets_threshold on the row so you can filter to material raises without writing the comparison yourself. It never drops a row and never changes the amount returned." - changed
Input schema / properties / minAmountUsd / enumPrevious value: -[ - "none", - "1000000", - "5000000", - "10000000", - "50000000" -]New value: +[ + "1000000", + "5000000", + "10000000", + "50000000", + "none" +] - changed
Input schema / properties / skipCache / descriptionPrevious value: -"When \"false\" (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set \"true\" to force a fresh fetch. Sent as a string for Clay compatibility."New value: +"When false (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set true to force a fresh fetch." - changed
Input schema / properties / sources / descriptionPrevious value: -"Which sources to query. Regulatory sources are filings and are authoritative; press is the most recent and least verified. Choose \"regulatory\" when a number has to be defensible and \"all\" when recency matters more. Sent as a string for Clay compatibility."New value: +"Which sources to query. Regulatory sources are filings and are authoritative; press is the most recent and least verified. Choose \"regulatory\" when a number has to be defensible and \"all\" when recency matters more."
1 tool update
v1.0.0- First observed
get_company_funding_record
TDQS
Scored across 1 tool
With only one tool there is no possibility of misselection; the tool's purpose (returning a sourced company funding record) is stated unambiguously in its description.
The single name get_company_funding_record follows a clear verb_noun snake_case pattern that would generalize well if more tools were added.
One tool is thin for a server, but the scope is deliberately narrow (a single read-only lookup with a defined output schema), so a minimal surface is defensible rather than a mismatch.
For a read-only funding lookup the single operation covers the stated lifecycle end-to-end, including source attribution and exact-match rules; no create/update is expected since the domain is external public records.
Maintenance
Related MCP Connectors
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
Hosted MCP server for SEC, FRED, Polymarket, Deribit, OKX, and FMP.
Marketplace MCP server for live venture-capital raises and agent-mediated dealflow.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for the Mamba Labs People Finder & Email Verifier actor on Apify. Give it a company domain, name or LinkedIn URL and it returns the people at that company who match your role, seniority and department filters, each as a structured contact record with an optional verified business email.165 npmMIT
- AlicenseAqualityAmaintenanceMCP server for the Mamba Labs Company Contact Details Extractor actor on Apify. Find a company contact page and extract role emails, a phone number and a postal address.164 npmMIT
- AlicenseAqualityAmaintenanceMCP server for the Mamba Labs GitHub Organization Signal Scanner actor on Apify. Resolve a company domain to its GitHub organization with repo, language and activity signals.186 npmMIT
- AlicenseAqualityAmaintenanceMCP server for the Mamba Labs Website Traffic Rank Estimator actor on Apify. Get a research grade Tranco popularity rank and trend for any company domain.176 npmMIT