io.github.Hlobo-dev/tengu-firm
REMOTE · FIRM.TENGU.CO · SCANNED AUG 21
One MCP key: prices, fundamentals, SEC filings, insider/13F/congressional trades. 336 tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 337 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 38166 tokens (~113/item across 337 items; 337 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage73
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 18% of tool parameters carry a description.Partial
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · firm.tengu.co
claude mcp add --transport http hlobo-dev-tengu-firm https://firm.tengu.co/mcp
[mcp_servers.hlobo-dev-tengu-firm] url = "https://firm.tengu.co/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hlobo-dev-tengu-firm": {
"type": "remote",
"url": "https://firm.tengu.co/mcp",
"enabled": true
}
}
} openclaw mcp add hlobo-dev-tengu-firm --url https://firm.tengu.co/mcp --transport streamable-http
mcp_servers:
hlobo-dev-tengu-firm:
url: "https://firm.tengu.co/mcp" {
"mcpServers": {
"hlobo-dev-tengu-firm": {
"type": "http",
"url": "https://firm.tengu.co/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Aug 26 +1
- Server version: 2.116 → 2.117 functional
- 14 Aug 26 +1
- Server version: 2.114 → 2.116 functional
- New tool “tengu_crypto_universe” functional
- “tengu_v3_intel_darkpool_recent” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_darkpool_ticker” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_gex” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_macro_snapshot” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_off_exchange” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_options_flow” added an optional parameter “freshness” cosmetic
- “tengu_v3_intel_options_flow_ticker” added an optional parameter “freshness” cosmetic
- “tengu_v3_system_health” added an optional parameter “freshness” cosmetic
- 13 Aug 26 0
- Stability: unverified → 0.03 ▲ functional
- 12 Aug 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Aug 2026 · Probed https://firm.tengu.co/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=firm.tengu.co | CN=Amazon RSA 2048 M01,O=Amazon,C=US | 22 Apr 2026 | 5 Nov 2026 | RSA 2048 | SHA256-RSA | c6ae427146b1ee7ed8dd78b7493ec3e |
| SANs: firm.tengu.co | ||||||
| CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 77312380b9d6688a33b1ed9bf9ccda68e0e0f |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
DNSSEC insecure
Validation of firm.tengu.co. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| co. | present | 7786 | 8 | Verified |
| tengu.co. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://firm.tengu.co/mcp | Verified | 200 | |
| http (plaintext) | http://firm.tengu.co/mcp | HTTPS enforced | 301 | https://firm.tengu.co:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
tengu_v3_stream_market_events ~53
SSE stream of freshness-labelled market events. Every record carries source as-of time, feed lag and staleness so old data cannot masquerade as a new breach.
| Name | Type | Req | Description |
|---|---|---|---|
| symbols | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_stream_news ~26
SSE stream of structured-news items
| Name | Type | Req | Description |
|---|---|---|---|
| symbols | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_stream_news_publisher_status ~53
News publisher status: polls completed, articles seen/published, dedup hits, newswire availability. Call when the user asks why news looks missing/stale or whether the pipeline is healthy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_stream_quotes ~89
SSE stream of live per-venue bid/ask quote events for the requested symbols (bid/ask price+size + per-side venue IDs). Connecting auto-subscribes coverage within ~5s. Quiet outside US market hours — that is correct, not broken. Sizes are the venue's numbers untransformed; never present them as share counts.
| Name | Type | Req | Description |
|---|---|---|---|
| symbols | string | yes | – |
No output schema declared.
No examples provided.
tengu_v3_stream_realtime_guide ~59
Agent protocol for real-time queries: which SSE feed maps to which intent (live price, signals, decisions, news, alerts), payload shapes, when to prefer SSE over REST, and fallback rules when flags are off
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_stream_signal_generator_status ~47
Effective signal-generator status across the optional in-process worker and dedicated processor heartbeat: input ticks, emitted signals and deployment state. Call when live signals look missing/stale.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_stream_signals ~26
SSE stream of fused signals
| Name | Type | Req | Description |
|---|---|---|---|
| symbols | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_stream_status ~56
Bounded Redis reachability plus expiring market-producer and signal-pipeline heartbeats, per-capability readiness, coverage modes/limits and known SSE endpoints. Call before claiming live data or diagnosing missing/stale feeds.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_stream_tick_writer_status ~52
Tick writer (tick-persistence buffer) status: buffered rows, batches written, last flush duration. Call when the user asks whether the pipeline is healthy or why stored tick data looks missing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_stream_ticks ~52
SSE stream of live US-equity trades. A filtered connect queues cross-process T+Q coverage; the dedicated producer reconciles it asynchronously (target ~5s).
| Name | Type | Req | Description |
|---|---|---|---|
| symbols | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_stream_universe_status ~45
Legacy in-process UniverseManager diagnostics for dev. For production cross-process warm coverage use tengu_v3_market_universe and tengu_v3_stream_status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_supply_chain_geo_revenue ~254
GEOGRAPHIC REVENUE EXPOSURE for one company — where the revenue actually comes from, estimated region by region and country by country for a fiscal period, with a per-row confidence score. This is the tariff / geopolitical lens: it answers 'how much of this company's revenue is China?' for names that never break that out. Returns the requested hierarchy layer as `regions`, the country leaves as `countries`, concentration metrics (largest country share and an HHI), the period served and the other periods available. ?country=CN,TW returns a per-period HISTORY for exactly those countries. Each layer sums to 100 on its own, so never add a region to a country. Amounts carry NO currency code in the source and the reporting currency can change between periods, so compare on PERCENT, not amount. Estimates, not company-reported segments — for reported segments use /fundamentals/segments/{ticker}.
| Name | Type | Req | Description |
|---|---|---|---|
| company_id | string | – | – |
| country | string | – | – |
| layer | integer | – | – |
| period | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
| top_countries | integer | – | – |
No output schema declared.
No examples provided.
tengu_v3_supply_chain_relationships ~269
The SUPPLY-CHAIN GRAPH around one company — its customers, suppliers, competitors and partners in one call, each with the relationship's start date, whether it is still open, which side reported it, and revenue dependence where it was estimated. Both directions are merged and normalised to the queried company's point of view, so 'customers' includes companies that report THIS company as their supplier. Call it to map second-order exposure (whose earnings move when this name moves) or to find the listed suppliers behind a product cycle. Defaults to CURRENT relationships; status=all or as_of=YYYY-MM-DD gives history. One entry per counterparty by default (several records can back one pair) — group_by=record gives the underlying versions. revenue_percent belongs to the company named in revenue_percent_of_ticker, is an ESTIMATE on every row, and is present on only a minority of edges; coverage is reported per group.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| company_id | string | – | – |
| group_by | string | – | – |
| limit | integer | – | – |
| listed_only | boolean | – | – |
| rel_type | string | – | – |
| status | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_supply_chain_revenue_dependence ~208
REVENUE DEPENDENCE, both sides — the revenue-at-risk map around one company. `customer_concentration`: how much of THIS company's revenue each customer accounts for. `dependents_on_company`: other companies whose revenue depends on THIS one (e.g. a component maker that books most of its revenue from one handset vendor) — the list that reprices when this name changes its orders, and it is in no filing screen. Percentages are of the DEPENDENT company's revenue and every row names whose revenue it is, so the number can never be read backwards. Coverage is sparse and disclosed: only a minority of relationships carry an estimated percentage, so absence means UNKNOWN, never zero.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| company_id | string | – | – |
| limit | integer | – | – |
| min_percent | number | – | – |
| status | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_system_health ~48
Aggregate system health with per-subsystem status. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
| Name | Type | Req | Description |
|---|---|---|---|
| freshness | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_tape_bars ~176
Intraday minute bars for one equity from FIRM's own market-data capture (~10.5k tickers, extended hours included). Use when an agent needs REAL intraday price/volume history — how a ticker traded through an event, VWAP context, or a finer-grained chart than daily bars. Archive begins 2026-05-10; pass date=YYYY-MM-DD (or start+end, max 5 trading days). 1m is the native grain; 5m/15m/1h are resampled server-side.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | – |
| end | string | – | – |
| interval | string | – | – |
| limit | integer | – | – |
| start | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_tape_futures ~130
Raw CME futures trade prints for one root (NG, CL, ES...) and one day, from FIRM's own capture: per-print price, size, notional, block flag across contract months. Call it for real futures flow: energy tape, rolls, block prints. date mandatory; archive from 2026-05-13, mostly CME energy (NG heavy) — empty = not-yet-captured, not quiet.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| limit | integer | – | – |
| root | string | yes | Path parameter 'root' (required). |
No output schema declared.
No examples provided.
tengu_v3_tape_futures_curve ~138
Futures term structure for one CME root (27 roots incl. ES, NQ, CL, NG, GC, ZN) from FIRM's daily chain snapshots — per contract month: last/settlement, bid/ask, session OHLC, volume, open interest, days-to-expiry. Call it for curve shape (contango/backwardation), roll, or OI distribution; omit date for latest, snapshots begin 2026-05-18.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | – |
| limit | integer | – | – |
| root | string | yes | Path parameter 'root' (required). |
No output schema declared.
No examples provided.
tengu_v3_tape_index_bars ~162
Intraday minute bars for the major index tapes — SPX, NDX, DJI, RUT, VIX — from FIRM's own market-data indices capture. Use for intraday market/vol context around an event (how did SPX and VIX move through the FOMC statement?) or as the benchmark leg next to tengu_v3_tape_bars. Archive begins 2026-05-14; one day or max 5 trading days per call.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | – |
| end | string | – | – |
| index | string | yes | Path parameter 'index' (required). |
| interval | string | – | – |
| limit | integer | – | – |
| start | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_tape_microstructure ~122
60s microstructure windows per ticker from FIRM's live tape: rolling vwap, trade count/avg size, block count/vol, buy/sell imbalance, large-trade premium. Call it to separate smart-money accumulation from retail moves. Active-set coverage (~few hundred names/session; empty = uncaptured); omit date for latest, capture from 2026-05-13.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | – |
| limit | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_tape_options ~149
Raw options trade prints for one underlying on one trading day from FIRM's own market-data capture — per-print premium (notional_usd), strike, expiry, block/sweep flags, sorted largest premium first. Use when an agent needs the actual options tape behind a flow signal: whale prints, sweep activity, what struck around a specific time. Archive begins 2026-05-11; date is mandatory (70 GB day-partitioned table).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| limit | integer | – | – |
| min_premium | number | – | – |
| side | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_tape_options_chain ~325
Full historical OPTIONS CHAIN for one underlying on one snapshot day from FIRM's own daily market-data capture — per contract: strike, expiry, dte, bid/ask/mid/last, day volume + VWAP, implied volatility, the full greeks (delta/gamma/theta/vega), open interest and underlying price, plus a chain summary (contract/expiration counts, put/call OI + volume ratios, front-month ATM IV). Use it to reconstruct the IV surface, greeks or OI distribution AS IT STOOD on a past day, find where OI/volume concentrated, or pull the near-the-money strikes around an event. Omit date for the latest captured day (reported as snapshot_day); filter by side, expiration/dte, min OI/volume or a moneyness band; sort by open interest or dollar notional. Capture begins 2026-05-10. For the raw options TRADE tape use tengu_v3_tape_options; for live GEX/dealer flow use the options_flow tools.
| Name | Type | Req | Description |
|---|---|---|---|
| contract_type | string | – | – |
| date | string | – | – |
| expiration | string | – | – |
| limit | integer | – | – |
| max_dte | integer | – | – |
| min_dte | integer | – | – |
| min_open_interest | number | – | – |
| min_volume | number | – | – |
| moneyness | number | – | – |
| sort | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_thresholds ~49
Currently-active decision thresholds — the live cutoff values gating automated trade decisions right now. Call it to know which thresholds are in force before interpreting why a signal did or didn't become a decision.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_trade_setups ~206
Top trade setups from the decision engine with **defensive-alternates baked in**. When the screen is one-sided (>=70% same direction across 3+ picks), the response carries `universe_skew` = 'bearish' | 'bullish' | 'mixed' AND a `regime_warranted_alternative` block containing the editorial fallback basket (defensive | cash_heavy | value_tilt | momentum). Each alternative carries strategy label, curated candidates with thesis per name, and a one-sentence rationale. Brain consumes the alternative when the primary picks don't fit the user's risk frame — e.g. all-bearish screen on a long-bias capital-allocation query surfaces the `defensive` basket so the model never has to refuse or invent. Schema is ADDITIVE — primary `setups` array unchanged from v2.41.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| min_conviction | number | – | – |
No output schema declared.
No examples provided.
tengu_v3_transcript_text ~159
Full earnings-call transcript as ordered speaker turns — use when the user wants what management or analysts actually SAID on a call. ``event_id`` comes from /api/v3/transcripts/{ticker} or /transcripts/search. Each turn carries speaker name + role (executive/analyst/operator) and section (presentation vs qa). ~2 MB text cap (``truncated: true`` when hit — refetch with components= to slice). Text coverage 2020-2025.
| Name | Type | Req | Description |
|---|---|---|---|
| components | string | – | – |
| event_id | string | yes | Path parameter 'event_id' (required). |
| max_turns | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_transcripts_list ~127
List a company's earnings calls and investor-event transcripts (licensed institutional, 1.75M calls), newest first — call this FIRST to get the ``event_id`` you pass to the full-text route. One row per call (versions collapsed to the best copy: Proofed > Edited > Spellchecked) with date, title and event type. Full text coverage is 2020-2025; older calls are metadata-only.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| since | string | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_transcripts_search ~113
Search earnings-call transcripts. scope=headlines (default) searches call titles across ALL companies; scope=text searches the spoken words inside one company's transcripts (ticker REQUIRED) and returns per-call hit counts + a snippet. Use when the user asks 'which calls mention X' — then fetch the full text with the returned event_id.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | – | – |
| scope | string | – | – |
| since | string | – | – |
| ticker | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_twap_plan ~105
TWAP child-order schedule for a ticker: a qty (default 100) sliced into evenly-timed child orders over `minutes` (default 60). Call this when the user asks how to work an order over time; use vwap_plan for a volume-curve schedule and cost_estimate for expected cost.
| Name | Type | Req | Description |
|---|---|---|---|
| minutes | integer | – | – |
| qty | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_ultimate_decision ~69
Ultimate-engine aggregate decision for one ticker — the top-level verdict aggregated across the engine stack. PRIMARY tool for 'so what's the final call on <ticker>?' — call it when the user wants one consolidated decision rather than raw component signals.
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_universe_scan ~75
Latest universe-scanner output: the most recent scan results across the tradable universe, up to `limit` names (default 100). Call this when the user asks what the scanner is flagging right now or wants a market-wide sweep before drilling into single tickers.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
No output schema declared.
No examples provided.
tengu_v3_validation_trial_count ~60
Lifetime count of registered trials — the N used for DSR deflation. Call it to know how heavy the multiple-testing burden is before interpreting any deflated Sharpe, or when the user asks how many strategy variants have been tried.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tengu_v3_validation_trials ~64
Recent trials recorded in the DSR registry (limit param, default 100). Call it when the user asks what backtests or experiments have been run, or to audit the multiple-testing history behind a deflated Sharpe.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
No output schema declared.
No examples provided.
tengu_v3_vwap_plan ~95
VWAP child-order schedule for a ticker: a qty (default 100) sliced along the intraday U-curve volume profile. Call this when the user wants an order worked in line with typical intraday volume; use twap_plan for even time-slicing and cost_estimate for expected cost.
| Name | Type | Req | Description |
|---|---|---|---|
| qty | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_workforce_layoff_screen ~172
CROSS-SECTIONAL LAYOFF SCREEN — which listed companies filed WARN-Act layoff notices in the last N days, ranked by employees noticed. One row per ticker (company, filing count, employees noticed, first/latest event date, states touched, largest single filing) across the whole listed universe. Call it for 'who is cutting right now' — notices are filed weeks before the cut, so this surfaces restructurings before the press release. Only employers matched to a listed symbol appear; most WARN filers are private and are excluded by design. For one company's filings use /workforce/layoffs/{ticker}.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| limit | integer | – | – |
| min_employees | integer | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
tengu_v3_workforce_layoffs ~228
WARN-Act LAYOFF FILINGS for one company — the public notices an employer must file WEEKS BEFORE a cut, so they lead the press release and the next earnings call. Returns each filing (notice date, effective date, employees affected, site city/state, layoff type) newest first, plus TRUE window totals, a month-by-month series and the largest single filing; with_workforce also sizes the total against estimated headcount and names the headcount month used. Call it as a downside early-warning, or to confirm the scale of an announced restructuring — filings are SITE-level, so one restructuring appears as many rows. Coverage is US WARN notices from 1989 forward including forward-dated notices; only employers matched to a listed symbol are reachable by ticker, so an empty result is not proof there were no layoffs.
| Name | Type | Req | Description |
|---|---|---|---|
| employer_id | integer | – | – |
| limit | integer | – | – |
| months | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
| with_workforce | boolean | – | – |
No output schema declared.
No examples provided.
tengu_v3_workforce_momentum ~240
Monthly EMPLOYMENT MOMENTUM for one company — headcount trend, hiring vs attrition and salary level, from a monthly workforce panel rather than an annual filing. Returns the latest month's headcount with its hiring, attrition and net-hiring rates (percent of headcount per month plus annualized twins), 1m/3m/12m headcount growth, average salary per employee (USD per year) with its coverage, and the full monthly series. Call it to see a company expanding or shrinking MONTHS before the next 10-K, or to catch attrition rising while headcount looks flat. Values are modelled estimates, not company-reported figures. The panel is being backfilled: `coverage` reports the months actually present and any lookback the panel cannot support returns null with a reason — never an interpolated number. Ticker is not unique across venues; the response names the entity served and lists alternates you can pin with employer_id.
| Name | Type | Req | Description |
|---|---|---|---|
| employer_id | integer | – | – |
| months | integer | – | – |
| ticker | string | yes | Path parameter 'ticker' (required). |
No output schema declared.
No examples provided.
tengu_v3_workforce_momentum_screen ~170
CROSS-SECTIONAL HIRING SCREEN — rank listed employers by headcount growth between the panel's latest month and N months earlier: ticker, company, headcount then and now, percent and absolute change, latest hiring and attrition rates and average salary, sorted fastest-growing or fastest-shrinking. This is the workforce factor as a screen — who is actually staffing up (or quietly shrinking) months before it reaches a filing. The monthly panel is MID-BACKFILL, so a months_back longer than the loaded window returns an explicit warning listing the lookbacks that ARE available — never a silently shortened comparison.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| min_headcount | number | – | – |
| months_back | integer | – | – |
| order | string | – | – |
No output schema declared.
No examples provided.