Skip to main content

company_contracts next channel

Status: Modified (batch selectors; richer per-contract fields; snake_case params) This tool is on the private next MCP channel for allow-listed orgs. When promoted, this file moves to mcp-tools/company-contracts.md.

Retrieve contract intelligence for a batch of up to 25 companies — ICT outsourcing deals (via GSIs such as Accenture, IBM, Cognizant) and U.S. federal government contract awards (USAspending.gov). Pass hg_ids and/or domains and receive one entry per company under companies[].

Integration required: hginsights_v2__data_api Cache schema version: 4 (differs from base — stale cached payloads from the public channel will not be served)

Parameters

ParameterTypeRequiredDefaultDescription
hg_idsstring[]OptionalHG Insights company IDs for batch contract lookup (up to 25). Provide hg_ids or domains (at least one is required); both may be combined. NOTE: include_federal_contracts requires exactly one company across hg_ids + domains.
domainsstring[]OptionalCompany domains for batch contract lookup (e.g. ["salesforce.com", "cisco.com"], up to 25). Protocol prefixes, leading www., and trailing paths are stripped automatically.
company_namestringOptionalLegal or common name of the company. Used as the search key for federal contract lookups when include_federal_contracts=true (single-company only). Required for companies not in the HG database — providing this name enables federal data even when domain resolution fails.
active_onlybooleanOptionalfalseWhen true, returns only currently active contracts (end_date >= today or no end_date).
vendor_namestringOptionalFilter contracts by vendor name. Forwarded to the upstream API as a vendor name filter.
min_deal_valuenumberOptionalMinimum deal value filter in USD (applied client-side).
max_deal_valuenumberOptionalMaximum deal value filter in USD (applied client-side).
start_date_afterstringOptionalFilter contracts starting after this date (ISO format YYYY-MM-DD, applied client-side).
start_date_beforestringOptionalFilter contracts starting before this date (ISO format YYYY-MM-DD, applied client-side).
end_date_beforestringOptionalFilter contracts ending before this date (applied client-side).
end_date_afterstringOptionalFilter contracts ending after this date (applied client-side).
limitnumberOptional50Maximum number of contracts to return (default: 50, max: 100).
include_federal_contractsbooleanOptionalfalseInclude U.S. federal government contract data from USAspending.gov. Requires the datagov integration. Requires exactly one company across hg_ids + domains — enabling this with more than one company is rejected with a clear error.

Implementation note — client-side vs upstream filters

Only vendor_name is forwarded upstream (as contracts.filters.vendor_names). The following filters are applied in the MCP layer after fetching the full upstream payload: active_only, min_deal_value, max_deal_value, start_date_after, start_date_before, end_date_after, end_date_before.

Response Format

{
"companies": [
{
"company_domain": "salesforce.com",
"organization_id": "3AB6196C…",
"contract_count": 3,
"total_contract_value": "$450M",
"total_contract_value_amount": 450000000,
"has_more": false,
"contracts": [
{
"contract_id": "hg-1234",
"vendor_name": "Accenture",
"title": "CRM Transformation",
"deal_value": "$150M",
"deal_value_amount": 150000000,
"start_date": "2023-01-01",
"end_date": "2026-12-31",
"performance_criteria": ["99.9% uptime SLA"],
"pricing_structure": "Fixed Fee",
"larger_contract": false
}
]
}
]
}

New per-contract fields (added in 2026-08-04)

FieldTypeDescription
performance_criteriastring[]Performance-criteria clauses for the contract.
pricing_structurestringContract pricing-structure description.
larger_contractbooleanWhether this record is part of a larger contract.

Example Usage

{
"tool": "company_contracts",
"parameters": {
"domains": ["salesforce.com", "cisco.com"],
"active_only": true
}
}

Federal contracts for a single company:

{
"tool": "company_contracts",
"parameters": {
"domains": ["palantir.com"],
"include_federal_contracts": true,
"company_name": "Palantir Technologies"
}
}
  • company_enrich — multi-section enrichment including contracts in a single call.
  • search_federal_contracts — search USAspending.gov by recipient name when the company is not in the HG database.

Changelog

2026-08-04 — Unified API PR #326 alignment

Availability: live on the private next MCP channel for allow-listed orgs. The public /api/mcp contract is unchanged.

Why this changed: aligns company_contracts with the additive batch capability and richer per-contract fields shipped in unified API PR #326.

Breaking change — company selection is now batch-only

  • The singular hg_id / company_domain selectors are removed. Select companies with batch arrays: hg_ids (array, ≤25) and/or domains (array, ≤25). At least one is required.
  • The output is now a { companies: [...] } array.
  • Migration: hg_id: "abc"hg_ids: ["abc"], company_domain: "cisco.com"domains: ["cisco.com"].

Breaking change — federal enrichment is single-company-only

include_federal_contracts may only be enabled when the request targets exactly one company. Enabling it with more than one company is rejected with a clear error.

Additive — richer per-contract fields

Each contract record now surfaces three fields previously dropped: performance_criteria (string[]), pricing_structure (string), and larger_contract (boolean).

The Redis cache schema version was bumped by +3 (base 1 to 4).

2026-07-31 — Breaking: params and envelope fields renamed to snake_case

Availability: live on the private next MCP channel for allow-listed orgs. The public /api/mcp contract is unchanged.

Before (on next)After
Domain paramcompanyDomaincompany_domain
Company namecompanyNamecompany_name
Active filteractiveOnlyactive_only
Vendor filtervendorNamevendor_name
Deal rangeminDealValue / maxDealValuemin_deal_value / max_deal_value
Date filtersstartDateAfter / startDateBefore / endDateBefore / endDateAfterstart_date_after / start_date_before / end_date_before / end_date_after
Federal flagincludeFederalContractsinclude_federal_contracts

Output envelope renamed: companyDomaincompany_domain, organizationIdorganization_id, contractCountcontract_count, hasMorehas_more, and all contract sub-fields to snake_case.

2026-07-30 — Breaking: v2 POST /data-api/v2/companies/enrich; status enum → activeOnly; per-contract status dropped

Why this changed: company_contracts now proxies POST /data-api/v2/companies/enrich with fields: ['contracts'] instead of the legacy /v2/organizations/enrich flow.

Breaking changes

BeforeAfter
Contract status filterstatus: 'active' | 'churned' | 'all'activeOnly: boolean (default false)
Per-contract statuspresentremoved — active-ness is a request-level filter
Per-contract endDateinconsistentpresent (YYYY-MM-DD)
New detail fieldstitle, summary, announcementDate, customerDrivers, contractStructure, contractEvent, bidProcess, serviceLines

Migration: replace status: 'active' with activeOnly: true. There is no direct replacement for status: 'churned' — use activeOnly: false and filter client-side on endDate, or use endDateBefore with today's date.