Recipe: Research a public company
This recipe walks an agent from “AAPL” to a structured company brief — SEC filings, key financial concepts, consumer complaint posture — with citable URIs.
Tools used: resolve_entity, edgar_company_filings (or pipeworx://edgar/... resource), edgar_company_concept, cfpb_company_complaints. Optional: compare_entities for a peer comparison.
Calls: ~3–5, depending on whether you use compare_entities.
Step 1: Resolve the company
resolve_entity({ type: "company", value: "AAPL" })
Returns:
{
"type": "company",
"query": "AAPL",
"resolved": true,
"ids": {
"cik": "0000320193",
"ticker": "AAPL",
"company_name": "Apple Inc."
},
"resources": {
"edgar_filings": "pipeworx://edgar/company/0000320193/filings",
"edgar_facts": "pipeworx://edgar/company/0000320193/facts"
}
}
You now have everything to cite Apple in any output.
Step 2: Get recent filings
edgar_company_filings({ ticker_or_cik: "0000320193" })
Note the latest 10-K (annual) and 10-Q (quarterly) accession numbers. Embed them as pipeworx://edgar/filing/{accession} URIs in your output.
Step 3: Pull key financial concepts
edgar_company_concept returns a single XBRL concept across periods. Pull these four in parallel:
// Run in parallel:
edgar_company_concept({ cik: "0000320193", concept: "Revenues" })
edgar_company_concept({ cik: "0000320193", concept: "NetIncomeLoss" })
edgar_company_concept({ cik: "0000320193", concept: "CashAndCashEquivalentsAtCarryingValue" })
edgar_company_concept({ cik: "0000320193", concept: "LongTermDebtNoncurrent" })
Each returns annual_values: [{fiscal_year, period_end, value, unit, filed}, ...]. Sort by period_end desc and take the most recent.
Or, use the compound tool fintech_company_deep_dive, which does this in one call:
fintech_company_deep_dive({ ticker: "AAPL" })
// → SEC filings + stock quote + income statement + CFPB complaints, all in one
Step 4: Consumer-facing risk
cfpb_company_complaints({ company: "Apple Inc." })
Cross-references against CFPB’s complaint database. For consumer-facing companies this is a useful posture indicator.
Step 5 (optional): Compare to peers
compare_entities({ type: "company", values: ["AAPL", "MSFT", "GOOGL"] })
Returns revenue + income + cash + debt for all three side-by-side, in parallel.
Citation pattern
Embed the resource URIs in your output so users can re-fetch:
Apple Inc. (EDGAR) reported revenue of $383.3B (FY 2023). Latest filings: 10-K dated 2023-11-03 (
pipeworx://edgar/filing/0000320193-23-000106).
Any MCP client that supports resources/read can resolve these URIs to current data.
Use the prompt instead
If you don’t want to hand-orchestrate, the gateway has a pre-baked playbook:
prompts/get({ name: "research_public_company", arguments: { company: "AAPL" } })
// → returns a substituted message that orchestrates the full sequence
See prompts for how server-side playbooks work.