extract_company_landscape
Analyze companies by extracting real-time intelligence from SEC filings, government contracts, global news, product changelogs, and financial data in a unified report.
Instructions
Composite company intelligence tool. The most complete single-call company analysis available. Simultaneously queries 5 unique sources: (1) SEC EDGAR for 8-K material event filings — what the company legally just disclosed, (2) USASpending.gov for federal contract footprint — who is giving them government money, (3) GDELT for global news intelligence — what the world is saying about them right now, (4) their product changelog — are they actually shipping, (5) Yahoo Finance — what the market is pricing in. Returns a unified 5-source timestamped report. Unique: this combination is not available in any other MCP server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company name e.g. 'Palantir', 'Anthropic', 'OpenAI' | |
| ticker | No | Stock ticker for finance data e.g. 'PLTR'. Leave blank for private companies. | |
| github_url | No | Optional GitHub repo or org URL e.g. 'https://github.com/palantir'. Improves changelog accuracy. | |
| max_length | No |
Implementation Reference
- src/server.ts:502-540 (handler)The handler function for 'extract_company_landscape' which concurrently fetches and aggregates intelligence from SEC filings, government contracts, news, changelogs, and market data.
async ({ company, ticker, github_url, max_length }) => { const perSection = Math.floor((max_length ?? 15000) / 5); const repoQuery = github_url ?? company; const [secResult, contractsResult, gdeltResult, changelogResult, financeResult] = await Promise.allSettled([ // 1. What did they legally just disclose secFilingsAdapter({ url: company, maxLength: perSection }), // 2. Who is giving them government money govContractsAdapter({ url: company, maxLength: perSection }), // 3. What is global news saying right now gdeltAdapter({ url: company, maxLength: perSection }), // 4. Are they actually shipping product changelogAdapter({ url: repoQuery, maxLength: perSection }), // 5. What is the market pricing in financeAdapter({ url: ticker ?? company, maxLength: perSection }), ]); const section = ( label: string, result: PromiseSettledResult<{ raw: string; content_date: string | null; freshness_confidence: string }> ) => result.status === "fulfilled" ? `## ${label}\n${result.value.raw}` : `## ${label}\n[Unavailable: ${(result as PromiseRejectedResult).reason}]`; const combined = [ `# Company Intelligence Landscape: "${company}"${ticker ? ` (${ticker})` : ""}`, `Generated: ${new Date().toISOString()}`, `Sources: SEC EDGAR · USASpending.gov · GDELT · Changelog · Yahoo Finance`, "", section("📋 SEC 8-K Filings — Legal Disclosures", secResult), section("🏛️ Federal Contract Awards (USASpending.gov)", contractsResult), section("🌍 Global News Intelligence (GDELT)", gdeltResult), section("🔄 Product Release Velocity (Changelog)", changelogResult), section("📈 Market Data (Yahoo Finance)", financeResult), ].join("\n\n"); return { content: [{ type: "text", text: combined }] }; } - src/server.ts:483-501 (registration)Registration of the 'extract_company_landscape' tool with its schema definition in src/server.ts.
server.registerTool( "extract_company_landscape", { description: "Composite company intelligence tool. The most complete single-call company analysis available. Simultaneously queries 5 unique sources: (1) SEC EDGAR for 8-K material event filings — what the company legally just disclosed, (2) USASpending.gov for federal contract footprint — who is giving them government money, (3) GDELT for global news intelligence — what the world is saying about them right now, (4) their product changelog — are they actually shipping, (5) Yahoo Finance — what the market is pricing in. Returns a unified 5-source timestamped report. Unique: this combination is not available in any other MCP server.", inputSchema: z.object({ company: z.string().describe( "Company name e.g. 'Palantir', 'Anthropic', 'OpenAI'" ), ticker: z.string().optional().describe( "Stock ticker for finance data e.g. 'PLTR'. Leave blank for private companies." ), github_url: z.string().optional().describe( "Optional GitHub repo or org URL e.g. 'https://github.com/palantir'. Improves changelog accuracy." ), max_length: z.number().optional().default(15000), }), annotations: { readOnlyHint: true, openWorldHint: true }, },