tilley-mcp-web - Tool Documentation

Read-only documentation page for available MCP tools and parameters.
Tool modules: 17
Total tools: 69
Health: /health
MCP transport: POST / (auth required)
OAuth protected resource: /.well-known/oauth-protected-resource
Public base URL: https://test.mcp.farmtilley.com
MCP issuer: https://test.mcp.farmtilley.com
Cognito issuer: https://cognito-idp.us-east-2.amazonaws.com/us-east-2_CrGQj2ghJ
arc-plc

ArcPlc_ArcCoCountyYieldOverride_Search

read-only idempotent open-world Search ARC-CO county yield overrides

Search county-level ARC-CO yield overrides (modeling / stress test inputs).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
state_name UsStateName? no DATANAC enumerated state; full state name.
county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
crop_year int? no Crop year (typical filter).
is_active bool no true Active rows only; default true.

ArcPlc_ProgramElection_Search

read-only idempotent open-world Search ARC/PLC program elections

Search ARC-CO vs. PLC program elections by farm, commodity, crop year, and location.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no Optional row id filter (GUID string).
crop_year int? no Crop year (typical filter).
state_name UsStateName? no DATANAC enumerated state; full state name.
county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
program_category string no FSA program category filter (e.g. arc_plc); DATANAC enumerated where applicable.
is_active bool no true Active rows only; default true.

tilley_ProgramElection_Select

read-only idempotent open-world Select program elections (full rows)

[User Data] Select ProgramElection rows (full table projection) for advanced use.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no Optional row id filter (GUID string).
crop_year int? no Crop year (typical filter).
state_name UsStateName? no DATANAC enumerated state; full state name.
county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
program_category string no FSA program category filter (e.g. arc_plc); DATANAC enumerated where applicable.
is_active bool no true Active rows only; default true.
arc-plc-calculation

ArcPlc_Calculate_Payments

read-only idempotent open-world Calculate ARC-County and PLC payments (model)

[Calculation] Generic ARC-County (ARC-CO) and PLC payment model: pass crop year, state, county, commodity, program (arc-co or plc), base acres, share, and PLC yield. For ARC-CO when FSA publishes split Irrigated/Non-Irrigated yields, choose one of two approaches: (1) arc_co_practice = "irrigated" or "non-irrigated" to model a single practice, OR (2) historical_irrigation_percentage (HIP, 0–1) to blend both practices by irrigated weight. Counties with a single unsplit practice need neither parameter. Loads ARCCOYields, ARCCOPrices, EffectiveReferencePrices, MarketYearAveragePrices, and PLCPaymentRates from DATANAC/FSA.ARCPLC via the same SMOCI SelectObject path as aip-pass /data (cached in-process by crop year + location + commodity). Does not use ProgramElection, producer_token, or DATANAC-Users. Outputs totalArcCoPayment, totalPlcPayment, totalArcPlcPayment, paymentsByCommodity; guidanceHints note missing FSA rows. Not an FSA official determination.

Name Type Required Default Description
crop_year int yes Marketing / crop year for the scenario (integer).
location_state_name UsStateName yes State name for county-level ARC-CO yields (full name, e.g. Texas).
location_county_name string yes County name matching FSA ARC/PLC county labels.
commodity_name DatanacCommodityName yes Commodity name matching FSA ARC/PLC labels (e.g. Corn, Cotton).
program_election string yes Program to model: arc-co (ARC-County) or plc (PLC). This is a scenario input only — not read from any database election row.
base_acreage decimal yes Base acres for the scenario (decimal).
share_percent decimal yes Producer share as a decimal fraction (e.g. 1.0 for 100%).
plc_yield decimal yes PLC yield (decimal); used for PLC payment; also carried on the scenario row for ARC-CO.
type_name DatanacTypeName? no DATANAC enumerated type name.
program_category string no Optional FSA-style program category label on the synthetic scenario row (often empty).
arc_co_practice string no ARC-CO only: "irrigated" or "non-irrigated" to narrow to one practice when the county FSA publishes a split. Alternatively, omit this and provide historical_irrigation_percentage (HIP) to blend both Irrigated and Non-Irrigated rows by irrigated weight. Omit both to auto-detect (unsplit / single-practice counties). Synonyms: i, irrigated, ni, dry, dryland, non-irrigated.
historical_irrigation_percentage decimal? no When ARC-CO yields include both Irrigated and Non-Irrigated rows, this sets the irrigated blend weight (0–1, i.e. HIP). Providing this value is an alternative to arc_co_practice: both Irrigated and Non-Irrigated practice rows are kept and ARCPLC weights them by this percentage. Pass 1.0 for fully irrigated, 0.0 for fully non-irrigated, or any value in between for a blended scenario. Omit (null) when using arc_co_practice to model a single practice, or when the county publishes only one practice. When the tool narrows to a single Irrigated practice via arc_co_practice, it overrides this to 1.0.
budget

Budget_CostOfProduction_Search

read-only idempotent open-world Search Cost of Production rows

Returns **Cost of Production** rows (one per practice in a given state/county for that year — yield, projected price, reported acreage, projected revenue, production cost). Each row rolls up under an **Enterprise Budget**. Provide `budget_id` (preferred — drills under a known Enterprise Budget) **or** `year` + `state_name` + `county_name` + `commodity_name` (+ optional `type_name` / `practice_name`) for a dimensional query. Use the returned `id` as `budget_county_practice_id` for `Budget_LineItem_Search` or `Budget_LineItemDetail_Search`.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_id string no **Enterprise Budget** id (GUID) — the year-level budget that contains all counties and crops. Returned as `id` from `Budget_EnterpriseBudget_Search`; pass it here as `budget_id` to scope a Cost of Production search or to anchor a new Cost of Production row.
year int? no Crop year (e.g. 2026). Allowed range: 2000–2100.
status BudgetStatus? no **Enterprise Budget** status: "active" or "draft". Only `active` Enterprise Budgets feed into other modules (insurance, marketing, ARC/PLC).
state_name UsStateName? no Full US state name (e.g. "Texas", "Illinois"). The C# enum constrains the schema to the supported set.
county_name string no County name within the selected state (e.g. "Carson", "McLean"). Max 30 characters. The valid set depends on the chosen state, so the schema does not enumerate counties; pick a real county for the state and the proc will reject unknowns.
commodity_name DatanacCommodityName? no Commodity name (e.g. Corn, Soybeans, Wheat). The C# enum constrains the schema to the supported set.
type_name DatanacTypeName? no Commodity type (e.g. Grain, Forage, Yellow). The C# enum constrains the schema to the supported set.
practice_name DatanacPracticeName? no Practice (e.g. Irrigated, Non-Irrigated). The C# enum constrains the schema to the supported set.
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.

Budget_CostOfProduction_Update

open-world Create or update a Cost of Production row

Create or update one **Cost of Production** row (yield, projected price, reported acreage, geography) under a given Enterprise Budget. Requires `budget_id` (the parent Enterprise Budget id). Insert: omit `id` — call `Util_NewGuid` first to mint a fresh value. Update: pass the existing `id` returned from `Budget_CostOfProduction_Search`.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_id string no "" **Enterprise Budget** id (GUID) — the year-level budget that contains all counties and crops. Returned as `id` from `Budget_EnterpriseBudget_Search`; pass it here as `budget_id` to scope a Cost of Production search or to anchor a new Cost of Production row.
state_name UsStateName? no Full US state name (e.g. "Texas", "Illinois"). The C# enum constrains the schema to the supported set.
county_name string no County name within the selected state (e.g. "Carson", "McLean"). Max 30 characters. The valid set depends on the chosen state, so the schema does not enumerate counties; pick a real county for the state and the proc will reject unknowns.
commodity_name DatanacCommodityName? no Commodity name (e.g. Corn, Soybeans, Wheat). The C# enum constrains the schema to the supported set.
type_name DatanacTypeName? no Commodity type (e.g. Grain, Forage, Yellow). The C# enum constrains the schema to the supported set.
practice_name DatanacPracticeName? no Practice (e.g. Irrigated, Non-Irrigated). The C# enum constrains the schema to the supported set.
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.
id string no Row id (GUID). For an **update**, pass the existing row's `id` from the corresponding Search tool. For an **insert**, obtain a fresh value by calling `Util_NewGuid` first — do not invent your own GUID, and do not reuse an existing row's id.
reported_acreage double? no Reported acreage for this **Cost of Production** row. Units are acres; meaningful bounds vary by commodity, so no fixed range is enforced at the schema layer.
yield double? no Projected or approved yield for this **Cost of Production** row. Units depend on commodity (bushels/acre, hundredweight/acre, lbs/head). Server logic forces yield = 1.0 for livestock; for crops, pass the per-acre yield. No fixed range enforced at the schema layer.
projected_price double? no Projected price for this **Cost of Production** row, in $/unit (matching the yield unit). No fixed range enforced at the schema layer.

Budget_EnterpriseBudget_Search

read-only idempotent open-world Search Enterprise Budgets

Returns **Enterprise Budget** rows (the year-level header containing all counties and crops). Typical filters: `year`, `status`, `id`. Only `status="active"` Enterprise Budgets feed into other modules. Use the returned `id` as `budget_id` for `Budget_CostOfProduction_Search` to drill into per-practice rows.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int? no Crop year (e.g. 2026). Allowed range: 2000–2100.
status BudgetStatus? no **Enterprise Budget** status: "active" or "draft". Only `active` Enterprise Budgets feed into other modules (insurance, marketing, ARC/PLC).
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.
id string no **Enterprise Budget** id (GUID) — the year-level budget that contains all counties and crops. Returned as `id` from `Budget_EnterpriseBudget_Search`; pass it here as `budget_id` to scope a Cost of Production search or to anchor a new Cost of Production row.

Budget_EnterpriseBudget_Update

open-world Create or update an Enterprise Budget header

Create or update an **Enterprise Budget** header (name, year, status). Insert: omit `id` — call `Util_NewGuid` first to mint a fresh value, then pass it as `id`. Update: pass the existing `id` returned from `Budget_EnterpriseBudget_Search`. Does not touch Cost of Production rows or line items.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
name string no "" **Enterprise Budget** display name (e.g. "2026 Crop Plan"). Max 50 characters.
year int no 0 Crop year (e.g. 2026). Allowed range: 2000–2100.
status BudgetStatus? no **Enterprise Budget** status: "active" or "draft". Only `active` Enterprise Budgets feed into other modules (insurance, marketing, ARC/PLC).
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.
id string no Row id (GUID). For an **update**, pass the existing row's `id` from the corresponding Search tool. For an **insert**, obtain a fresh value by calling `Util_NewGuid` first — do not invent your own GUID, and do not reuse an existing row's id.

Budget_LineItemDetail_Search

read-only idempotent open-world Search Budget Line Item Details

Returns **Budget Line Item Details** under a **Cost of Production** row — the inputs/components inside each line item (e.g. "Ammonia", "Nitrogen" under the "Chemicals" line item). Requires `budget_county_practice_id`. Optional `line_item_name` filter narrows to details under one parent line item.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_county_practice_id string no "" **Cost of Production** id (GUID) — one practice row (state/county/commodity/type/practice) under an Enterprise Budget. Returned as `id` from `Budget_CostOfProduction_Search`; pass it here as `budget_county_practice_id` to drill into Budget Line Items or Budget Line Item Details, or to anchor an upsert.
line_item_name string no Parent **Budget Line Item** name to filter Budget Line Item Details by (e.g. "Chemicals" returns details like "Ammonia", "Nitrogen"). Max 50 characters. Omit to return all details under the Cost of Production row.
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.

Budget_LineItemDetail_Update

open-world Batch upsert Budget Line Item Details

Batch upsert **Budget Line Item Details** under one **Cost of Production** row. Requires `budget_county_practice_id` and a JSON array of detail objects (use `Util_NewGuid` for the `id` of each new row). Each detail's `line_item_name` must match an existing parent Budget Line Item under the same Cost of Production row. Pre-existing items not present in the array are unaffected.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_county_practice_id string no "" **Cost of Production** id (GUID) — one practice row (state/county/commodity/type/practice) under an Enterprise Budget. Returned as `id` from `Budget_CostOfProduction_Search`; pass it here as `budget_county_practice_id` to drill into Budget Line Items or Budget Line Item Details, or to anchor an upsert.
budget_county_practice_schedule_items_json string no [] JSON array of **Budget Line Item Details** to upsert under this Cost of Production row. Each item is an object with these fields (matching the wire shape the proc's OPENJSON reads): `id` (GUID; omit for insert — call `Util_NewGuid` to obtain a fresh one), `category` (string), `ordinal` (int), `line_item_name` (string — must match an existing parent Budget Line Item under the same Cost of Production row), `name` (string), `quantity` (number), `unit_of_measure` (string), `case_quantity` (number), `case_unit_of_measure` (string), `unit_value` (number), `value` (number), `is_active` (boolean), `input_share_percent` (number). Pass `[]` to clear (only the items you send are upserted; pre-existing items not in the array are unaffected).

Budget_LineItem_Search

read-only idempotent open-world Search Budget Line Items

Returns **Budget Line Items** (e.g. "Seed", "Chemicals", "Rent") under one **Cost of Production** row. Requires `budget_county_practice_id` (the Cost of Production id, returned as `id` from `Budget_CostOfProduction_Search`).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_county_practice_id string no "" **Cost of Production** id (GUID) — one practice row (state/county/commodity/type/practice) under an Enterprise Budget. Returned as `id` from `Budget_CostOfProduction_Search`; pass it here as `budget_county_practice_id` to drill into Budget Line Items or Budget Line Item Details, or to anchor an upsert.
budget_id string no **Enterprise Budget** id (GUID) — the year-level budget that contains all counties and crops. Returned as `id` from `Budget_EnterpriseBudget_Search`; pass it here as `budget_id` to scope a Cost of Production search or to anchor a new Cost of Production row.
is_active bool no true Soft-delete flag. Defaults to true (live rows). Pass false to include archived rows.

Budget_LineItem_Update

open-world Batch upsert Budget Line Items

Batch upsert **Budget Line Items** under one **Cost of Production** row. Requires `budget_county_practice_id` and a JSON array of line item objects (use `Util_NewGuid` for the `id` of each new row). Pre-existing items not present in the array are unaffected.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
budget_county_practice_id string no "" **Cost of Production** id (GUID) — one practice row (state/county/commodity/type/practice) under an Enterprise Budget. Returned as `id` from `Budget_CostOfProduction_Search`; pass it here as `budget_county_practice_id` to drill into Budget Line Items or Budget Line Item Details, or to anchor an upsert.
budget_county_practice_line_items_json string no [] JSON array of **Budget Line Items** to upsert under this Cost of Production row. Each item is an object with these fields (matching the wire shape the proc's OPENJSON reads): `id` (GUID; omit for insert — call `Util_NewGuid` to obtain a fresh one), `category` (string), `ordinal` (int), `name` (string), `value` (number), `is_active` (boolean), `input_share_percent` (number), `unit_of_measure` (string), `case_quantity` (number), `case_unit_of_measure` (string), `unit_value` (number), `quantity` (number). Pass `[]` to clear (only the items you send are upserted; pre-existing items not in the array are unaffected).
Code Interpreter

code_interpreter

read-only open-world Code interpreter (hosted)

Runs the hosted code interpreter (Responses API with built-in code_interpreter; Python in the provider sandbox). Put the task or instructions in input. Optional: instructions, model, tool_choice, memory_limit (1g|4g|16g|64g), file_ids (comma-separated), container_id (reuse an existing container).

Name Type Required Default Description
input string yes Primary user/task text (maps to Responses API input).
instructions string no Optional system/developer instructions.
model string no Optional model id (defaults to config key OpenAI:ResponsesModel, else gpt-4.1-mini).
tool_choice string no Optional tool_choice JSON string for the request body.
memory_limit string no Container memory_limit for auto container: 1g, 4g, 16g, or 64g.
file_ids string no Comma-separated file ids for the hosted interpreter container.
container_id string no Container id to reuse (overrides auto container object).
Datanac

SCN_Soybean_Risk_Calculator

read-only idempotent open-world Soybean cyst nematode risk

Do not call this tool until every required parameter has a concrete value—never invoke with placeholders, omissions, or guesses; collect missing values from the user or from prerequisite tool calls first. Calculates Soybean Cyst Nematode (SCN) yield loss percentage, yield loss in bu/acre, and profit loss per acre. Conversation flow (do not stall on sand/pH—the user picks a formation; you fetch sand/pH from SSURGO): 1) First user message: establish state and county and begin collecting yield_potential, soybean_price, and scn_egg_count as needed. Do NOT call soil_composition_lookup on that opening message only—wait until county is confirmed and you are on a follow-up turn. 2) Early—on your next reply once state and county are known (second interaction onward)—you MUST call soil_composition_lookup WITHOUT map_unit_name, SHOW the returned formation (map unit) names to the user in full, and PROMPT them to choose one. Do not treat formations as optional fine print, do not wait until yield/price/egg count are all collected before this lookup, and do not repeatedly offer to list formations without actually calling the tool and displaying results. 3) Continue collecting any still-missing yield_potential, soybean_price, or scn_egg_count across turns as needed. 4) After the user picks a formation, call soil_composition_lookup WITH that map_unit_name to obtain Avg_sand and Avg_soil_ph. 5) Call this tool only when every required argument is ready. Do NOT prompt the user for female_index — the state-average default is applied automatically.

Name Type Required Default Description
scn_egg_count decimal yes Required. SCN eggs per 100 cc soil from a laboratory soil test. Typical risk bands: low < 2,000; moderate 2,000–10,000; high > 10,000 eggs/100cc.
state_name UsStateName yes DATANAC enumerated state; full state name.
sand_percentage decimal yes Required. Percent sand in the soil (0–100). Normally supply Avg_sand from soil_composition_lookup after the user picks a map unit (formation)—do not ask the user for sand % unless they volunteer measured values. Higher sand increases SCN risk.
soil_ph decimal yes Required. Soil pH (typically 4.5–8.5). Normally supply Avg_soil_ph from soil_composition_lookup after the user picks a formation—do not ask the user for pH unless they volunteer measured values. SCN risk increases as pH rises above 7.
yield_potential decimal yes Required. Expected soybean yield in bu/acre for this field under non-SCN conditions (yield potential / APH).
soybean_price decimal yes Required. Local soybean cash price in $/bu used to calculate profit loss per acre.
female_index decimal? no Do NOT prompt the user for this value. The calculator automatically applies a published state-average when omitted (IL=30, IN=43, IA=45, MO=56, MI=40, NE=35, OH=33, SD=22, WI=23, etc.). Only supply this if the user explicitly volunteers a female index from their own SCN resistance test (0–100 scale; lower = better resistance).

soil_composition_lookup

read-only idempotent open-world SSURGO soil composition

Do not call this tool until every required parameter has a concrete value—never invoke with placeholders, omissions, or guesses; collect missing values from the user or from prerequisite tool calls first. GSSURGO soil composition lookup — filter by state_name, county_name, and optional map_unit_name. Required inputs for every call: state_name and county_name. After county is known, call WITHOUT map_unit_name early in the thread (not on the user's very first message—see SCN tool flow): list formations, display them prominently, and ask the user to select one for sand/pH. Then call again WITH that exact map_unit_name to get Avg_sand and Avg_soil_ph for SCN_Soybean_Risk_Calculator.

Name Type Required Default Description
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
map_unit_name string no Optional GSSURGO map unit name (formation). Omit on the first call to list all available formations for the county. Supply the exact name the user chose to retrieve Avg_sand and Avg_soil_ph for that formation.
documents

DocumentContent_Search

read-only idempotent open-world Search document content memory

Search indexed document content via RG Memory/Item and return raw payload.

Name Type Required Default Description
search_text string yes Required search phrase used for semantic content search in Documents memory.
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
memory_name string no Optional memory name override (defaults to Documents).
filter_document_id string no Optional document id filter to limit content search to one document GUID.
is_active bool no true Active rows only; default true.

DocumentDictionary_Search

read-only idempotent open-world Search document dictionary catalog

Search DocumentDictionary catalog rows linked to `document_id`.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int? no Crop or tax year filter (matches FinancialDocument.year and dictionary search).
section string no Optional DocumentDictionary.section filter (SMOCI-style section string).
module string no Optional DocumentDictionary.module filter (SMOCI-style module string).
dictionary_object string no Optional DocumentDictionary.object filter (SMOCI-style object name string).
is_active bool no true Active rows only; default true.

Document_DocumentGetContent

read-only idempotent open-world Get document content payload

[User Data] Return the raw text payload resolved from RG contentUrl for a financial document.

Name Type Required Default Description
id string yes Financial document id (GUID string; required). This is FinancialDocument.id — the uploaded file row.
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
is_active bool no true Active rows only; default true.

Document_FileGetLink

read-only idempotent open-world Get document open link

[User Data] Return a presigned document URL for viewing/downloading the original uploaded file.

Name Type Required Default Description
id string yes Financial document id (GUID string; required). This is FinancialDocument.id — the uploaded file row.
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
is_active bool no true Active rows only; default true.

Document_Search

read-only idempotent open-world List financial document files

List financial document file rows (file name, type, year, ids) for producer/agent scope.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int? no Crop or tax year filter (matches FinancialDocument.year and dictionary search).
id string no Optional FinancialDocument.id filter (GUID string).
document_type_name string no Optional document_type_name filter (DATANAC enumerated financial form type).
is_active bool no true Active rows only; default true.
emails

Emails_AttachmentFileGetLink

read-only idempotent open-world Download ToTilley email attachment file

Get a presigned download URL for a ToTilley **email attachment** file. Pass `id` from `Emails_Search` (attachment row where `document_url` is set). Files are stored at S3 key `producer_token/file_document_id` by totilley-daemon — not the Document vault / RG chunk pipeline. Returns `download_url` (expires ~1 day) and `document_name` for Content-Disposition.

Name Type Required Default Description
id string yes DocumentSourceEntry id (GUID) from Emails_Search for an attachment row (where document_url is set). Same value as document_url / file id in ToTilley daemon uploads.
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
is_approved bool? no When true (default), return only approved inbox rows. Set false to include unapproved rows, or pass null via API to omit the filter.

Emails_Search

read-only idempotent open-world Search emails and attachments (ToTilley inbox)

Search **Emails** (alias: **Email Attachments**) — ToTilley inbox rows for a producer. Each row is either the email body (content-only; empty document_url) or an attachment (document_name = file name). The `content` field holds the email body text (stored as notes). When `document_url` is present, download the raw attachment with `Emails_AttachmentFileGetLink` (ToTilley S3 path). Do not use `Document_FileGetLink` for these rows — that targets the RG FinancialDocument pipeline.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
dateRangeStart DateTime? no Optional inclusive start calendar date for received-date filter (matches DocumentSourceEntry.CreateDate by day; time zone / time-of-day is ignored).
dateRangeEnd DateTime? no Optional inclusive end calendar date for received-date filter (matches DocumentSourceEntry.CreateDate by day; time zone / time-of-day is ignored).
is_approved bool no true When true (default), return only approved inbox rows. Set false to include unapproved rows, or pass null via API to omit the filter.
id string no Optional DocumentSourceEntry id (GUID) to fetch a single inbox row.
document_source_id string no Optional DocumentSource id (GUID) filter for a specific ToTilley address/source.
farm

Farms_ProducerFarmBaseAcres_Search

read-only idempotent open-world Search base acres & PLC yields

Search ProducerFarmBaseAcres (Farm Bill base acres / PLC yields).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
crop_year int? no Crop year filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

Farms_ProducerFarmFieldCropHistory_Search

read-only idempotent open-world Search crop yield history (APH)

Search ProducerFarmFieldCropHistory (APH yields).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
crop_year int? no Crop year filter.
yield_type_code string no Yield type code (e.g. A = Actual).
is_active bool no true Active rows only; default true.

Farms_ProducerFarmFieldCrop_Search

read-only idempotent open-world Search field crops

Returns planted crop rows by field and crop year (commodity, type, practice, acreage/yields as exposed by search). For drill-down, pass `producer_farm_field_id` from farm field search. For exploratory search, filter with `location_state_name`, `location_county_name`, `commodity_name`, and optional `type_name` / `practice_name`. Prefer a specific `crop_year` before loosening other filters. Rows respect producer vs agent visibility (`GetProducersByRole` in SQL).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

Farms_ProducerFarmField_Search

read-only idempotent open-world Search farm fields, tracts

Returns tract/field rows (identifiers, acreage, location context as exposed by search) under a farm. Call after you have a farm: pass `producer_farm_id` from a farm search row. Use `crop_year` when acreage rollups should reflect one season; omitting year can widen or aggregate acreage across seasons depending on stored data.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK from ProducerFarm search.
crop_year int? no Crop year filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

Farms_ProducerFarm_Search

read-only idempotent open-world Search farms

Returns farm-level rows (location, identifiers, rollups as exposed by search) for the scoped producer or agent. Use as the primary **farm discovery** query before tract/field or planted-crop detail. Typical filters: `crop_year`; optional `location_state_name` and `location_county_name` (always pair county with state).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year (typical filter).
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

tilley_ProducerFarmBaseAcres_Select

read-only idempotent open-world Select base acres (full rows)

Select ProducerFarmBaseAcres rows as objects (SMOCI SelectObject).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
crop_year int? no Crop year filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

tilley_ProducerFarmFieldCropHistory_Select

read-only idempotent open-world Select crop history (full rows)

Select ProducerFarmFieldCropHistory rows via SMOCI SelectObject.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
crop_year int? no Crop year filter.
yield_type_code string no Yield type code (e.g. A = Actual).
is_active bool no true Active rows only; default true.

tilley_ProducerFarmFieldCrop_Select

read-only idempotent open-world Select field crops (full rows)

Select ProducerFarmFieldCrop rows as objects (SMOCI SelectObject).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

tilley_ProducerFarmField_Select

read-only idempotent open-world Select farm fields (full rows)

Select ProducerFarmField rows as objects (SMOCI SelectObject).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
producer_farm_id string no Farm PK from ProducerFarm search.
crop_year int? no Crop year filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

tilley_ProducerFarm_Select

read-only idempotent open-world Select producer farms (full rows)

Select ProducerFarm rows as objects (SMOCI SelectObject).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year (typical filter).
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.
financial-interview

FinancialInterview_Begin

open-world Begin financial interview

Start a financial interview wizard session; returns session metadata and an empty bundle template.

Name Type Required Default Description
year int no 0 Crop / statement year for the interview (defaults to current calendar year if omitted).

FinancialInterview_Complete

open-world Complete financial interview

Finish the interview: returns the final JSON bundle for the chat and removes server-side session state.

Name Type Required Default Description
session_id string yes Interview session id returned by FinancialInterview_Begin; required for Status and Complete.

FinancialInterview_Status

open-world Status financial interview

Update or inspect the interview: pass session_id and optionally replace accounts for one step via accounts_json + step_category_key; returns the merged JSON bundle so far.

Name Type Required Default Description
session_id string yes Interview session id returned by FinancialInterview_Begin; required for Status and Complete.
active_step_index int? no 0-based wizard step index to treat as current (optional; defaults to last explicit value or 0).
step_category_key string no Wizard step category_key to update (e.g. schedule_financial_statement_accounts_liquid). Must match a step from Begin.
accounts_json string no JSON array of account objects for the given step_category_key (replaces existing rows for that step).
generic-smoci

datanac_Data_Search

open-world Search SMOCI data (generic)

SMOCI Search via aip-pass DataController.

Name Type Required Default Description
smociSection string yes SMOCI section, e.g. DATANAC
smociModule string yes SMOCI module, e.g. Users or AIP.PASS
smociObject string yes SMOCI object name
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
year int? no Marketing CropProfile-style year field when applicable.
yield_type_code string no APH yield type code when applicable.
is_active bool no true Active rows only; default true.

datanac_Data_Select

open-world Select SMOCI objects (generic)

SMOCI SelectObject via aip-pass DataController.

Name Type Required Default Description
smociSection string yes SMOCI section
smociModule string yes SMOCI module
smociObject string yes SMOCI object name
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
year int? no Marketing CropProfile-style year field when applicable.
yield_type_code string no APH yield type code when applicable.
is_active bool no true Active rows only; default true.

datanac_Data_SelectFile

open-world Export SMOCI data (tab-separated file)

SMOCI SelectFile (tab-separated export) via aip-pass DataController.

Name Type Required Default Description
smociSection string yes SMOCI section
smociModule string yes SMOCI module
smociObject string yes SMOCI object name
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
year int? no Marketing CropProfile-style year field when applicable.
yield_type_code string no APH yield type code when applicable.
is_active bool no true Active rows only; default true.

datanac_ProducerFarmCropWithHistory_Search

open-world Search farm crop with yield history

Search joined producer farm crop + history (DATANAC / AIP.PASS).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
producer_farm_id string no Farm PK filter.
producer_farm_field_id string no Field PK filter.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
is_active bool no true Active rows only; default true.
insurance

Insurance_InsuranceOffer_Select

read-only idempotent open-world Select RMA insurance offers

[System Data — RMA actuarial] Select available insurance plans/offers for a county and commodity year.

Name Type Required Default Description
reinsurance_year int yes RMA reinsurance year (crop year for insurance offers; required).
commodity_name DatanacCommodityName yes DATANAC enumerated commodity (required).
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
state_name UsStateName? no DATANAC enumerated state; full state name.
county_name string no "" DATANAC enumerated county.

Insurance_InsurancePlanClaim_Search

read-only idempotent open-world Search insurance plan claims

Returns claim / indemnity rows that relate to insurance plans via `insurance_plan_id`. Prefer passing that key from **InsurancePlan_Search** when you already have a plan. Use `reinsurance_year` to pin the reinsurance window for indemnities. Optionally narrow with `commodity_name`, `location_state_name`, and `location_county_name` to trim large sets. The underlying search allows many null filters and favors active rows—avoid stacking filters unless the user wants a tight slice.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
insurance_plan_id string no Insurance plan id (GUID string; optional filter on claims).
reinsurance_year int? no Reinsurance year filter on plans or claims (int).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
location_state_name UsStateName? no DATANAC enumerated state; full state name.
location_county_name string no DATANAC enumerated county.
is_active bool no true Active rows only; default true.

Insurance_InsurancePlan_Search

read-only idempotent open-world Search insurance plans

Returns insurance plan coverage rows (plan name, coverage level, `state_name`, `county_name`, `commodity_name`, `type_name`, `practice_name`, etc.). If you already have an insurance scenario, filter with `insurance_scenario_id` before narrowing by `state_name`, `county_name`, `commodity_name`, `type_name`, and `practice_name`. Otherwise combine `crop_year` with those same fields when refining.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
insurance_scenario_id string no Insurance scenario id (GUID string; optional filter on plans).
crop_year int? no Reinsurance year filter on plans or claims (int).
state_name UsStateName? no DATANAC enumerated state name (budget county-practice).
county_name string no DATANAC enumerated county name (budget county-practice).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
status BudgetStatus? no Plan status filter (string).
is_active bool no true Active rows only; default true.

Insurance_InsuranceScenario_Select

read-only idempotent open-world Select insurance scenarios

[User Data] Select insurance scenario headers (name, crop year, status) via SMOCI SelectObject.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no Insurance scenario row id (GUID string; optional filter).
crop_year int? no Crop year (typical filter).
status BudgetStatus? no Insurance scenario status filter (string).
is_active bool no true Active rows only; default true.

Insurance_StressTestResult_Search

read-only idempotent open-world Search stress test results

Returns pre-computed stress-test grid cells (yield/price scenarios) for an insurance scenario. Always pass `insurance_scenario_id` first to scope the grid. Optionally add `commodity_name`, `state_name`, and `county_name` only if the result volume is noisy.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
insurance_scenario_id string no "" Insurance scenario id (GUID string; required) — scopes stress-test grid results.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
state_name UsStateName? no DATANAC enumerated state name (budget county-practice).
county_name string no DATANAC enumerated county name (budget county-practice).
is_active bool no true Active rows only; default true.
marketing

Marketing_Buyer_Search

read-only idempotent open-world Search grain buyers

Search the producer's grain buyers (elevators, merchants, processors).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
is_active bool no true Active rows only; default true.

Marketing_CropProfile_Search

read-only idempotent open-world Search marketing crop profiles

Search CropProfile (marketing crop profiles).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
year int? no Profile year.
is_active bool no true Active rows only; default true.

Marketing_MarketTransactionHistory_Search

read-only idempotent open-world Search market transaction history

[User Data] Search broker-posted market transaction history (OTC, futures/options from brokerage).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int? no Marketing / transaction history year filter (int).
is_posted bool? no Whether brokerage transactions are posted (optional).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
is_active bool no true Active rows only; default true.

Marketing_PositionSummarySalesByCategory_Search

read-only idempotent open-world Search sales by category

[User Data] Search sales breakdown by contract category for a year and commodity.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int no 0 Marketing / position-summary year (required, int).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
is_active bool no true Active rows only; default true.

Marketing_PositionSummary_Search

read-only idempotent open-world Search position summary

Search top-level marketing position rollup (sold vs produced, % marketed, average price, etc.).

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int no 0 Marketing / position-summary year (required, int).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
is_active bool no true Active rows only; default true.

Marketing_Sale_Select

read-only idempotent open-world Select grain sales

[User Data] Select grain sales / contracts (cash, HTA, basis, futures, OTC) via SMOCI SelectObject.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
crop_year int? no Crop year filter.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
category string no Sale contract category filter (e.g. cash, HTA, basis, futures, OTC).
is_active bool no true Active rows only; default true.
id string no Sale row id (GUID string; optional filter).

Marketing_UserTransactionHistory_Search

read-only idempotent open-world Search user transaction history

Search producer brokerage account / futures-options transaction history.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
year int? no Marketing / transaction history year filter (int).
is_posted bool? no Whether brokerage transactions are posted (optional).
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
is_active bool no true Active rows only; default true.

tilley_CropProfile_Select

read-only idempotent open-world Select crop profiles (full rows)

Select CropProfile rows via DATANAC/Users SMOCI SelectObject.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
commodity_name DatanacCommodityName? no DATANAC enumerated commodity name.
year int? no Profile year.
is_active bool no true Active rows only; default true.
Markets

Futures

read-only idempotent open-world Futures & options quotes

Futures / options reference data via DATANAC Markets stored proc Futures_Search (symbol_year maps to reinsurance_year).

Name Type Required Default Description
symbol_year int yes Calendar year for contract / reinsurance year (nonce: symbol_year).
commodity_name DatanacCommodityName yes DATANAC enumerated commodity name.
location_state_name UsStateName yes DATANAC enumerated state; full state name.
location_county_name string yes DATANAC enumerated county.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
member

Admin_Member_Search

read-only idempotent open-world Search members / billing (admin)

Admin-only: search member / billing profile rows via Users API MemberController. Supports phonetic search by `last_name` or `business_name`.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no Member id (GUID string); optional filter when searching member rows.
is_active bool no true Active rows only; default true.

Client_Search

read-only idempotent open-world Search agent clients (UserGrant)

**Find clients**, **find farmers**, or **find producers**—users often mean the same thing: list the producers linked to an agent via UserGrant sharing grants (`POST /UserGrant/search`). Scope with `agent_token` as required by the tool.

Name Type Required Default Description
agent_token string no Agent id (GUID) whose UserGrant rows (clients / producers) you want listed. Synonym: the agent side of agent→producer sharing. Omit only when signed in as that agent so JWT custom:agent_token is used; admins must supply this. Do not send "" — omit or JSON null.

Member_Select

read-only idempotent open-world Select member (full row; current user context)

Identify an individual member by `id`. Returns the full member row via SelectObject (DATANAC/Users/Member). Uses HTTP auth context plus `producer_token` / `agent_token` for scope.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no Member id (GUID string); optional filter when searching member rows.
is_active bool no true Active rows only; default true.

Member_Subscription_Search

read-only idempotent open-world Search member subscription status

[User Data] Look up subscription / customer status in Central Payments for a member id.

Name Type Required Default Description
producer_token string no Producer scope token (GUID string). `producer_token` may be null or omitted when not specified: the authenticated user's session supplies it from the JWT `custom:producer_token` claim when that claim is present (typical for a signed-in producer). Admins must pass the producer GUID from chat context when acting on behalf of a producer. Omit this argument or send JSON null for autofill or when there is no producer scope; do not send an empty string (not a valid GUID and can cause parse errors).
agent_token string no Agent scope token (GUID string). Optional when the signed-in user is an agent: the server fills it from the JWT custom:agent_token claim if you omit it. Omit or JSON null when unused; do not send an empty string.
id string no "" Member / customer id (GUID string) used by Central Payments subscription lookup (maps to API body field id).
is_active bool no true Active rows only; default true.
RMA Actuarial Data

Insurance_Dates

read-only idempotent open-world RMA insurance dates graph

Date_ExportObjectGraph on DATANAC-RMA — sales closing / planting dates JSON for county and crop. The stored procedure uses reinsurance year, commodity, state, and county only. Optional type/practice/plan arguments are forwarded for vault authorization metadata only—they do not change the proc inputs.

Name Type Required Default Description
reinsurance_year JsonElement yes Reinsurance / commodity year (JSON number or numeric string, e.g. 2024 or "2024").
commodity_name DatanacCommodityName yes DATANAC enumerated commodity (required).
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
type_name string no Optional plain-text filter label for vault authorization only (not passed to Date_ExportObjectGraph).
practice_name string no Optional plain-text filter label for vault authorization only (not passed to Date_ExportObjectGraph).
insurance_plan_name string no Optional plain-text filter label for vault authorization only (not passed to Date_ExportObjectGraph).

RMA_ADM_Insurance_Coverage_Levels

read-only idempotent open-world RMA ADM coverage levels

Area coverage levels by insurance offer (uvw_ix_AreaCoverageLevelByInsuranceOffer). Filters by year, commodity, location, and optional type/practice/plan match LINQ predicates on the view.

Name Type Required Default Description
reinsurance_year JsonElement yes Reinsurance year (JSON number or numeric string).
commodity_name DatanacCommodityName yes DATANAC enumerated commodity (required).
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
type_name DatanacTypeName? no DATANAC enumerated type name.
practice_name DatanacPracticeName? no DATANAC enumerated practice name.
insurance_plan_name string no Insurance plan name (optional exact match).

RMA_ADM_Insurance_Offers

read-only idempotent open-world RMA ADM insurance offers

InsuranceOffer_Search — commodity / type / practice / plan rows for county and year.

Name Type Required Default Description
reinsurance_year JsonElement yes Reinsurance year (JSON number or numeric string).
commodity_name DatanacCommodityName yes DATANAC enumerated commodity (required).
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
practice_name string no DATANAC enumerated practice name.
insurance_plan_name string no Insurance plan name (optional exact match).
RMA Summary of Business

RMA_Summary_of_Business

read-only idempotent open-world RMA SOB all years

SummaryOfBusinessByInsurancePlan_Search — SOB across years (commodity_year null) by county / crop / practice.

Name Type Required Default Description
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
commodity_name DatanacCommodityName yes DATANAC enumerated commodity name.
type_name DatanacTypeName yes DATANAC enumerated type name.
practice_name DatanacPracticeName yes DATANAC enumerated practice name.

RMA_Summary_of_Business_by_Year

read-only idempotent open-world RMA SOB by year

SummaryOfBusiness_Search — SOB for one commodity year (crop / county / practice filters).

Name Type Required Default Description
commodity_year int yes Commodity (crop) year.
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
commodity_name DatanacCommodityName yes DATANAC enumerated commodity name.
type_name DatanacTypeName yes DATANAC enumerated type name.
practice_name DatanacPracticeName yes DATANAC enumerated practice name.

RMA_Summary_of_Business_Cause_of_Loss

read-only idempotent open-world RMA SOB cause of loss (all years)

SummaryOfBusinessCauseOfLoss_Search with commodity_year null (all years).

Name Type Required Default Description
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
commodity_name DatanacCommodityName yes DATANAC enumerated commodity name.
insurance_plan_name string no "" RMA insurance plan name filter (optional).
cause_of_loss_description string no "" Cause of loss description filter (optional).

RMA_Summary_of_Business_Cause_of_Loss_by_Year

read-only idempotent open-world RMA SOB cause of loss (year)

SummaryOfBusinessCauseOfLoss_Search with commodity_year set.

Name Type Required Default Description
commodity_year int yes Commodity (crop) year.
state_name UsStateName yes DATANAC enumerated state; full state name.
county_name string yes DATANAC enumerated county.
commodity_name DatanacCommodityName yes DATANAC enumerated commodity name.
insurance_plan_name string no "" RMA insurance plan name filter (optional).
cause_of_loss_description string no "" Cause of loss description filter (optional).
web-search

extract_web_excel

read-only idempotent open-world Extract Excel from URL

Download xlsx and extract text (rg toolkit extract_web_excel). Optional regex returns named capture groups.

Name Type Required Default Description
url string yes Absolute URL to xlsx.
regex string no Optional .NET regex on extracted workbook text.
ignore_case bool no false Case-insensitive regex when regex is set.
max_text_chars int? no Optional max extracted text chars.

extract_web_pdf

read-only idempotent open-world Extract PDF text from URL

Download PDF and extract text (rg toolkit extract_web_pdf). Do not guess or invent a regex — omit `regex` unless a skill, system instructions, or the user explicitly supplies or clearly describes a pattern. When regex is provided, use named capture groups (?<name>...).

Name Type Required Default Description
url string yes Absolute URL to PDF.
regex string no Optional .NET regex on extracted text (named groups). Only pass when explicitly given or described — never invent a pattern.
ignore_case bool no false Case-insensitive regex when regex is set.
max_text_chars int? no Optional max extracted text chars in JSON output.

extract_web_text

read-only idempotent open-world Fetch URL and regex extract

Download URL as text and apply named-group regex (rg toolkit extract_web_text).

Name Type Required Default Description
url string yes Absolute URL.
pattern string yes .NET regex with (?<name>...) groups.
max_bytes int? no Optional max bytes.
ignore_case bool no false Case-insensitive regex.

get_web_text

read-only idempotent open-world HTTP GET URL as text

HTTP GET a URL and return body text with metadata (rg toolkit get_web_text).

Name Type Required Default Description
url string yes Absolute http(s) URL.
max_bytes int? no Optional max bytes.

search_web

read-only idempotent open-world Web search

Search the web via Perplexity Search API (ranked URLs with snippets). Same intent as RG toolkit locate_web. Domain scope is fixed in server configuration (Perplexity:DomainFilter), not a tool parameter.

Name Type Required Default Description
text string yes Search query text.
max_results int? no Max results 1–20 (default 8).