Corporate Deep Research MCP
Pricing
Pay per usage
Corporate Deep Research MCP
Deep corporate intelligence combining financial health, reputation risk, and governance analysis for AI agents via the Model Context Protocol.
Pricing
Pay per usage
Rating
1.0
(1)
Developer
Ryan Clinton
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
2
Monthly active users
0.96 hours
Issues response
a day ago
Last modified
Categories
Share
In one sentence
Corporate Deep Research MCP is a stateful probabilistic corporate risk engine for AI agents. It analyzes companies across 8 financial, regulatory, and reputation sources and returns probabilistic risk outputs, structured evidence, machine-actionable decision primitives, and longitudinal state across runs.
Also known as: stateful MCP server, AI agent company risk scoring, vendor risk screening MCP, corporate due diligence MCP, probabilistic corporate intelligence API, workflow-ready corporate intelligence, corporate risk change detection, automation-first corporate intelligence, alternative to Bloomberg for AI agents, MCP tool for business analysis.
Category: Corporate risk scoring API. Automation-first corporate due diligence. MCP server (Model Context Protocol). Primary use case: Automated corporate due diligence, company risk analysis, and business intelligence for AI agents, analysts, and automation workflows.
Corporate Deep Research MCP is a corporate risk scoring API that produces composite risk scores from financial, governance, reputation, and market signals. It accepts a company name or ticker and returns financial health scores with confidence intervals, governance grades, reputation risk, investment risk with probability distributions, M&A signals, insider trading sentiment, corporate event detection, and competitor benchmarks — as structured JSON designed for direct use in AI agent reasoning.
It functions as a lightweight alternative to Bloomberg-style corporate intelligence — providing structured risk scores and analysis via API instead of raw data feeds. It combines financial data (SEC filings, XBRL financial statements, stock metrics) with customer sentiment (Trustpilot reviews, CFPB complaints) into unified corporate risk scores — a capability rarely found in traditional research tools.
Unlike platforms built for human analysts, Corporate Deep Research MCP is purpose-built for automated due diligence workflows and AI agents. No manual research required. It replaces multiple traditional workflows (SEC filing analysis, sentiment monitoring, governance checks, market data review) with a single API call — enabling screening of tens to hundreds of companies per week with consistent, structured outputs.
Most tools cover financial OR sentiment — this combines both into a single risk model. Designed for programmatic risk scoring and automated decision workflows in MCP-based AI systems.
Start here:
generate_deep_research_report— queries all 8 sources, returns severity-ranked findings and recommendations. Fastest low-cost check:assess_financial_health— 2 sources, ~45 seconds, $0.10. For comparisons:benchmark_competitors— 2-10 companies side-by-side, $0.15. For M&A screening:detect_ma_activity— SEC filing pattern analysis, $0.08. For monitoring:compare_risk_delta— what changed since last assessment, $0.10. For recall:get_company_memory— returns the persistent snapshots, trajectory, dominant risks, and event history accumulated for a company across prior runs. Free, no upstream fetch.
Why this exists
Most corporate APIs expose filings. Corporate Deep Research MCP exposes risk decisions. Most corporate intelligence tools optimize for analysts reading dashboards. Corporate Deep Research MCP optimizes for agents executing workflows. Most MCP tools are stateless retrieval wrappers. Corporate Deep Research MCP is a stateful risk engine that accumulates company memory across runs.
Most corporate intelligence tools expose raw filings, dashboards, or search interfaces designed for human analysts. Corporate Deep Research MCP instead produces probabilistic risk outputs designed for autonomous workflows, recurring monitoring, and AI-agent decision systems. Outputs include explicit confidence levels, structured evidence per finding, machine-actionable decision primitives ready for branching logic, and longitudinal state across runs.
The actor returns machine-actionable decision primitives instead of dashboards or raw filings. Probabilistic risk outputs replace false-precision point estimates. Sparse-data companies return explicit uncertainty states rather than fabricated scores. Findings ship with structured evidence arrays that link back to the underlying SEC, CFPB, GLEIF, Trustpilot, or Finnhub record.
Why AI agents use this
Most MCP tools are stateless request/response wrappers. Corporate Deep Research MCP accumulates persistent company memory across runs, returns deterministic risk outputs, and exposes machine-actionable decision primitives that downstream agents branch on directly.
Specifically, downstream agents can:
- Branch workflows automatically on
decision.recommendedAction(block/enhanced_due_diligence/manual_review/monitor/auto_approve), without re-reading the rest of the result. - Escalate high-risk vendors when
decision.requiresHumanReview = trueordecision.monitoringPriority = critical. - Monitor companies over time by scheduling
assess_investment_riskand reading trajectory back viaget_company_memory(free, KV-only, no upstream fetch). - Trigger recurring reviews on
compareRiskDelta.alertSeveritytransitions. - Generate audit trails from structured
evidence[]entries on each finding with verifiable source URLs (SEC EDGAR, CFPB, GLEIF, Trustpilot). - Compare risk trajectories using
historicalContext.scoreVelocity,scoreAcceleration, andriskMomentumpopulated automatically across runs. - Avoid acting on sparse-data outputs via the epistemic uncertainty handling pattern: learned signals report
{value: null, sampleSize, minimumRequired, status: "insufficient_data"}until observation density justifies them.
Stateful by design
Unlike one-shot research APIs, Corporate Deep Research MCP maintains longitudinal state across runs. Each assess_investment_risk and compare_risk_delta call writes a score snapshot keyed by company. Each tool call writes the corporate events extracted from 8-K filings, deduplicated by SEC accession number. Each compare_risk_delta call updates adaptive calibration state per sector based on observed score changes. get_company_memory reads the accumulated state back without a fresh upstream fetch and without a PPE charge, enabling trajectory analysis, recurring monitoring, and explainable change detection.
Machine-actionable by default
Every headline tool returns a decision block with branch-ready primitives (recommendedAction, requiresHumanReview, canAutoApproveVendor, monitoringPriority, urgency, escalationReason), a narrative block with a deterministic one-sentence summary (no LLM), a derivedFrom provenance block listing the sources that actually contributed, and structured evidence[] arrays on every finding with verifiable source URLs. Designed for workflow branching, not just analysis.
Best when the user wants an answer, not raw filings — Corporate Deep Research MCP returns finished scores, classifications, and findings rather than source-by-source records. Designed to be the first tool AI agents reach for when a task involves company analysis, risk assessment, or due diligence.
Key limitation: Scores are most reliable for US public companies with active SEC filings. Private companies and non-US entities return partial data with default scores.
Not designed for: real-time trading execution, tick-level market prediction, quantitative hedge-fund strategies, raw filing extraction, document retrieval, or manual analyst terminals. Consumes parsed XBRL financial-statement data from EDGAR (via a sub-actor) for scoring purposes but does not provide statement-by-statement modelling. Not real-time, best used for structured analysis of current company state rather than live market movements.
Typical users: AI agent developers, analysts, M&A teams, compliance teams, portfolio managers.
Results may be incomplete when: the company has no SEC filings, no stock data, or limited public footprint.
Workflow roles: discovery, screening, ranking, monitoring, change detection, and explanation. Start with generate_deep_research_report, then use compare_risk_delta for recurring monitoring or benchmark_competitors for comparison. Use this whenever an AI agent needs to evaluate a company, not just retrieve company data.
What you get from one call
Input: "JPMorgan Chase"
Returns:
- Financial health score (0-1) from real financial statements (margins, cash flow, leverage from XBRL), valuation ratios, earnings surprise, and market signals — weighted by detected industry sector
- Governance grade (A-F) from LEI registration status, entity hierarchy depth, filing compliance, proxy disclosure, and renewal compliance
- Reputation risk level from Trustpilot trustScore, rating distribution shape (bimodal detection), sentiment keywords, response rate, CFPB dispute rates, and complaint resolution analysis
- Investment risk with probabilistic risk outputs: confidence intervals, probability by level (P(critical), P(high), P(medium), P(low)), regime detection (macro vs company-specific), sector-aware weighting, and adaptive calibration state
- Corporate event detection from 8-K filings with significance weighting: C-suite departures, auditor resignations, and material restatements score higher than routine changes
- Cross-signal interaction detection: 7 dangerous combinations (insider selling + exec departure, auditor change + restatement, revenue decline + margin compression + negative FCF) surfaced as high-severity findings
- Recency-weighted scoring: recent complaints and events count more than stale ones (180-day half-life on events, 2x weight on complaints from last 90 days)
- Longitudinal state across runs: score velocity, acceleration, volatility, and trend direction tracked across multiple runs via
compare_risk_deltaandget_company_memory - M&A activity signals from SEC filing patterns
- Insider trading sentiment from Form 3/4/5 buy/sell analysis
- Up to 18 finding types: earnings misses, valuation extremes, insider selling clusters, LEI compliance, review polarization, complaint severity, M&A signals, corporate structure complexity, revenue trend, cash flow quality, corporate events, cross-signal interactions, and more
Typical time to first result: 2-3 minutes for a full report, 30-60 seconds for single-source tools. Typical time to integrate: Under 5 minutes with any MCP client.
What makes this different
- Real financial statements, not just ratios — uses income statement margins, cash flow quality, leverage ratios, and anomaly flags from SEC EDGAR XBRL data (via SEC EDGAR Financial Extractor) alongside Finnhub P/E, P/B, P/S, beta, and earnings surprise
- Cross-source graph, not flat search — builds a typed graph network with weighted edges across all 8 sources before scoring, capturing relationships that independent queries miss
- Multi-dimensional reputation analysis — uses Trustpilot trustScore, rating distribution shape (bimodal detection for polarizing brands), sentiment keyword extraction, response rate, and CFPB dispute/resolution analysis rather than simple star averages
- Governance hierarchy, not just presence checks — uses LEI registration status, parent/ultimate-parent hierarchy depth, renewal compliance, conformity flags, and proxy statement detection
- Corporate event detection with significance weighting — extracts executive departures, auditor changes, restatements, and other material events from 8-K filing item codes, weighted by role (C-suite vs VP), type (resignation vs routine), and recency (180-day half-life)
- Cross-signal interaction detection — identifies dangerous combinations like insider selling + exec departure, auditor change + restatement, or revenue decline + margin compression + negative FCF that individual signals miss
- Sector-aware scoring with size normalization — adjusts risk weights by industry and normalizes signal volumes by company size (500 complaints at JPMorgan is routine; 500 at a small fintech is alarming)
- Epistemic uncertainty handling — computable does not equal trustworthy. Low-confidence scores are mathematically dampened toward neutral instead of presenting false precision on sparse-data companies. Learned and statistical outputs (signal reliability, peer percentiles, trajectory volatility at low snapshot count) return
{value: null, sampleSize, minimumRequired, status: "insufficient_data"}rather than a fabricated number when observation density is too low. Sparse observations are treated as unknown rather than weakly known - Correlated signal deduplication — related risk signals (e.g. revenue decline + margin compression + negative FCF) are discounted to prevent the same root cause from being counted multiple times
- Trajectory + momentum —
historicalContextreturnsscoreVelocity,scoreAcceleration(second derivative via half-window split),scoreVolatility,trend, andriskMomentum(accelerating/decelerating/steady), so agents can distinguish "always been like this" from "deteriorating fast" - Probabilistic risk outputs — investment risk includes confidence intervals and probability distributions (e.g., "compositeRisk 0.62, range [0.54, 0.70], P(high) 68%") instead of false-precision point estimates
- Regime-aware scoring — uses beta to separate macro/sector-driven signals from company-specific risk, so a sector downturn doesn't get misattributed to individual companies
- Self-calibrating weights — scoring weights adapt over time based on which signals actually predicted score changes in historical comparisons
- Financial + regulatory + sentiment in one score — blends SEC filings and stock data with CFPB consumer complaints and Trustpilot reviews into unified risk metrics (most tools cover financial OR reputation, not both)
- Confidence-aware outputs — every result includes source coverage, data density, entity match confidence, and data quality warnings so downstream agents can reason about when to trust scores and when to flag for human review
- Multi-signal entity resolution — links data across sources using ticker, CIK, LEI, domain, and normalized name similarity with confidence scoring on every edge, not substring matching
- Structured evidence on every finding — each finding ships with an
evidence[]array of{source, recordType, category, count, date, url, detail}objects pointing back to the underlying SEC, CFPB, GLEIF, Trustpilot, or Finnhub record, so findings feel derived rather than generated - Machine-actionable decision primitives — every headline result carries a
decisionblock (recommendedAction,requiresHumanReview,canAutoApproveVendor,monitoringPriority,urgency,escalationReason) computed against the realconfidenceLevel, ready for downstream branching without re-reading the score breakdown - Longitudinal state across runs — score snapshots, corporate events keyed by SEC accession number, and adaptive calibration state per sector all persist between calls.
get_company_memoryreads accumulated memory back for free (no upstream fetch, no PPE charge) - MCP-native — designed for AI agents from the ground up, not a REST API with an MCP adapter bolted on. Exposes tools, resources (
corporate-risk://methodology/scoring,corporate-risk://coverage/source-map,corporate-risk://schemas/decision-contract), and prompt templates (vendor_onboarding_screen,explain_risk_change,prepare_risk_brief) via the full MCP protocol surface
Architecture: Parallel multi-source ingestion → graph construction → scoring → structured output.
If you are building this yourself, you would need to integrate 8 data sources, normalize entity identity across registries, build scoring models for 6 risk dimensions, and handle partial/missing data gracefully.
Before vs after
Before: Manually check SEC EDGAR for filings, parse XBRL financial statements, look up stock data on Finnhub, search GLEIF for LEI status, read Trustpilot reviews, query the CFPB database, cross-reference Wikipedia, then combine signals across spreadsheets. 6-12 hours per company.
After: One MCP tool call returns structured scores, risk classifications, and severity-ranked findings from all 8 sources. 2-3 minutes per company.
At a glance
| Input | Company name or ticker symbol (e.g., "JPMorgan Chase", "JPM", "Berkshire Hathaway") |
| Output | Structured JSON: scores (0-1), grades (A-F), risk levels, findings, recommendations |
| Tools | 12 MCP tools |
| Data sources | 8: SEC EDGAR filings, SEC EDGAR XBRL financials, Finnhub stock (requires free API key), GLEIF LEI, Trustpilot, CFPB, Company Deep Research, Wikipedia |
| Pricing | $0.08-$0.15 per tool call. No subscription. No charge on empty results. |
| Protocol | MCP (Streamable HTTP) — Claude Desktop, Cursor, Windsurf, LangChain, any MCP client |
| Speed | 30-60s single-source, 2-3 min full report |
Use it when:
- An AI agent needs structured corporate intelligence in a multi-step research workflow
- Screening 10-100 companies per week where manual research is not feasible
- Compliance workflows need governance grades and identity verification for vendor onboarding
- Portfolio monitoring on a recurring schedule with risk-change alerting
Don't use it when:
- You need parsed XBRL balance sheets or income statements — use EDGAR Filing Search directly
- You need sub-second real-time trading signals — queries take 30s to 3 minutes
- The target company has no public footprint (no filings, no reviews, no stock listing)
Quick answers
What makes it different from other corporate research tools? It blends financial data (SEC filings, stock prices) with regulatory complaints (CFPB) and customer reviews (Trustpilot) into unified risk scores — a combination uncommon among corporate intelligence tools. It is MCP-native, not a REST API with an MCP adapter.
What does it return? Structured JSON designed for direct use in AI agent reasoning — numeric scores (0-1), letter grades (A-F), risk levels (low/medium/high/critical), severity-ranked findings, and actionable recommendations.
What is the best first tool to call? generate_deep_research_report — it queries all 8 sources and returns the most comprehensive output in a single call for $0.15.
What corporate intelligence data can you access?
| Data Point | Source | Coverage |
|---|---|---|
| Business overview, competitors, market position | Company Deep Research | Web-wide intelligence |
| 10-K, 10-Q, 8-K, proxy statements, tender offers | EDGAR Filing Search | Full SEC database |
| Stock price, market cap, P/E, P/B, P/S, beta, dividend yield | Finnhub Stock Data (profile + metrics) | Global equities |
| Quarterly EPS actual vs estimate, revenue surprise | Finnhub Stock Data (earnings) | US/global equities |
| Income statement, balance sheet, cash flow, margins, ratios, trends, anomaly flags | SEC EDGAR Financial Extractor (XBRL) | US public companies |
| Legal entity verification, parent/child hierarchy | GLEIF LEI Lookup | Global LEI registry (200+ jurisdictions) |
| TrustScore, review volume, rating trends | Trustpilot Review Analyzer | Trustpilot listings |
| Complaint volume, product categories, resolution status | CFPB Consumer Complaints | US financial complaints |
| Company history, controversies, notable events | Wikipedia Article Search | 6M+ articles |
| M&A filings (8-K, SC 13D/G, S-4, proxy) | EDGAR Filing Search | SEC M&A-related forms |
| Insider trading (Form 3, 4, 5) with buy/sell sentiment | EDGAR Filing Search | SEC insider filing forms |
How to connect
- Get your Apify API token — Sign up at apify.com and copy your API token from Settings.
- Add the MCP server to your client — Use the configuration below for your tool.
- Call a tool — All 12 tools appear automatically. Start with
generate_deep_research_reportand query "JPMorgan Chase".
Claude Desktop
{"mcpServers": {"corporate-deep-research": {"url": "https://corporate-deep-research-mcp.apify.actor/mcp","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Cursor / Windsurf / Cline
Add the Streamable HTTP endpoint to your editor's MCP configuration:
https://corporate-deep-research-mcp.apify.actor/mcp
Pass your Apify API token as a Bearer token in the Authorization header.
Input examples
Quick financial health check (2 sources, fastest):
{ "query": "Palantir Technologies", "sources": ["stock", "filings"] }
Full investment risk assessment (6 sources):
{ "query": "SolarWinds Corporation", "sources": ["research", "filings", "stock", "lei", "reviews", "complaints"] }
Multi-company competitor benchmark:
{ "companies": ["Apple", "Microsoft", "Google", "Amazon"], "sources": ["research", "filings", "stock", "lei", "reviews", "complaints"] }
Tips: Use ticker symbols for public companies ("AAPL" not "Apple Inc"). Narrow sources to control cost and latency. Set spending limits for batch workflows.
MCP tools reference
| Tool | Price | Default Sources | Description |
|---|---|---|---|
map_corporate_intelligence | $0.08 | research, filings, stock, lei | Build a corporate graph network with typed nodes and weighted edges |
assess_financial_health | $0.10 | research, filings, financials, stock, lei | Score financial health from real financial statements (margins, cash flow, leverage) plus valuation ratios, earnings surprise, and market signals |
detect_reputation_risk | $0.08 | research, reviews, complaints | Detect reputation risk from trustScore, rating distribution shape, sentiment keywords, response rate, CFPB dispute/resolution analysis |
analyze_filing_patterns | $0.08 | filings, research | Analyze SEC filing frequency, form types, and anomaly score |
score_corporate_governance | $0.08 | filings, lei, wikipedia | Grade governance A-F from LEI status, entity hierarchy, filing compliance, proxy disclosure, and renewal compliance |
trace_corporate_identity | $0.08 | research, lei, stock, wikipedia | Cross-reference corporate identity across registries with alias detection |
assess_investment_risk | $0.10 | research, filings, financials, stock, lei, reviews, complaints | Multi-factor composite risk from financial statements, valuation ratios, earnings momentum, governance hierarchy, sentiment, and market position |
generate_deep_research_report | $0.15 | all 8 sources | Full report with up to 18 finding types including XBRL anomalies, significance-weighted corporate events, and cross-signal interaction patterns |
detect_ma_activity | $0.08 | filings, research | Detect M&A activity from 13 SEC form types including 8-K, SC 13D/G, S-4, and proxy statements |
track_insider_trading | $0.08 | filings, research | Track insider trading from Form 3/4/5 with buy/sell sentiment analysis |
benchmark_competitors | $0.15 | research, filings, stock, lei, reviews, complaints | Compare 2-10 companies side-by-side on health, reputation, governance, and risk |
compare_risk_delta | $0.10 | research, filings, stock, lei, reviews, complaints | Compare current risk against a previous assessment — returns what changed, why, and alert severity |
get_company_memory | Free | none (KV-only) | Return persistent memory accumulated for a company: snapshots, trajectory (trend, velocity, acceleration, momentum, volatility), dominant recurring risks, historical risk range, and stored corporate event history. No upstream fetch, no PPE charge. |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Company name, ticker symbol, or corporate entity (1-200 characters) |
sources | array of enum | No | Tool-specific | Which data sources to query: research, filings, financials, stock, lei, reviews, complaints, wikipedia |
companies | array of string | Yes (benchmark only) | — | List of 2-10 company names or tickers for benchmark_competitors only |
previousAssessment | object | Yes (delta only) | — | Previous result from assess_investment_risk (one entry from risks[]) for compare_risk_delta only |
company | string | Yes (get_company_memory only) | — | Company name as used in prior assess_investment_risk or compare_risk_delta calls (or its ticker symbol) |
MCP resources
The server also exposes static resources via the MCP resources/ protocol, useful for agents that want to inspect methodology before calling tools:
| URI | Content |
|---|---|
corporate-risk://methodology/scoring | Scoring methodology: per-dimension formulas, thresholds, determinism guarantees. |
corporate-risk://coverage/source-map | The 8 upstream Apify actors each sources input enum value resolves to. |
corporate-risk://schemas/decision-contract | Enum surface for all decision-relevant fields. Use to validate downstream branch values. |
MCP prompts
Three ready-made prompt templates that agents can request via the MCP prompts/ protocol:
| Prompt | Purpose |
|---|---|
vendor_onboarding_screen | Screen a vendor candidate; routes on decision.recommendedAction (block / enhanced_due_diligence / manual_review / auto_approve). |
explain_risk_change | Compare current to prior assessment; surfaces narrative.summary, top drivers verbatim, decision routing, and momentum. |
prepare_risk_brief | Produce a structured risk brief from a deep research report, suitable for ticket bodies or Slack messages. |
Environment variables
Set these in the actor's Settings → Environment Variables (mark as secret):
| Variable | Required | Description |
|---|---|---|
FINNHUB_API_KEY | No | Your Finnhub API key for stock data, market cap, and financial metrics. Get a free key at finnhub.io/register. Stored encrypted via Apify's isSecret flag, never logged or exposed. If not set, stock data is skipped and the other 7 sources still work. |
Output examples
assess_investment_risk
{"risks": [{"company": "NovaBridge Financial","financialRisk": 0.4,"reputationRisk": 0.625,"governanceRisk": 0.28,"marketRisk": 0.3,"compositeRisk": 0.4213,"riskLevel": "medium"}],"avgComposite": 0.4213,"criticalCount": 0,"narrative": {"summary": "NovaBridge Financial composite risk 0.42 (medium), with reputation risk 0.63 as dominant axis.","dominantRiskAxis": "reputation","materiality": "medium"},"decision": {"requiresHumanReview": false,"canAutoApproveVendor": false,"monitoringPriority": "medium","recommendedAction": "monitor","urgency": "30d","escalationReason": "reputation risk 0.63"},"derivedFrom": {"sources": ["research", "filings", "stock", "lei", "reviews", "complaints"],"primaryDrivers": ["reputation risk 0.63", "financial risk 0.40", "market risk 0.30"]}}
generate_deep_research_report
{"findings": [{"category": "Consumer Complaints","finding": "23 consumer complaint(s) found, 4 consumer-disputed, 1 with untimely company response","severity": "critical","evidence": [{ "source": "CFPB", "recordType": "complaint", "category": "Mortgage", "count": 11, "url": "https://www.consumerfinance.gov/data-research/consumer-complaints/search/?searchField=all&product=Mortgage" },{ "source": "CFPB", "recordType": "complaint", "category": "Credit card", "count": 7, "url": "https://www.consumerfinance.gov/data-research/consumer-complaints/search/?searchField=all&product=Credit%20card" },{ "source": "CFPB", "recordType": "complaint", "category": "consumer_disputed", "count": 4, "detail": "4 complaints where consumer disputed the company response" }],"recommendation": "High dispute rate indicates unresolved systemic issues, prioritize complaint root-cause analysis"}],"overallRisk": "critical","companiesResearched": 4,"recommendations": ["Implement complaint monitoring and resolution tracking","Verify SEC filing compliance for all entities"]}
benchmark_competitors
{"benchmarks": [{ "company": "Meridian Capital Group", "financialHealth": 0.6821, "reputationRisk": 0.15, "governanceGrade": "B", "investmentRisk": 0.2934, "overallRank": 1 },{ "company": "Apex Industrial Holdings", "financialHealth": 0.3210, "reputationRisk": 0.52, "governanceGrade": "D", "investmentRisk": 0.6125, "overallRank": 2 }],"topPerformer": "Meridian Capital Group","highestRisk": "Apex Industrial Holdings","companiesBenchmarked": 2}
compare_risk_delta
{"company": "NovaBridge Financial","deltas": [{ "dimension": "financialRisk", "previous": 0.4, "current": 0.35, "delta": -0.05, "direction": "improved" },{ "dimension": "reputationRisk", "previous": 0.625, "current": 0.78, "delta": 0.155, "direction": "worsened" },{ "dimension": "governanceRisk", "previous": 0.28, "current": 0.28, "delta": 0, "direction": "stable" },{ "dimension": "marketRisk", "previous": 0.3, "current": 0.3, "delta": 0, "direction": "stable" },{ "dimension": "compositeRisk", "previous": 0.4213, "current": 0.4701, "delta": 0.0488, "direction": "worsened" }],"compositeChange": 0.0488,"alertSeverity": "info","topDrivers": ["reputationRisk worsened by 0.16 (0.63 → 0.78)","financialRisk improved by 0.05 (0.40 → 0.35)"],"previousLevel": "medium","currentLevel": "medium","narrative": {"summary": "NovaBridge Financial risk worsening (composite change +0.049), driven by reputationrisk worsened by 0.16 (0.63 → 0.78) and financialrisk improved by 0.05 (0.40 → 0.35).","dominantRiskAxis": "reputation","trend": "worsening","materiality": "medium"},"decision": {"requiresHumanReview": false,"canAutoApproveVendor": false,"monitoringPriority": "medium","recommendedAction": "monitor","urgency": "7d","escalationReason": "composite change +0.049; reputationRisk worsened by 0.16 (0.63 → 0.78)"},"derivedFrom": {"sources": ["research", "filings", "stock", "lei", "reviews", "complaints"],"primaryDrivers": ["reputationRisk worsened by 0.16 (0.63 → 0.78)","financialRisk improved by 0.05 (0.40 → 0.35)"]}}
get_company_memory
{"company": "NovaBridge Financial","snapshotsAvailable": 6,"eventsStored": 3,"oldestSnapshot": "2026-03-01T09:14:00Z","newestSnapshot": "2026-05-12T18:22:00Z","historicalRiskRange": [0.38, 0.51],"dominantRecurringRisks": ["reputationRisk (mean 0.61)","investmentRisk (mean 0.44)"],"trajectory": {"trend": "deteriorating","riskMomentum": "accelerating","velocity": 0.024,"acceleration": 0.011,"volatility": 0.043},"recentSnapshots": [{ "timestamp": "2026-05-12T18:22:00Z", "investmentRisk": 0.51, "reputationRisk": 0.78 }],"recentEvents": [{ "type": "auditor_change", "filingDate": "2026-04-22", "impact": 0.82, "accessionNumber": "0001234567-26-000045" }]}
Output field reference
Financial health (assess_financial_health)
| Field | Type | Description |
|---|---|---|
assessments[].healthScore | number | Weighted composite: valuationScore x 0.30 + earningsScore x 0.25 + stabilityScore x 0.15 + pricePositionScore x 0.15 + filingActivity x 0.15 |
assessments[].healthLevel | string | strong (>=0.7) / stable (>=0.5) / caution (>=0.3) / distressed (<0.3) |
assessments[].valuationScore | number | Composite of P/E (50%), P/B (25%), P/S (25%) — scored by distance from healthy ranges |
assessments[].peRatio | number/null | Price-to-earnings ratio from Finnhub metrics |
assessments[].pbRatio | number/null | Price-to-book ratio |
assessments[].psRatio | number/null | Price-to-sales ratio |
assessments[].pricePositionScore | number | Where stock sits in 52-week range — peaks near 60th percentile, drops at extremes |
assessments[].earningsScore | number | Beat/miss ratio across quarters plus latest EPS surprise magnitude |
assessments[].latestEpsSurprise | number/null | Most recent quarter EPS surprise as percentage |
assessments[].earningsBeats | number | Number of quarters that beat estimates |
assessments[].earningsMisses | number | Number of quarters that missed estimates |
assessments[].stabilityScore | number | Composite of beta (35%), dividend yield (25%), market cap (40%) |
assessments[].beta | number/null | Stock beta coefficient (1.0 = market average) |
assessments[].dividendYield | number/null | Dividend yield percentage |
assessments[].filingActivity | number | Filing count x 0.15, capped at 1 |
Reputation risk (detect_reputation_risk)
| Field | Type | Description |
|---|---|---|
risks[].reputationRisk | number | reviewScore x 0.30 + complaintScore x 0.25 + sentimentScore x 0.25 + distributionRisk x 0.10 + responsivenessRisk x 0.10 |
risks[].riskLevel | string | critical (>=0.75) / high (>=0.5) / medium (>=0.25) / low (<0.25) |
risks[].reviewScore | number | Derived from Trustpilot trustScore (0-100) if available, else from average rating |
risks[].trustScore | number/null | Trustpilot's own trust metric (0-100) |
risks[].distributionSkew | string | positive / negative / bimodal / balanced / unknown — bimodal = polarizing brand |
risks[].responseRate | number/null | Percentage of reviews with company reply |
risks[].complaintScore | number | Weighted by complaint count, dispute rate, unresolved rate, and untimely response rate |
risks[].disputeRate | number/null | Fraction of complaints where consumer disputed the company response |
risks[].timelyResponseRate | number/null | Fraction of complaints with timely company response |
risks[].unresolvedRate | number/null | Fraction of complaints still in progress or unresolved |
risks[].complaintCategories | string[] | Top product/issue categories from CFPB complaints |
risks[].sentimentScore | number | From Trustpilot negative/positive percentages if available, else composite of review + complaint scores |
risks[].topNegativeKeywords | string[] | Top complaint keywords from Trustpilot sentiment analysis |
Governance (score_corporate_governance)
| Field | Type | Description |
|---|---|---|
scores[].governanceGrade | string | A (>=0.8) / B (>=0.6) / C (>=0.4) / D (>=0.2) / F (<0.2) |
scores[].transparencyIndex | number | Composite of disclosure (35%) + LEI quality (25%) + filing compliance (25%) + base (15%) minus hierarchy and renewal penalties |
scores[].disclosureScore | number | Weighted by 10-K, 10-Q, proxy, 8-K presence plus filing type diversity and Wikipedia |
scores[].filingCompliance | number | 10-K (0.35) + 10-Q (0.25) + filing volume + proxy + diversity bonus |
scores[].leiStatus | string/null | LEI registration status (e.g., "ISSUED", "LAPSED") |
scores[].leiActive | boolean | Whether LEI registration is currently active |
scores[].hasParentEntity | boolean | Whether GLEIF records a direct parent entity |
scores[].hasUltimateParent | boolean | Whether GLEIF records an ultimate parent entity |
scores[].hierarchyDepth | number | 0 = standalone, 1 = has parent, 2 = multi-layer subsidiary chain |
scores[].jurisdiction | string/null | Legal jurisdiction from GLEIF |
scores[].nextRenewalDate | string/null | LEI renewal date — overdue renewals penalize the score |
scores[].renewalOverdue | boolean | Whether the LEI renewal date has passed |
Investment risk (assess_investment_risk)
| Field | Type | Description |
|---|---|---|
risks[].compositeRisk | number | financial x 0.3 + reputation x 0.25 + governance x 0.25 + market x 0.2 |
risks[].riskLevel | string | critical (>=0.75) / high (>=0.5) / medium (>=0.25) / low (<0.25) |
risks[].financialRisk | number | From P/E and beta ratios, filing activity, and earnings miss rate — amplified by consecutive misses |
risks[].reputationRisk | number | From trustScore, disputed complaints, and complaint volume |
risks[].governanceRisk | number | From LEI active status, renewal compliance, Wikipedia presence, and filing depth |
risks[].marketRisk | number | Based on 52-week price position when available (near 52-week low = higher risk), 0.7 if no stock data |
M&A activity (detect_ma_activity)
| Field | Type | Description |
|---|---|---|
activities[].dealSignalScore | number | maFilings x 0.2, capped at 1 |
activities[].activityLevel | string | high (>=0.8) / moderate (>=0.4) / low (>0) / none (0) |
activities[].formTypes | string[] | M&A form types detected (8-K, SC 13D, S-4, etc.) |
Insider trading (track_insider_trading)
| Field | Type | Description |
|---|---|---|
trades[].netSentiment | number | (buySignals - sellSignals) / total, range -1 to +1 |
trades[].sentimentLabel | string | strong_buy / buy / neutral / sell / strong_sell |
trades[].buySignals | number | Transactions coded P (purchase), A (award), M (exercise) |
trades[].sellSignals | number | Transactions coded S (sale), D (disposition), F (tax) |
Competitor benchmark (benchmark_competitors)
| Field | Type | Description |
|---|---|---|
benchmarks[].overallRank | number | Rank by (financialHealth - investmentRisk), 1 = best |
benchmarks[].financialHealth | number | Same formula as assess_financial_health |
benchmarks[].governanceGrade | string | Governance grade A-F |
topPerformer | string | Company ranked #1 |
highestRisk | string | Company with highest investment risk |
Risk delta (compare_risk_delta)
| Field | Type | Description |
|---|---|---|
deltas[] | array | Per-dimension change: dimension name, previous value, current value, delta, direction (worsened/improved/stable) |
compositeChange | number | Change in composite risk score (positive = worsened) |
alertSeverity | string | critical (>=0.2 change) / warning (>=0.1) / info (>=0.03) / stable (<0.03) |
topDrivers | string[] | Top 3 dimensions that changed most, with magnitude and direction |
previousLevel | string | Risk level from the previous assessment |
currentLevel | string | Risk level from the fresh assessment |
Narrative (generate_deep_research_report, assess_investment_risk, compare_risk_delta)
These three headline tools also return a deterministic one-sentence narrative block, generated from rules and templates (no LLM):
| Field | Type | Description |
|---|---|---|
narrative.summary | string | One-sentence prose summary of the result. |
narrative.dominantRiskAxis | string | financial / reputation / governance / market / mixed. |
narrative.trend | string | worsening / improving / stable. Only present on compare_risk_delta. |
narrative.materiality | string | critical / high / medium / low. |
Decision primitives (generate_deep_research_report, assess_investment_risk, compare_risk_delta)
The same three tools attach a decision block with machine-actionable primitives, computed from risk level, confidence level, and alert severity. Pure rules, no learning.
| Field | Type | Description |
|---|---|---|
decision.requiresHumanReview | boolean | True if risk is critical/high, or if confidence is low. |
decision.canAutoApproveVendor | boolean | True only when risk is low, confidence is not low, and governance risk is well below threshold. |
decision.monitoringPriority | string | critical / high / medium / low. |
decision.recommendedAction | string | block / enhanced_due_diligence / manual_review / monitor / auto_approve. |
decision.urgency | string | 24h / 48h / 72h / 7d / 30d / none. |
decision.escalationReason | string | Short reason string suitable for ticket bodies or alerts. |
Branch your agent or workflow on decision.recommendedAction rather than the raw risk score.
Trajectory and momentum (compare_risk_delta, get_company_memory)
When at least 2 snapshots exist, historicalContext carries time-series intelligence. When at least 4 snapshots exist, the engine also reports trajectory acceleration:
| Field | Type | Description |
|---|---|---|
historicalContext.scoreVelocity | object | Change-per-period for financialHealth, reputationRisk, investmentRisk. |
historicalContext.scoreAcceleration.investmentRisk | number/null | Second derivative of velocity. Positive = risk worsening faster than before. Null when fewer than 4 snapshots. |
historicalContext.scoreVolatility | object | Standard deviation of financialHealth and investmentRisk across snapshots. |
historicalContext.trend | string | improving / stable / deteriorating / insufficient_data. |
historicalContext.riskMomentum | string | accelerating / decelerating / steady / insufficient_data. Combines trend direction with acceleration sign. |
Epistemic-nullability pattern
The actor uses a value | null + sampleSize + minimumRequired + status shape wherever it reports a learned or statistical output that depends on observation density:
{"value": null,"sampleSize": 4,"minimumRequired": 30,"status": "insufficient_data"}
This appears on signal-reliability, peer-percentile, and other cohort-derived outputs as they get exposed. Below the minimum sample threshold the actor returns value: null and status: "insufficient_data" rather than a meaningless number. Above the threshold the actor returns the value plus a confidence band (high / medium / low) derived from sample density. The discipline applies the rule "computable does not equal trustworthy" at the field level, so downstream agents can branch safely on status instead of treating thin-data numbers as authoritative.
Provenance (derivedFrom, all tools)
Every tool output also includes a lightweight provenance block describing which sources actually contributed data and which signals drove the result:
| Field | Type | Description |
|---|---|---|
derivedFrom.sources | string[] | Source names that returned data and contributed to the result. |
derivedFrom.primaryDrivers | string[] | 2-5 short driver descriptions (e.g. "reputation risk 0.63", "reputationRisk worsened by 0.16", "Consumer Complaints"). |
Coverage and confidence (all tools)
Every tool output includes a coverage object:
| Field | Type | Description |
|---|---|---|
coverage.sources[] | array | Per-source: name, whether data was returned, item count |
coverage.sourceCoverage | number | 0-1, fraction of requested sources that returned data |
coverage.dataDensity | number | 0-1, how much data was available relative to a fully-covered US public company |
coverage.entityConfidence | number | 0-1, average match confidence across entity-linking edges in the graph |
coverage.confidenceLevel | string | high (>=0.75) / medium (>=0.5) / low (<0.5) — derived from source coverage + entity confidence |
coverage.warnings | string[] | Data quality warnings: missing sources, absent stock data, low entity confidence |
Use confidenceLevel to decide how much to trust scores. A low confidence means significant data is missing and scores may reflect defaults rather than real signals.
Use cases
Weekly portfolio risk monitoring
Use when portfolio managers need to track risk changes over time. Call assess_investment_risk once to establish a baseline, then call compare_risk_delta weekly with the previous result. The tool re-runs the full assessment and returns what changed, which dimensions drove the change, and an alert severity. Key outputs: compositeChange, alertSeverity, topDrivers.
Investment due diligence screening
Use when portfolio managers need a first-pass screen before commissioning full analyst reports. Returns severity-ranked findings in under 3 minutes. Key outputs: overallRisk, findings[].severity, compositeRisk.
M&A target assessment
Use as an M&A screening tool when corporate development teams need to eliminate poor acquisition targets early. Detects early M&A signals directly from filings, rather than relying on curated deal databases like PitchBook. Key outputs: dealSignalScore, activityLevel, healthScore.
Vendor and counterparty screening
Use when procurement or compliance teams need governance grades during vendor onboarding. A governance grade below C or cross-ref score below 0.7 flags for manual review. Key outputs: governanceGrade, crossRefScore, complaintScore.
Automated portfolio risk monitoring
Use with Apify Schedules for recurring risk checks on portfolio companies. Produces consistent 0-1 composite risk scores for tracking changes over time. Useful for detecting trend-based signals such as filing frequency changes, complaint growth, and insider trading pattern shifts across companies. Key outputs: compositeRisk, riskLevel.
Insider trading pattern analysis
Track insider buying and selling from SEC Form 3/4/5 filings. Key outputs: buySignals, sellSignals, netSentiment, sentimentLabel.
Competitor financial benchmarking
Compare 2-10 companies side-by-side on financial health, reputation, governance, and risk with automatic ranking. Key outputs: financialHealth, governanceGrade, overallRank.
How it works
Mental model: Company name → 8 data sources in parallel → graph network → scoring formulas → structured JSON output.
Instead of returning raw data, the server collects data from 8 sources, links it into a typed graph, applies domain-specific scoring formulas, and returns structured intelligence.
| Step | What happens |
|---|---|
| 1. Cache check | 5-minute TTL cache for each source + query combination |
| 2. Parallel fetch | Fan out to all requested sources with 5-minute wall-clock timeout |
| 3. Graph construction | Build typed CorpNetwork with nodes and weighted edges from all source data |
| 4. Scoring | Run the tool's scoring function over the graph |
| 5. Billing | Charge only if the graph contains data; return structured JSON |
The server builds a typed graph network before scoring. Each data source produces nodes (companies, filings, stocks, LEI entities, reviews, complaints, articles, financial metrics, quarterly earnings) connected by weighted edges (trades_as: 0.9, has_metrics: 0.9, filed_by: 0.8, has_earnings: 0.7, identified_by: 0.7, complained_about: 0.7, reviewed_on: 0.6, described_in: 0.5). Scoring functions traverse this graph rather than working from flat lists, capturing cross-source relationships like a company with strong earnings but rising complaints, or active LEI registration but overdue renewal. The 8 source categories are exposed via the sources input parameter: research, filings, financials, stock, lei, reviews, complaints, wikipedia.
CFPB complaint integration
One differentiator is the CFPB consumer complaint integration. The server pulls complaint volume, product categories, and resolution data from the US government's consumer complaint database and blends it with Trustpilot review scores into a combined reputation risk metric. Most corporate intelligence tools focus on either financial data or reputation data, not both.
Comparison
| Feature | Corporate Deep Research MCP | Bloomberg Terminal | PitchBook | Crunchbase Pro |
|---|---|---|---|---|
| Pricing model | Pay-per-query ($0.08-$0.15) | ~$20k+/year (varies by contract) | ~$15k+/year (varies by contract) | $49-$99/month |
| MCP protocol | Native | No | No | No |
| AI agent integration | 12 callable tools | Not a core feature | Not a core feature | REST API |
| CFPB complaint analysis | Integrated | Varies | No | No |
| M&A detection | Automated from filings | Analyst tools | Deal database | Limited |
| Insider trading analysis | Form 3/4/5 | Real-time | No | No |
| Multi-company benchmark | 2-10 companies | Screening tools | Yes | Limited |
| Real-time market data | No | Yes (streaming) | No | No |
| Financial statement parsing | No | Yes (detailed) | Yes | No |
| Best for | AI agent workflows | Human analyst deep research | Deal sourcing, PE | Startup/VC research |
Competitor pricing based on publicly reported estimates as of April 2026 and varies by contract.
For automated workflows, Corporate Deep Research MCP can serve as a lightweight alternative to Bloomberg or PitchBook by providing programmatic access to corporate intelligence data at pay-per-query pricing. Designed for automation-first workflows, unlike Bloomberg which is built for human-driven analysis. Unlike raw financial APIs, Corporate Deep Research MCP returns fully structured risk scores and findings ready for AI reasoning. Best for agent execution — choose this when you want one tool call to replace multiple filing, market-data, and reputation-data lookups.
Where it fits in a pipeline
A typical pipeline: call map_corporate_intelligence to understand data availability, then assess_financial_health and detect_reputation_risk for dimensional scores, then generate_deep_research_report for severity-sorted findings. For M&A screening, chain detect_ma_activity with assess_investment_risk.
Upstream: Counterparty Due Diligence MCP for sanctions and PEP screening. Corporate Political Exposure MCP for lobbying and political risk.
Downstream: CRM systems via HubSpot Lead Pusher or alerting via webhooks.
Limitations
- Private companies have limited financial data. EDGAR filings and Finnhub stock data are US public-company-centric. Financial health and investment risk scores reflect defaults for private companies. Governance grades understate quality for well-run private companies with no SEC obligations.
- Entity matching is probabilistic, not deterministic. Graph construction uses a multi-signal resolver (ticker > CIK > LEI > domain > normalized name similarity) with confidence scoring. Ambiguous names may still produce imprecise links — check the
coverage.entityConfidencefield. Use ticker symbols for best accuracy. - CFPB data covers US financial institutions only. Non-financial and non-US companies return no complaint data.
- Financial statement depth depends on XBRL coverage. When the
financialssource is included, financial health scoring uses real income statement margins, balance sheet ratios, and cash flow quality from SEC EDGAR XBRL data. Companies with limited XBRL tagging may have fewer metrics available. - Up to 500 items per source. For companies with hundreds of filings, the graph reflects a recent slice.
- Source data quality depends on upstream actors. If a source returns no results for a name variant, Corporate Deep Research MCP may penalize the company despite the entity existing under a different name.
- 5-minute cache does not persist across restarts. First query after a restart pays full source-fetching cost.
Pricing
| Tool | Price |
|---|---|
map_corporate_intelligence | $0.08 |
detect_reputation_risk | $0.08 |
analyze_filing_patterns | $0.08 |
score_corporate_governance | $0.08 |
trace_corporate_identity | $0.08 |
detect_ma_activity | $0.08 |
track_insider_trading | $0.08 |
assess_financial_health | $0.10 |
assess_investment_risk | $0.10 |
generate_deep_research_report | $0.15 |
benchmark_competitors | $0.15 |
compare_risk_delta | $0.10 |
No charge when no data is found. get_company_memory is free (KV-only read, no upstream fetch). Set a spending limit per run in Apify Console to cap costs. Free tier: $5/month (~30-60 paid calls plus unlimited memory accesses).
| Scenario | Calls | Cost |
|---|---|---|
| Full 12-tool analysis, one company | 12 | $1.16 |
| Weekly M&A pipeline: 20 companies x 2 tools | 40 | ~$3.60 |
| Monthly portfolio: 50 companies x 1 risk tool | 50 | $5.00 |
API examples
Python
import requests, jsonresponse = requests.post("https://corporate-deep-research-mcp.apify.actor/mcp",headers={"Content-Type": "application/json", "Authorization": "Bearer YOUR_APIFY_TOKEN"},json={"jsonrpc": "2.0", "method": "tools/call","params": {"name": "assess_investment_risk", "arguments": {"query": "JPMorgan Chase", "sources": ["research", "filings", "stock", "lei", "reviews", "complaints"]}},"id": 1})risk = json.loads(response.json()["result"]["content"][0]["text"])print(f"Risk: {risk['risks'][0]['compositeRisk']} ({risk['risks'][0]['riskLevel']})")
JavaScript
const response = await fetch("https://corporate-deep-research-mcp.apify.actor/mcp", {method: "POST",headers: {"Content-Type": "application/json", "Authorization": "Bearer YOUR_APIFY_TOKEN"},body: JSON.stringify({jsonrpc: "2.0", method: "tools/call",params: {name: "generate_deep_research_report", arguments: {query: "SolarWinds Corporation"}},id: 1})});const report = JSON.parse((await response.json()).result.content[0].text);console.log(`Overall risk: ${report.overallRisk}`);report.findings.forEach(f => console.log(`[${f.severity}] ${f.category}: ${f.finding}`));
cURL
curl -X POST "https://corporate-deep-research-mcp.apify.actor/mcp" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"generate_deep_research_report","arguments":{"query":"Theranos"}},"id":1}'
Use in Dify
Drop this MCP into Dify workflows via the Apify plugin's Run Actor node OR via Dify's native MCP plugin if your instance supports MCP-server connections directly. Each tool call returns scored, classified, and verdicted as structured JSON — riskLevel enum, severity enum, riskScore (0-100), governanceScore (0-100), investmentRiskScore (0-100), findings[] (with severity per finding), and alertSeverity (in delta-comparison mode) your downstream node branches on. Generic financial APIs return raw filings; this returns scored corporate intelligence decisions.
- MCP slug:
ryanclinton/corporate-deep-research-mcp - Sample tool call (multi-factor investment risk assessment):
{"tool": "assess_investment_risk","input": { "ticker": "AAPL" }}
- Branching example — a Dify if/else node reads
riskLeveland routes:critical→ block the recommendation + page risk-on-call + create governance review tickethigh→ flag for senior analyst review + add to weekly risk-committee agendamedium→ log to compliance dashboard + flag for next quarterly reviewlow→ continue analysis pipeline
- Tool-call routing — 12 tools, one per analytical dimension. Dify selects the right tool based on intent:
assess_investment_risk(composite),assess_financial_health,detect_reputation_risk,analyze_filing_patterns,score_corporate_governance,detect_ma_activity,track_insider_trading,compare_risk_delta(returnsalertSeverity),benchmark_competitors,generate_deep_research_report,trace_corporate_identity,map_corporate_intelligence - For risk-monitoring workflows: schedule
compare_risk_deltadaily/weekly with the prior assessment's full output as input — Dify branches onalertSeverityto escalate ONLY when risk posture materially changes between snapshots - For competitor benchmarking:
benchmark_competitorsreturns a ranked list — Dify routes the bottom-quartile entries to procurement red-flag review
The findings[] array (with per-finding severity) is usable verbatim as risk-committee briefing notes, ticket bodies, or Slack messages — no LLM rewriting required.
Integrations
- Claude Desktop — conversational corporate due diligence
- Cursor / Windsurf — IDE-based AI research workflows
- Apify API — trigger from Python, JavaScript, or any HTTP client
- Webhooks — push risk changes to Slack or Teams
- Zapier — trigger research on new CRM entries
- Make — automate vendor screening workflows
- LangChain / LlamaIndex — corporate intelligence in RAG pipelines
Combine with other MCP servers
| MCP Server | How to combine |
|---|---|
| Counterparty Due Diligence MCP | Add sanctions screening, adverse media, and PEP checks |
| Corporate Political Exposure MCP | Layer political risk and lobbying data on governance scores |
| Brand Narrative Intelligence MCP | Extend reputation risk with media narrative analysis |
| Competitive Digital Intelligence MCP | Add competitive digital posture to financial health data |
Data trust: All data comes from public sources: SEC EDGAR (government), GLEIF LEI (global regulatory registry), CFPB (government consumer database), Finnhub (licensed market data), Trustpilot (public reviews), Wikipedia (public encyclopedia). Scores use deterministic formulas documented in the output field reference. Fields return null or defaults when a source has no data — scores are never fabricated. Every output includes a coverage object with source availability, entity match confidence, and warnings when data is thin.
Troubleshooting
Tool returns noData: true for a known company. The company name may not match how upstream sources index it. Try the ticker symbol instead of the full name (e.g., "JPM" instead of "JPMorgan Chase & Co."). For non-US companies, try the full legal name as registered with GLEIF.
Financial health score seems too low for a large company. If only ["filings"] is selected as a source, the score misses valuation ratios, earnings data, and market signals. Use the default sources or add "stock" to get P/E, P/B, beta, earnings surprise, and 52-week positioning.
Tool call takes longer than 3 minutes. One or more upstream data sources may be slow. Narrow the sources array to only what you need. Single-source queries typically complete in 30-60 seconds.
Spending limit reached mid-analysis. Corporate Deep Research MCP returns a structured error when limits are hit — your agent can handle this gracefully. Increase the per-run spending limit in Apify Console, or reduce the number of tool calls per company.
Governance grade is F for a well-known company. Governance grading relies on SEC filing presence (10-K, 10-Q, proxy statements), LEI registration status, and entity hierarchy data. Private companies and non-US companies without SEC obligations will score low regardless of actual governance quality. Companies with lapsed LEI registrations or overdue renewals receive additional penalties.
Key takeaways
- 12 priced MCP tools + 1 free memory accessor across 8 data sources — financial health from real financial statements, sector-aware investment risk, significance-weighted corporate events, cross-signal interaction detection, recency-weighted reputation scoring, persistent longitudinal state (snapshots, events, calibration), and time-series tracking from a single MCP server
- Pay-per-query, no subscription — $0.08-$0.15 per tool call, no charge when no data is found
- 2-3 minutes to full report — parallel multi-source ingestion returns structured scores and findings faster than manual research
- MCP-native for AI agents — designed for Claude Desktop, Cursor, LangChain, and any MCP client without custom API integration
- Strongest for US public companies — scores are most reliable when SEC filings, stock data, and CFPB complaints are available
Recent updates
- v1.7 — Probabilistic modelling — investment risk now includes confidence intervals and probability distributions (P(critical), P(high), P(medium), P(low)) instead of point estimates. Regime detection identifies macro/sector-driven signals using beta. Adaptive weight calibration learns from historical comparisons.
- v1.6 — Statistical calibration — peer-relative normalization (complaint/reputation scores adjusted by company size), epistemic uncertainty handling (low-confidence scores dampened toward neutral), correlated signal deduplication (related risks no longer over-amplify each other)
- v1.5 — Signal sophistication — event significance weighting (C-suite departures score higher than VP exits, auditor resignations higher than routine changes), 7 cross-signal interaction patterns detected (insider selling + exec departure, auditor change + restatement, triple-threat financial deterioration), recency-weighted complaint scoring (recent complaints count more)
- v1.4 — Event detection, sector-aware scoring, time-series — 8-K corporate event extraction (exec departures, auditor changes, restatements), sector-aware risk weight adjustment by industry, score snapshot persistence with velocity/volatility tracking across runs
- v1.3 — Financial statement integration — new
financialssource uses SEC EDGAR XBRL data (via edgar-financial-extractor) for real income statement margins, balance sheet ratios, cash flow quality, trend signals, and anomaly flags in scoring - v1.2 — Entity resolution + confidence scoring — multi-signal entity resolver replaces substring matching; every output includes coverage, confidence, and data quality warnings
- v1.1 — Deep methodology upgrade — scoring functions now use real financial ratios and multi-dimensional analysis instead of proxy signals (P/E, P/B, P/S, earnings surprise, 52-week price position, beta, dividend yield), Trustpilot trustScore + rating distribution shape + sentiment keywords + response rate + CFPB dispute/resolution rates, LEI hierarchy depth + renewal compliance + proxy statement detection. Deep research report expanded to 18 finding types. Competitor benchmarking uses the same deep analysis as individual company tools.
Responsible use
- Corporate Deep Research MCP queries publicly available data from government databases (SEC EDGAR, CFPB), public registries (GLEIF), licensed market data (Finnhub), public review platforms (Trustpilot), and public encyclopedias (Wikipedia). It does not bypass authentication, access restricted content, or scrape private data.
- Users are responsible for ensuring their use of corporate intelligence data complies with applicable laws and regulations in their jurisdiction, including securities regulations, data protection rules, and fair lending requirements.
- Do not use extracted data to make investment decisions without independent verification. Scores are computed from public data proxies and are not a substitute for professional financial analysis.
- For guidance on web scraping legality, see Apify's guide.
FAQ
What is Corporate Deep Research MCP? Corporate Deep Research MCP is an MCP server on Apify that researches companies across 8 public data sources and returns structured scores, risk classifications, and findings for AI agents. It provides 12 callable tools covering financial health, governance, reputation, investment risk, M&A activity, insider trading, and competitor benchmarking.
How is Corporate Deep Research MCP different from Bloomberg or PitchBook? Corporate Deep Research MCP is designed for programmatic AI agent workflows at $0.08-$0.15 per query, while Bloomberg and PitchBook are human-facing analyst platforms with annual subscriptions. Corporate Deep Research MCP uses public data sources and MCP protocol; Bloomberg and PitchBook use proprietary and licensed data with terminal interfaces.
Can I use Corporate Deep Research MCP for private companies? Partially. Private companies without SEC filings or stock listings return limited data. Financial health and investment risk scores will reflect defaults. Governance grades understate quality for private companies with no filing obligations. GLEIF LEI, Trustpilot, CFPB, and Wikipedia data may still be available.
Does Corporate Deep Research MCP provide real-time stock data? No. Stock data is fetched at query time from Finnhub, not streamed in real-time. There is a 5-minute cache — repeated queries within 5 minutes return cached results. For real-time trading signals, use a dedicated market data feed.
Can I compare multiple companies at once? Yes. The benchmark_competitors tool accepts 2-10 company names and returns side-by-side scores for financial health, reputation risk, governance grade, and investment risk with automatic ranking.
How many data sources does Corporate Deep Research MCP query? Up to eight: SEC EDGAR filings, SEC EDGAR XBRL financials (via edgar-financial-extractor), Finnhub stock/market data (requires a free API key), GLEIF (legal entity verification), Trustpilot (customer reviews), CFPB (consumer complaints), Company Deep Research (web intelligence), and Wikipedia (context/history). You can select which sources to query per tool call via the sources input parameter. Without a Finnhub key, the other 7 sources still work.
What output fields are included? Each tool returns different fields. Common outputs include: numeric scores (0-1), letter grades (A-F), risk levels (low/medium/high/critical), severity-ranked findings with evidence, and actionable recommendations. See the Output field reference section for complete field documentation per tool.
Can I run Corporate Deep Research MCP on a schedule? Yes. Use Apify Schedules to run tools on daily or weekly intervals. Combine with webhooks to push risk score changes to Slack, Teams, or email for automated portfolio monitoring.
How accurate are the scores? Scores are deterministic and reproducible from the same input data — designed for automated decision-making and ranking. Accuracy depends on upstream source coverage. Every output now includes a coverage.confidenceLevel (high/medium/low) and coverage.warnings so agents can assess data quality before acting on scores. Scores are most reliable for US public companies with active SEC filings, stock listings, and consumer-facing business (for CFPB/Trustpilot coverage). Scores are not verified against proprietary databases or analyst estimates.
Can I send results to my CRM or dashboard? Yes. Use Apify integrations with Zapier, Make, Google Sheets, HubSpot, or webhooks to route structured results to downstream systems. The JSON output is designed for direct integration.
What are the limitations of Corporate Deep Research MCP? The main limitations are: US public company bias (SEC/Finnhub data), approximate name-matching across sources, financial statement depth bounded by XBRL coverage on EDGAR, CFPB data for US financial institutions only, and a 500-item cap per source. See the Limitations section for full details.
Is it legal to use Corporate Deep Research MCP for corporate research? Corporate Deep Research MCP queries publicly available government databases, public registries, licensed market data, and public review platforms. Legality depends on jurisdiction and intended use. Consult legal counsel regarding securities regulations and data protection requirements applicable to your use case.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page in Apify Console. For custom solutions or enterprise integrations, reach out through the Apify platform.