@oneshot-agent/mcp-server 0.47.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ export const LOOKUP_MANIFEST = [
6
6
  "name": "company_bank_profile",
7
7
  "path": "lookup/company-bank-profile",
8
8
  "title": "Bank Profile",
9
- "description": "Given a bank's name or its FDIC certificate number, return the matching institutions insured by the US Federal Deposit Insurance Corporation. Each has its name, certificate number, whether it is currently open and insured, city and state, primary federal regulator, charter class code, the date it was established, its website, and its total assets and total deposits in US dollars as of the reporting date. Use it to check that a bank is real, insured and still open. Give exactly one of `name` and `fdic_certificate`. A name is a text match, so similarly named banks come back too, best match first: tell them apart by the certificate number on each row, and prefer the certificate number when you have it, since it is an exact match. Closed institutions are included, with `active` false. `total` is the number of institutions that matched, which may be more than `limit`. No match is a completed result with `total` 0 and an empty list. Credit unions are not included.",
9
+ "description": "Returns the banks insured by the US Federal Deposit Insurance Corporation that match a name or FDIC certificate number: whether each is open and insured, location, regulator, charter class, date established, website, total assets and total deposits. Use it to check that a bank is real, insured and still open. Credit unions are not included. Give exactly one of `name` and `fdic_certificate`. Each institution has its name, certificate number, whether it is currently open and insured, city and state, primary federal regulator, charter class code, the date it was established, its website, and its total assets and total deposits in US dollars as of the reporting date. A name is a text match, so similarly named banks come back too, best match first: tell them apart by the certificate number on each row, and prefer the certificate number when you have it, since it is an exact match. Closed institutions are included, with `active` false. `total` is the number of institutions that matched, which may be more than `limit`. No match is a completed result with `total` 0 and an empty list.",
10
10
  "inputSchema": {
11
11
  "type": "object",
12
12
  "properties": {
@@ -21,6 +21,10 @@ export const LOOKUP_MANIFEST = [
21
21
  "limit": {
22
22
  "type": "integer",
23
23
  "description": "Most banks to return. From 1 to 10. Defaults to `5`."
24
+ },
25
+ "fresh": {
26
+ "type": "boolean",
27
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
24
28
  }
25
29
  },
26
30
  "required": []
@@ -33,7 +37,7 @@ export const LOOKUP_MANIFEST = [
33
37
  "name": "record_clinical_trials_find",
34
38
  "path": "find/record-clinical-trials",
35
39
  "title": "Clinical Trials",
36
- "description": "Search the clinical studies registered with the US National Library of Medicine, in any country, for a condition, a treatment or other search words, most recently updated first. Each study gives its registry number, title, status, phases, study type, conditions, interventions, lead sponsor, enrollment, start and primary completion dates, the date it was last updated, the countries of its sites and a link to the study. Give `condition`, `query` or both, and optionally narrow by `status` (recruiting, not_yet_recruiting, active_not_recruiting, completed, terminated, withdrawn or suspended). Use it to see what research is registered on a disease or a drug, who sponsors it and how far along it is. A study record is what the sponsor registered, not a finding about a treatment. Contact and investigator details are not returned. `total` is how many studies matched, including any beyond `limit`, and is 0 when none did.",
40
+ "description": "Searches the clinical studies registered with the US National Library of Medicine, in any country, for a condition, a treatment or other words, most recently updated first: registry number, title, status, phases, conditions, interventions, sponsor, enrollment, dates, site countries and link. A study record is what the sponsor registered, not a finding about a treatment. Give `condition`, `query` or both, and optionally narrow by `status` (recruiting, not_yet_recruiting, active_not_recruiting, completed, terminated, withdrawn or suspended). Each study also gives its study type, start and primary completion dates and the date it was last updated. Use it to see what research is registered on a disease or a drug, who sponsors it and how far along it is. Contact and investigator details are not returned. `total` is how many studies matched, including any beyond `limit`, and is 0 when none did.",
37
41
  "inputSchema": {
38
42
  "type": "object",
39
43
  "properties": {
@@ -76,7 +80,7 @@ export const LOOKUP_MANIFEST = [
76
80
  "name": "company_filings",
77
81
  "path": "lookup/company-filings",
78
82
  "title": "Company Filings",
79
- "description": "Look up a US public company by its Central Index Key (CIK), the identifier the US Securities and Exchange Commission assigns to every filer. Returns the registry record: legal name, entity type, industry, tickers, exchanges, state of incorporation, fiscal year end, website, phone, former names and business address; and the most recent filings, newest first, each with form type, filing date, reporting period and a link to the document. Narrow the filings with `form` (exact form type, for example 10-K), `filed_after` and `filed_before`. Looks up by identifier only: it does not search by company name or ticker, and it does not return officers. Filters apply to the most recent filings the register lists inline (about 1,000), not the full history. `found` is false when the identifier is not in the register.",
83
+ "description": "Returns a US public company's registry record and most recent filings from the US Securities and Exchange Commission, by its Central Index Key (CIK): name, entity type, industry, tickers and addresses, then each filing's form, dates and document link, newest first. It looks up by identifier only, not by company name or ticker, and does not return officers. The CIK is the identifier the US Securities and Exchange Commission assigns to every filer. The registry record gives the legal name, entity type, industry, tickers, exchanges, state of incorporation, fiscal year end, website, phone, former names and business address. Each filing gives its form type, filing date, reporting period and a link to the document. Narrow the filings with `form` (exact form type, for example 10-K), `filed_after` and `filed_before`. Filters apply to the most recent filings the register lists inline (about 1,000), not the full history. `found` is false when the identifier is not in the register.",
80
84
  "inputSchema": {
81
85
  "type": "object",
82
86
  "properties": {
@@ -99,6 +103,10 @@ export const LOOKUP_MANIFEST = [
99
103
  "limit": {
100
104
  "type": "integer",
101
105
  "description": "Most filings to return, newest first. From 1 to 50. Defaults to `10`."
106
+ },
107
+ "fresh": {
108
+ "type": "boolean",
109
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
102
110
  }
103
111
  },
104
112
  "required": [
@@ -115,7 +123,7 @@ export const LOOKUP_MANIFEST = [
115
123
  "name": "compound_hazards",
116
124
  "path": "lookup/compound-hazards",
117
125
  "title": "Compound Hazards",
118
- "description": "Give the GHS hazard classification of a chemical compound by its compound identifier (CID) or by a name: a common, trade or systematic name, or a CAS registry number such as 50-00-0. Returns one classification per classifying source, in the source order: the GHS pictograms with their codes (GHS05), the signal word, the hazard statements with their codes (H314) and the precautionary statement codes. Only two classifying sources are returned: the EU harmonised classification (Regulation (EC) No 1272/2008) and the Hazardous Substances Data Bank of the US National Library of Medicine; every other source is left out, so a compound classified only by others returns an empty list. `classified` is true when a returned classification has a hazard statement. A name matching several compounds uses the first and lists them all in `matched_cids`. `compound` is null when the name or CID matches nothing, or the source has no classification for the compound. Give exactly one of `cid` and `name`. Toxicity values, exposure limits, the full safety data sheet, and any synthesis or preparation data are not returned.",
126
+ "description": "Returns the GHS hazard classification of a compound, by PubChem CID, name or CAS number, from the US National Center for Biotechnology Information: pictograms, signal word, hazard statements and precautionary codes, one classification per classifying source. Classifications come from the EU harmonised classification and the Hazardous Substances Data Bank of the US National Library of Medicine; others are left out. A name is a common, trade or systematic name, or a CAS registry number such as 50-00-0. Give exactly one of `cid` and `name`. Classifications come in source order: the GHS pictograms with their codes (GHS05), the signal word, the hazard statements with their codes (H314) and the precautionary statement codes. The EU harmonised classification is Regulation (EC) No 1272/2008. A compound classified only by other sources returns an empty list. `classified` is true when a returned classification has a hazard statement. A name matching several compounds uses the first and lists them all in `matched_cids`. `compound` is null when the name or CID matches nothing, or the source has no classification for the compound. Toxicity values, exposure limits, the full safety data sheet, and any synthesis or preparation data are not returned.",
119
127
  "inputSchema": {
120
128
  "type": "object",
121
129
  "properties": {
@@ -138,7 +146,7 @@ export const LOOKUP_MANIFEST = [
138
146
  "name": "compound_properties",
139
147
  "path": "lookup/compound-properties",
140
148
  "title": "Compound Properties",
141
- "description": "Give the computed molecular descriptors of a chemical compound by its compound identifier (CID) or its InChIKey: the IUPAC name, molecular formula, InChIKey, molecular weight in g/mol, exact mass in Da, XLogP, topological polar surface area in square angstroms, the counts of hydrogen bond donors and acceptors, rotatable bonds and heavy atoms, the formal charge and the complexity score, with a link to the compound page. These are values the source computes from the structure, not measurements. Use it to characterise a compound in a literature review, a screening library or a regulatory file. Give exactly one of `cid` and `inchikey`. `compound` is null when the source knows no compound with that identifier. Synonyms, depositor records, and any synthesis or preparation data are not returned.",
149
+ "description": "Returns the computed molecular descriptors of a compound, by PubChem CID or InChIKey, from the US National Center for Biotechnology Information: IUPAC name, formula, InChIKey, molecular weight, exact mass, XLogP, polar surface area, hydrogen bond donor and acceptor counts, rotatable bonds, heavy atoms, formal charge and complexity. These are values the source computes from the structure, not measurements. Molecular weight is in g/mol, exact mass in Da and topological polar surface area in square angstroms. A link to the compound page is included. Use it to characterise a compound in a literature review, a screening library or a regulatory file. Give exactly one of `cid` and `inchikey`. `compound` is null when the source knows no compound with that identifier. Synonyms, depositor records, and any synthesis or preparation data are not returned.",
142
150
  "inputSchema": {
143
151
  "type": "object",
144
152
  "properties": {
@@ -161,7 +169,7 @@ export const LOOKUP_MANIFEST = [
161
169
  "name": "compound_resolve",
162
170
  "path": "resolve/compound",
163
171
  "title": "Compound Resolve",
164
- "description": "Give exactly one of name (a common, trade or systematic name, or a CAS registry number), inchikey or smiles. Returns compound identifiers, computed names, molecular formulas, InChIKeys, connectivity SMILES and compound page links. Matches retain the source order, up to limit. Ambiguous is true whenever the source matched more than one CID, even if limit returns only one. An unknown compound returns an empty matches list. SMILES containing / or \\ are refused because the source path form cannot carry them. Identity only: no synonym lists, depositor records, synthesis routes, preparation methods or precursor lists.",
172
+ "description": "Resolves a compound name, CAS registry number, InChIKey or SMILES to PubChem compounds of the US National Center for Biotechnology Information: identifiers, computed names, molecular formulas, InChIKeys, connectivity SMILES and compound page links. Identity only: no synonym lists, depositor records, synthesis routes, preparation methods or precursor lists. Give exactly one of name (a common, trade or systematic name, or a CAS registry number), inchikey or smiles. Matches retain the source order, up to limit. Ambiguous is true whenever the source matched more than one CID, even if limit returns only one. An unknown compound returns an empty matches list. SMILES containing / or \\ are refused because the source path form cannot carry them.",
165
173
  "inputSchema": {
166
174
  "type": "object",
167
175
  "properties": {
@@ -192,7 +200,7 @@ export const LOOKUP_MANIFEST = [
192
200
  "name": "compound_targets",
193
201
  "path": "lookup/compound-targets",
194
202
  "title": "Compound Targets",
195
- "description": "Reports what the Open Targets Platform public database says about a drug or clinical candidate’s protein targets and mechanisms of action, with gene symbols and references. For research; not medical advice. Give exactly one of chembl_id or name. A PubChem CID is not accepted: pass the compound’s name, which Compound Resolve and Compound Properties return. A name search selects the first hit and lists up to three candidates so you can retry by ChEMBL id. An unknown compound returns matched: false. Does not return indications, adverse events, warnings, measured bioactivity or synthesis and preparation data.",
203
+ "description": "Reports what the Open Targets Platform public database says about a drug or clinical candidate's protein targets and mechanisms of action, with gene symbols and references, by ChEMBL id or name. For research; not medical advice. Indications, adverse events, warnings, measured bioactivity and synthesis or preparation data are not returned. Give exactly one of chembl_id or name. A PubChem CID is not accepted: pass the compound’s name, which Compound Resolve and Compound Properties return. A name search selects the first hit and lists up to three candidates so you can retry by ChEMBL id. An unknown compound returns matched: false.",
196
204
  "inputSchema": {
197
205
  "type": "object",
198
206
  "properties": {
@@ -215,7 +223,7 @@ export const LOOKUP_MANIFEST = [
215
223
  "name": "company_consumer_complaints",
216
224
  "path": "lookup/company-consumer-complaints",
217
225
  "title": "Consumer Finance Complaints",
218
- "description": "Given a financial company's name, return how many complaints consumers have filed about it with the US Consumer Financial Protection Bureau, the five largest groups by product and by how the company answered, and the newest complaints. Use it to check a bank, lender, card issuer or credit bureau before dealing with it. Complaints are consumers' reports, not findings. The source matches the name as text, so similarly named companies can appear: `companies` lists the five most matched names with their counts and every complaint carries the company name the source holds. `since` (YYYY-MM-DD) counts only complaints received on or after that date and `limit` sets how many complaints are returned (1 to 25, default 10). A name with no complaint is a completed result with a total of 0 and empty lists.",
226
+ "description": "Given a financial company's name, returns how many complaints consumers have filed about it with the US Consumer Financial Protection Bureau, the five largest groups by product and by how the company answered, and the newest complaints. Complaints are consumers' reports, not findings. The name is matched as text, so similarly named companies can appear. Use it to check a bank, lender, card issuer or credit bureau before dealing with it. `companies` lists the five most matched names with their counts and every complaint carries the company name the source holds. `since` (YYYY-MM-DD) counts only complaints received on or after that date and `limit` sets how many complaints are returned (1 to 25, default 10). A name with no complaint is a completed result with a total of 0 and empty lists.",
219
227
  "inputSchema": {
220
228
  "type": "object",
221
229
  "properties": {
@@ -230,6 +238,10 @@ export const LOOKUP_MANIFEST = [
230
238
  "limit": {
231
239
  "type": "integer",
232
240
  "description": "Most complaints to return, newest first. From 1 to 25. Defaults to `10`."
241
+ },
242
+ "fresh": {
243
+ "type": "boolean",
244
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
233
245
  }
234
246
  },
235
247
  "required": [
@@ -244,8 +256,8 @@ export const LOOKUP_MANIFEST = [
244
256
  {
245
257
  "name": "company_contractor_license",
246
258
  "path": "lookup/company-contractor-license",
247
- "title": "Contractor Licence",
248
- "description": "Look up a construction contractor in the Washington State contractor licence register, which refreshes daily. `state` is required; currently only WA is covered. Give exactly one of `license_number`, `ubi` (the state business identifier) and `name`. Names are matched ignoring case as a substring of the business name, so a short distinctive fragment works best. Return at most `limit` licences, newest effective date first, each with its type, status, whether it is active, effective, expiration and suspension dates, specialties, business type, principal and address. The phone number is not returned, and the street line is null for an individual (a sole proprietor), whose street may be a home. Missing values are null; dates are YYYY-MM-DD. An empty licenses list is a completed result: no licence was found under that number, identifier or name, not evidence that the contractor never held one.",
259
+ "title": "Contractor License",
260
+ "description": "Returns construction contractor licenses from the register of the Washington State Department of Labor & Industries, refreshed daily, by license number, state business identifier (UBI) or name: type, status, dates, specialties, business type, principal and address. An empty list means no license was found under that input, not that the contractor never held one. `state` is required and must be WA. Give exactly one of `license_number`, `ubi` and `name`. Names are matched ignoring case as a substring of the business name, so a short distinctive fragment works best. Returns at most `limit` licenses, newest effective date first, each with its type, status, whether it is active, effective, expiration and suspension dates, specialties, business type, principal and address. The phone number is not returned, and the street line is null for an individual (a sole proprietor), whose street may be a home. Missing values are null; dates are YYYY-MM-DD.",
249
261
  "inputSchema": {
250
262
  "type": "object",
251
263
  "properties": {
@@ -271,6 +283,10 @@ export const LOOKUP_MANIFEST = [
271
283
  "limit": {
272
284
  "type": "integer",
273
285
  "description": "Most licences to return. From 1 to 20. Defaults to `5`."
286
+ },
287
+ "fresh": {
288
+ "type": "boolean",
289
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
274
290
  }
275
291
  },
276
292
  "required": [
@@ -286,7 +302,7 @@ export const LOOKUP_MANIFEST = [
286
302
  "name": "record_court_cases_find",
287
303
  "path": "find/record-court-cases",
288
304
  "title": "Court Cases",
289
- "description": "Search a public archive of published US federal and state court opinions, or choose kind=dockets to search federal cases and their filings. Returns case names, courts, filing dates, citations when available, docket numbers, short excerpts and links, ordered by relevance. For opinions, the filing date is the decision date; for dockets, it is when the case was filed. Coverage varies by court and does not include every case or filing. Only the first page is read, with at most limit matches returned. Docket totals above 2,000 are approximate, with up to 6% error. An excerpt is the start of an opinion or a matching filing, at most 500 characters; it is not a case summary. Open the URL for the source record. The source's terms prohibit using this data for credit, insurance, employment, housing or other eligibility decisions covered by the Fair Credit Reporting Act.",
305
+ "description": "Searches a public archive of published US federal and state court opinions, or federal dockets and their filings with kind=dockets, by relevance: case names, courts, filing dates, citations, docket numbers, excerpts and links. The source's terms prohibit using this data for credit, insurance, employment, housing or other eligibility decisions covered by the Fair Credit Reporting Act. For opinions, the filing date is the decision date; for dockets, it is when the case was filed. Citations come when available. Coverage varies by court and does not include every case or filing. Only the first page is read, with at most limit matches returned. Docket totals above 2,000 are approximate, with up to 6% error. An excerpt is the start of an opinion or a matching filing, at most 500 characters; it is not a case summary. Open the URL for the source record.",
290
306
  "inputSchema": {
291
307
  "type": "object",
292
308
  "properties": {
@@ -345,7 +361,7 @@ export const LOOKUP_MANIFEST = [
345
361
  "name": "vehicle_crash_ratings",
346
362
  "path": "lookup/vehicle-crash-ratings",
347
363
  "title": "Crash Ratings",
348
- "description": "Give the federal crash test star ratings of a vehicle by make, model and model year: the overall rating, the frontal and side crash ratings for the driver and the passenger, the side pole rating, the rollover rating with the rollover risk, and whether electronic stability control, forward collision warning and lane departure warning are standard or optional. The result also lists every rated variant of the model year, with the identifier the source gives each, so a second call with `variant` can rate another one. Use it to compare the safety of vehicles before a purchase, a fleet decision or an insurance review. Covers US passenger vehicles rated in the federal New Car Assessment Program. `rated` is false when the model year has no rated variant or none matches `variant`; a rating is null when the source says the test was not run. To start from a vehicle identification number, decode it first with Vehicle Identification. Recalls and owner complaints have their own tools.",
364
+ "description": "Returns the federal crash test star ratings of a make, model and model year from the New Car Assessment Program of the US National Highway Traffic Safety Administration: overall, frontal, side, side pole and rollover ratings, the rollover risk, and which safety features are standard or optional. A rating is null when the source says the test was not run. The safety features are electronic stability control, forward collision warning and lane departure warning. The result also lists every rated variant of the model year, with the identifier the source gives each, so a second call with `variant` can rate another one. Use it to compare the safety of vehicles before a purchase, a fleet decision or an insurance review. Covers US passenger vehicles rated in the federal New Car Assessment Program. `rated` is false when the model year has no rated variant or none matches `variant`. To start from a vehicle identification number, decode it first with Vehicle Identification. Recalls and owner complaints have their own tools.",
349
365
  "inputSchema": {
350
366
  "type": "object",
351
367
  "properties": {
@@ -379,11 +395,41 @@ export const LOOKUP_MANIFEST = [
379
395
  "variant": "FWD"
380
396
  }
381
397
  },
398
+ {
399
+ "name": "record_customs_rulings_find",
400
+ "path": "find/record-customs-rulings",
401
+ "title": "Customs Rulings",
402
+ "description": "Searches rulings published by US Customs and Border Protection, closest match first, with ruling numbers you can cite, dates, tariff numbers and revocation status. A ruling binds only the goods it describes. The rate itself comes from Duty Rate. New rulings are added daily as issued. Each answer includes the ruling date and a link to the ruling page. The optional tariff_number prefix filters the returned page. Fewer than limit rulings may remain; total is the source match count before filtering.",
403
+ "inputSchema": {
404
+ "type": "object",
405
+ "properties": {
406
+ "query": {
407
+ "type": "string",
408
+ "description": "Search words, for example bluetooth speaker. 2 to 200 characters."
409
+ },
410
+ "tariff_number": {
411
+ "type": "string",
412
+ "description": "Keep rulings with a tariff number starting with this prefix, for example 8518, 8518.22 or 8518.22.0000"
413
+ },
414
+ "limit": {
415
+ "type": "integer",
416
+ "description": "The most rulings to fetch before the optional tariff filter. From 1 to 20. Defaults to `10`."
417
+ }
418
+ },
419
+ "required": [
420
+ "query"
421
+ ]
422
+ },
423
+ "example": {
424
+ "query": "bluetooth speaker",
425
+ "limit": 1
426
+ }
427
+ },
382
428
  {
383
429
  "name": "product_device_clearances",
384
430
  "path": "lookup/product-device-clearances",
385
431
  "title": "Device Clearances",
386
- "description": "Look up medical devices cleared by the US Food and Drug Administration through premarket notification (510(k)). Supply at least one clearance number, applicant, device name or product code. Names are matched as word phrases; multiple filters must all match. Returns the total matches and clearance records, newest decision first, with device classifications and decision and received dates. Contact names and street addresses are excluded. No match returns an empty list. The source refreshes weekly.",
432
+ "description": "Returns the medical devices the US Food and Drug Administration cleared through premarket notification (510(k)), by clearance number, applicant, device name or product code, newest decision first: the clearance records, device classifications, decision and received dates, and the total matches. Contact names and street addresses are excluded. Supply at least one clearance number, applicant, device name or product code. Names are matched as word phrases; multiple filters must all match. No match returns an empty list. The source refreshes weekly.",
387
433
  "inputSchema": {
388
434
  "type": "object",
389
435
  "properties": {
@@ -419,7 +465,7 @@ export const LOOKUP_MANIFEST = [
419
465
  "name": "place_disasters",
420
466
  "path": "lookup/place-disasters",
421
467
  "title": "Disaster Declarations",
422
- "description": "List the federal disaster declarations (floods, hurricanes, fires, storms, earthquakes and more) that covered a US county, newest first. Use it to check the hazard history of a property, a policy or a claim location. Both `state` and `county` are required. Declarations that cover a whole state are included for every county in it and marked `statewide`. `total` is the number of matching declarations, which can exceed the page returned when `limit` is lower. Narrow with `incident_type` (for example Flood, Hurricane, Fire) and a declaration date range. A county with no declarations is a completed result with `total` 0.",
468
+ "description": "Lists the federal disaster declarations (floods, hurricanes, fires, storms, earthquakes and more) that covered a US county, newest first, from the US Federal Emergency Management Agency. Declarations that cover a whole state are included for every county in it and marked `statewide`. `total` counts every match and can exceed the page returned. Use it to check the hazard history of a property, a policy or a claim location. Both `state` and `county` are required. Narrow with `incident_type` (for example Flood, Hurricane, Fire) and a declaration date range. A county with no declarations is a completed result with `total` 0.",
423
469
  "inputSchema": {
424
470
  "type": "object",
425
471
  "properties": {
@@ -466,7 +512,7 @@ export const LOOKUP_MANIFEST = [
466
512
  "name": "market_drug_acquisition_cost",
467
513
  "path": "lookup/market-drug-acquisition-cost",
468
514
  "title": "Drug Acquisition Cost",
469
- "description": "Look up the NADAC survey by an 11-digit NDC (dashes are removed) or an exact drug description converted to uppercase. At least one is required; NDC takes precedence when both are supplied. Reads up to 100 source rows, newest weekly as-of date first, then newest effective date, keeps the first row per NDC and returns up to limit prices. The survey refreshes weekly and publishes its own effective and as-of dates. These are pharmacy acquisition rates per unit, not retail patient prices. No match returns an empty prices list.",
515
+ "description": "Returns drug prices per unit from the weekly national drug acquisition survey (NADAC) of the US Centers for Medicare & Medicaid Services, by 11-digit NDC or exact drug description, with the survey's effective and as-of dates. These are pharmacy acquisition rates per unit, not retail patient prices. At least one of the NDC (dashes are removed) and the description (converted to uppercase) is required; NDC takes precedence when both are supplied. Reads up to 100 source rows, newest weekly as-of date first, then newest effective date, keeps the first row per NDC and returns up to limit prices. No match returns an empty prices list.",
470
516
  "inputSchema": {
471
517
  "type": "object",
472
518
  "properties": {
@@ -493,7 +539,7 @@ export const LOOKUP_MANIFEST = [
493
539
  "name": "product_drug_adverse_events",
494
540
  "path": "lookup/product-drug-adverse-events",
495
541
  "title": "Drug Adverse Events",
496
- "description": "List the reactions most often named in the adverse event reports sent to the US Food and Drug Administration for a drug, from a drug name matched against the product name on the reports. A name of several words is matched as a phrase. Each reaction is the source's term with the number of reports that name it, most reported first. A drug with no reports gives an empty list. The total number of reports is not given. A report does not show that the drug caused the reaction, the reports are unverified, and the source says its data must not be relied on for decisions about medical care.",
542
+ "description": "Lists the reactions most often named in adverse event reports sent to the US Food and Drug Administration for a drug, with the number of reports naming each. A report does not show that the drug caused the reaction, the reports are unverified, and the source says its data must not be relied on for decisions about medical care. The drug name is matched against the product name on the reports. A name of several words is matched as a phrase. Each reaction is the source's term, most reported first. A drug with no reports gives an empty list. The total number of reports is not given.",
497
543
  "inputSchema": {
498
544
  "type": "object",
499
545
  "properties": {
@@ -519,7 +565,7 @@ export const LOOKUP_MANIFEST = [
519
565
  "name": "product_drug_shortages",
520
566
  "path": "lookup/product-drug-shortages",
521
567
  "title": "Drug Shortages",
522
- "description": "Say whether the US Food and Drug Administration lists a drug as in shortage, from a drug name matched against the generic name and the brand name. A name of several words is matched as a phrase. `status` narrows the list to `current` shortages, drugs `to_be_discontinued` or shortages that are `resolved`. Each listed presentation gives the generic name, the brand names, the company, the status, whether it is available, the dosage form, the presentation and its package NDC, the therapeutic categories, the reason it is short, any related information and the dates it was first posted and last updated. Most recently updated first. `total` is how many presentations matched, including any beyond `limit`, and is 0 when the drug is not on the list. A drug that is not listed is not in shortage on this list, which says nothing about a particular pharmacy's stock. The source says its data must not be relied on for decisions about medical care.",
568
+ "description": "Says whether the US Food and Drug Administration lists a drug as in shortage, matched by generic or brand name: each presentation's status, availability, company, dosage form, package NDC, reason and dates. A drug that is not listed is not in shortage on this list, which says nothing about a particular pharmacy's stock. A name of several words is matched as a phrase. `status` narrows the list to `current` shortages, drugs `to_be_discontinued` or shortages that are `resolved`. Each listed presentation gives the generic name, the brand names, the company, the status, whether it is available, the dosage form, the presentation and its package NDC, the therapeutic categories, the reason it is short, any related information and the dates it was first posted and last updated. Most recently updated first. `total` is how many presentations matched, including any beyond `limit`, and is 0 when the drug is not on the list. The source says its data must not be relied on for decisions about medical care.",
523
569
  "inputSchema": {
524
570
  "type": "object",
525
571
  "properties": {
@@ -555,7 +601,7 @@ export const LOOKUP_MANIFEST = [
555
601
  "name": "product_duty_rate",
556
602
  "path": "lookup/product-duty-rate",
557
603
  "title": "Duty Rate",
558
- "description": "Look up lines of the US Harmonized Tariff Schedule with their scheduled rate: the general, special and column 2 (other) rates for a heading such as `7408.11`, or candidate lines for a keyword such as `copper wire`. Lines come in schedule order and keep their `indent`: for a heading lookup every line beneath it is returned, so a line sits under the nearest earlier line with a lower indent; a keyword search returns only the matching lines, without their ancestors, so there `indent` is depth only and says nothing about which heading a line belongs to. A heading has no rate of its own, its rates are on the indented lines below. This is the scheduled rate only: it does not add duties imposed by trade-remedy or emergency actions; footnotes are returned as the schedule gives them, each with the rate column(s) it qualifies, and additional-duties notes as given. It is a lookup, not a classification: it does not choose a code for a product, so a keyword search returns candidates for the caller to choose from. A keyword of several words matches lines containing any of them (`copper wire` returns copper ores as well as wire); wrap the words in double quotes to match the exact phrase (`\"copper wire\"`). Covers goods imported into the US. `total` is how many lines the schedule search matched, as the source counts them; `lines` is cut to `limit`. No match is a completed result with `total` 0.",
604
+ "description": "Returns lines of the US Harmonized Tariff Schedule from the US International Trade Commission, with their general, special and column 2 (other) rates, for a heading such as `7408.11` or a keyword such as `copper wire`. This is the scheduled rate only: it does not add duties imposed by trade-remedy or emergency actions, and it does not classify a product. Lines come in schedule order and keep their `indent`: for a heading lookup every line beneath it is returned, so a line sits under the nearest earlier line with a lower indent; a keyword search returns only the matching lines, without their ancestors, so there `indent` is depth only and says nothing about which heading a line belongs to. A heading has no rate of its own, its rates are on the indented lines below. Footnotes are returned as the schedule gives them, each with the rate column(s) it qualifies, and additional-duties notes as given. It is a lookup, not a classification: it does not choose a code for a product, so a keyword search returns candidates for the caller to choose from. A keyword of several words matches lines containing any of them (`copper wire` returns copper ores as well as wire); wrap the words in double quotes to match the exact phrase (`\"copper wire\"`). Covers goods imported into the US. `total` is how many lines the schedule search matched, as the source counts them; `lines` is cut to `limit`. No match is a completed result with `total` 0.",
559
605
  "inputSchema": {
560
606
  "type": "object",
561
607
  "properties": {
@@ -581,7 +627,7 @@ export const LOOKUP_MANIFEST = [
581
627
  "name": "place_earthquakes",
582
628
  "path": "lookup/place-earthquakes",
583
629
  "title": "Earthquakes",
584
- "description": "List the earthquakes recorded within a distance of a point, given its latitude and longitude. Use it to check the seismic history around a property, a facility or a route stop. Earthquakes are returned newest first, each with its magnitude, depth in kilometres, how many people reported feeling it (`felt_reports`, null when nobody was asked or none reported) and whether a tsunami was flagged. By default it looks back 30 days within 100 km for magnitude 2.5 and above; `since` and `until` (YYYY-MM-DD, UTC) set the dates, `radius_km` the distance (1 to 500), `min_magnitude` the floor and `limit` the most returned (1 to 50). Events the source records as something other than an earthquake, such as quarry blasts, are left out. A point with no earthquake in range is a completed result with an empty list.",
630
+ "description": "Lists the earthquakes the US Geological Survey recorded within a distance of a latitude and longitude, newest first: magnitude, depth in kilometres, felt reports and whether a tsunami was flagged. By default it looks back 30 days within 100 km for magnitude 2.5 and above. Quarry blasts and other events that are not earthquakes are left out. Use it to check the seismic history around a property, a facility or a route stop. `felt_reports` is how many people reported feeling it, null when nobody was asked or none reported. `since` and `until` (YYYY-MM-DD, UTC) set the dates, `radius_km` the distance (1 to 500), `min_magnitude` the floor and `limit` the most returned (1 to 50). A point with no earthquake in range is a completed result with an empty list.",
585
631
  "inputSchema": {
586
632
  "type": "object",
587
633
  "properties": {
@@ -632,7 +678,7 @@ export const LOOKUP_MANIFEST = [
632
678
  "name": "company_environmental_compliance",
633
679
  "path": "lookup/company-environmental-compliance",
634
680
  "title": "Environmental Compliance",
635
- "description": "Give the federal environmental compliance record of the facilities regulated under a company or facility name, optionally within one US state: for each facility its address and registry id, its overall compliance status, whether it is currently a significant violator, how many of the last twelve quarters it was in violation, its inspections, formal enforcement actions and penalties over the last five years, and when it was last inspected and last penalised. The result also gives how many facilities matched in all and their penalties summed. Use it to check a supplier, a site or a counterparty against federal air, water, hazardous waste and drinking water programs. Covers US facilities regulated under federal environmental programs. The source matches every whole word of the name, in any order, against the current and alternate names a facility carries across its programs: a part of a word matches nothing, a search for Tesla also returns a facility on Tesla Road, and a facility matched under an alternate name may show a name without one of the words. The totals count every facility the search matched, not facilities verified to belong to the named company: tell facilities apart by address and registry id, and give `state` to narrow the search. `total_facilities` is 0 and `facilities` is empty when no facility name carries every word. A count or date is null when the source does not record it.",
681
+ "description": "Returns the federal environmental compliance record, from the US Environmental Protection Agency, of the facilities matching a company or facility name: compliance status, significant violations, quarters in violation, inspections, enforcement actions and penalties over five years. A match is by the words of the name, not verified ownership: tell facilities apart by address and registry id. Optionally narrow to one US state with `state`. For each facility: its address and registry id, its overall compliance status, whether it is currently a significant violator, how many of the last twelve quarters it was in violation, its inspections, formal enforcement actions and penalties over the last five years, and when it was last inspected and last penalised. The result also gives how many facilities matched in all and their penalties summed. Use it to check a supplier, a site or a counterparty against federal air, water, hazardous waste and drinking water programs. Covers US facilities regulated under federal environmental programs. The source matches every whole word of the name, in any order, against the current and alternate names a facility carries across its programs: a part of a word matches nothing, a search for Tesla also returns a facility on Tesla Road, and a facility matched under an alternate name may show a name without one of the words. The totals count every facility the search matched, not facilities verified to belong to the named company. `total_facilities` is 0 and `facilities` is empty when no facility name carries every word. A count or date is null when the source does not record it.",
636
682
  "inputSchema": {
637
683
  "type": "object",
638
684
  "properties": {
@@ -647,6 +693,10 @@ export const LOOKUP_MANIFEST = [
647
693
  "limit": {
648
694
  "type": "integer",
649
695
  "description": "How many facilities to return. From 1 to 25. Defaults to `10`."
696
+ },
697
+ "fresh": {
698
+ "type": "boolean",
699
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
650
700
  }
651
701
  },
652
702
  "required": [
@@ -663,7 +713,7 @@ export const LOOKUP_MANIFEST = [
663
713
  "name": "company_fda_registration",
664
714
  "path": "lookup/company-fda-registration",
665
715
  "title": "FDA Establishment Registration",
666
- "description": "Covers medical device establishments registered with the US Food and Drug Administration, worldwide. Supply exactly one registration number, FEI number or firm name. A name search may match many establishments of one group; country narrows name searches only. registration_year is the year the registration runs to. Groups up to 100 source listings into establishments, in first-seen order. Products are unique by product code, at most 25 per establishment, newest created date first; duplicate codes use the newest listing’s details. When truncated is true, only the first 100 source listings are considered: product lists may be incomplete, and name searches may omit entire establishments. Named contacts are excluded. No match returns an empty list. The source refreshes weekly; the evidence date identifies its snapshot.",
716
+ "description": "Returns medical device establishments registered with the US Food and Drug Administration, worldwide, by registration number, FEI number or firm name, with the products they list. Up to 100 source listings are grouped into establishments; when `truncated` is true, product lists may be incomplete and name searches may omit entire establishments. Named contacts are excluded. Supply exactly one registration number, FEI number or firm name. A name search may match many establishments of one group; country narrows name searches only. registration_year is the year the registration runs to. Establishments come in first-seen order. Products are unique by product code, at most 25 per establishment, newest created date first; duplicate codes use the newest listing’s details. No match returns an empty list. The source refreshes weekly; the evidence date identifies its snapshot.",
667
717
  "inputSchema": {
668
718
  "type": "object",
669
719
  "properties": {
@@ -686,6 +736,10 @@ export const LOOKUP_MANIFEST = [
686
736
  "limit": {
687
737
  "type": "integer",
688
738
  "description": "The most establishments to return. From 1 to 10. Defaults to `3`."
739
+ },
740
+ "fresh": {
741
+ "type": "boolean",
742
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
689
743
  }
690
744
  },
691
745
  "required": []
@@ -698,7 +752,7 @@ export const LOOKUP_MANIFEST = [
698
752
  "name": "company_federal_awards",
699
753
  "path": "lookup/company-federal-awards",
700
754
  "title": "Federal Awards",
701
- "description": "Look up the US federal contracts or grants held by a recipient, found by its name or its Unique Entity Identifier (UEI), largest first. Give exactly one of `recipient` and `uei`, and `kind` (`contracts` or `grants`): contracts and grants are separate groups and cannot be mixed in one call. Each award has its identifier, recipient name and UEI, total value in US dollars, start and end dates, awarding agency and sub-agency, description and a link to the award record; contracts also carry the industry (NAICS) and product or service (PSC) codes. Searches by date: returns the awards the source lists for the period from `active_after` to `active_before` (default: the last three years up to today; nothing before 2007-10-01). That is not the same as awards running in the period: the source does not limit rows to awards that overlap it, so an award may have ended before the period or start after it. Read each row's start and end dates to judge whether it is current. A name is a text match, so similarly named recipients come back too: tell them apart by the recipient name and UEI on each row, and prefer the UEI when you have it. `has_more` is true when more awards exist than `limit`. No awards is a completed result with an empty list. Covers US federal awards only.",
755
+ "description": "Returns the US federal contracts or grants held by a recipient, found by name or Unique Entity Identifier (UEI), largest first, from the award records of the US Department of the Treasury: value, dates, awarding agency, description and link. The date filter is not an overlap filter: an award may have ended before the period or start after it. Give exactly one of `recipient` and `uei`, and `kind` (`contracts` or `grants`): contracts and grants are separate groups and cannot be mixed in one call. Each award has its identifier, recipient name and UEI, total value in US dollars, start and end dates, awarding agency and sub-agency, description and a link to the award record; contracts also carry the industry (NAICS) and product or service (PSC) codes. Searches by date: returns the awards the source lists for the period from `active_after` to `active_before` (default: the last three years up to today; nothing before 2007-10-01). That is not the same as awards running in the period: the source does not limit rows to awards that overlap it. Read each row's start and end dates to judge whether it is current. A name is a text match, so similarly named recipients come back too: tell them apart by the recipient name and UEI on each row, and prefer the UEI when you have it. `has_more` is true when more awards exist than `limit`. No awards is a completed result with an empty list. Covers US federal awards only.",
702
756
  "inputSchema": {
703
757
  "type": "object",
704
758
  "properties": {
@@ -729,6 +783,10 @@ export const LOOKUP_MANIFEST = [
729
783
  "limit": {
730
784
  "type": "integer",
731
785
  "description": "Most awards to return, largest first. From 1 to 25. Defaults to `10`."
786
+ },
787
+ "fresh": {
788
+ "type": "boolean",
789
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
732
790
  }
733
791
  },
734
792
  "required": [
@@ -745,7 +803,7 @@ export const LOOKUP_MANIFEST = [
745
803
  "name": "market_federal_labor_rates",
746
804
  "path": "lookup/market-federal-labor-rates",
747
805
  "title": "Federal Labor Rates",
748
- "description": "Look up the ceiling hourly rates that contractors on US federal supply schedule contracts have agreed, matching your words against the labor category, contractor name and contract number (a keyword search, so a match is not always a job title), with the low, middle (median), average and high across every match, and the matching rates with the contractor, contract number, business size, education, years of experience, clearance and worksite. Use it to check whether a quoted hourly rate is in line with what the government pays. These are ceilings, the most the contract allows per hour, not what was paid. Rates are listed lowest first. Covers ceiling hourly rates on US federal supply schedule contracts. `total` is 0 and `summary` is null when nothing matches.",
806
+ "description": "Returns the ceiling hourly rates contractors have agreed on US federal supply schedule contracts, from the US General Services Administration, with the low, middle (median), average and high across every match. These are ceilings, the most the contract allows per hour, not what was paid. The match is a keyword search, so a match is not always a job title. Your words are matched against the labor category, contractor name and contract number. Each matching rate has the contractor, contract number, business size, education, years of experience, clearance and worksite. Rates are listed lowest first. Use it to check whether a quoted hourly rate is in line with what the government pays. Covers ceiling hourly rates on US federal supply schedule contracts. `total` is 0 and `summary` is null when nothing matches.",
749
807
  "inputSchema": {
750
808
  "type": "object",
751
809
  "properties": {
@@ -786,7 +844,7 @@ export const LOOKUP_MANIFEST = [
786
844
  "name": "record_federal_register_find",
787
845
  "path": "find/record-federal-register",
788
846
  "title": "Federal Register Documents",
789
- "description": "Search the US Federal Register, the government's daily journal of rules, proposed rules, notices and presidential documents, for documents that match search words, newest first. Each document gives its document number, title, type, abstract, the date it was published, the agencies that issued it, and links to the document and its PDF. Optionally narrow by `type` (rule, proposed_rule, notice or presidential), by `agency` (the agency's Federal Register slug, for example federal-aviation-administration), and by publication date with `published_after` and `published_before` (YYYY-MM-DD). Use it to find what the government has said or proposed about a subject, a regulation or a company. It covers documents published since 1994 and returns the abstract, not the full text: open the link for that. `total` is how many documents matched, including any beyond `limit`, and is 0 when none did.",
847
+ "description": "Searches the US Federal Register, the government's daily journal of rules, proposed rules, notices and presidential documents, from the US Office of the Federal Register, newest first: document number, title, type, abstract, publication date, issuing agencies and links. It covers documents published since 1994 and returns the abstract, not the full text. Optionally narrow by `type` (rule, proposed_rule, notice or presidential), by `agency` (the agency's Federal Register slug, for example federal-aviation-administration), and by publication date with `published_after` and `published_before` (YYYY-MM-DD). Use it to find what the government has said or proposed about a subject, a regulation or a company. Each document links to its page and its PDF: open the link for the full text. `total` is how many documents matched, including any beyond `limit`, and is 0 when none did.",
790
848
  "inputSchema": {
791
849
  "type": "object",
792
850
  "properties": {
@@ -835,7 +893,7 @@ export const LOOKUP_MANIFEST = [
835
893
  "name": "place_flood_zone",
836
894
  "path": "lookup/place-flood-zone",
837
895
  "title": "Flood Zone",
838
- "description": "Return the flood hazard zone published on the national flood hazard map at a point: the zone, its subtype, whether the point is in a special flood hazard area, the base flood elevation when one is stated, and the map the answer comes from. Give coordinates, not an address; Place Resolve returns the coordinates for an address. Covers US areas with a published flood hazard map. `mapped` is false when no map covers the point. When more than one zone covers the point, the first is returned and `overlapping_zones` gives the count. This is a screening aid, not a flood determination: do not use it as the basis for lending or insurance decisions.",
896
+ "description": "Returns the flood hazard zone at a point from the flood hazard map of the US Federal Emergency Management Agency: the zone, its subtype, whether the point is in a special flood hazard area, the base flood elevation when stated and the map. This is a screening aid, not a flood determination: never base lending or insurance decisions on it. Give coordinates, not an address; Place Resolve returns the coordinates for an address. Covers US areas with a published flood hazard map. `mapped` is false when no map covers the point. When more than one zone covers the point, the first is returned and `overlapping_zones` gives the count.",
839
897
  "inputSchema": {
840
898
  "type": "object",
841
899
  "properties": {
@@ -858,11 +916,34 @@ export const LOOKUP_MANIFEST = [
858
916
  "longitude": -95.3698
859
917
  }
860
918
  },
919
+ {
920
+ "name": "market_freight_index",
921
+ "path": "lookup/market-freight-index",
922
+ "title": "Freight Index",
923
+ "description": "Returns the Freight Transportation Services Index of the US Bureau of Transportation Statistics by month, newest first, with seasonally adjusted truck, rail, air, water and pipeline components. It measures volume, not prices, with 2000 = 100. The series refreshes monthly about six weeks after the month, and recent months are revised. `start_month` returns the months from that month onward. Missing modes are null. Each row carries its observation month. No matching months returns an empty list.",
924
+ "inputSchema": {
925
+ "type": "object",
926
+ "properties": {
927
+ "months": {
928
+ "type": "integer",
929
+ "description": "Maximum number of most recent months with a freight index, 1 to 60. From 1 to 60. Defaults to `12`."
930
+ },
931
+ "start_month": {
932
+ "type": "string",
933
+ "description": "Include months from YYYY-MM onward; cannot be later than the current UTC month. YYYY-MM."
934
+ }
935
+ },
936
+ "required": []
937
+ },
938
+ "example": {
939
+ "months": 1
940
+ }
941
+ },
861
942
  {
862
943
  "name": "market_freight_rate",
863
944
  "path": "lookup/market-freight-rate",
864
945
  "title": "Freight Rate Quote",
865
- "description": "Quote the rate to move freight between two US ZIP codes on a pickup date, by mode: ltl shares a trailer by the pallet, ftl is a whole 53-foot dry van, van is a cargo van and box_truck is a 26-foot box truck. The answer is one carrier's quote for that lane: the rate for the whole shipment with every included service, the transit time, the pickup and delivery dates, when the quote lapses and whether it is firm or indicative. Use it to check a billed freight charge against the lane's going rate. For ltl give the pallets, the weight per pallet and the pallet dimensions; for van and box_truck give the pallets and the weight per pallet; for ftl the lane and date are enough. A lane the mode does not serve is refused as invalid input: try another mode. Covers US lanes. Nothing is booked.",
946
+ "description": "Quotes the rate to move freight between two US ZIP codes on a pickup date, by mode (ltl, ftl, van or box_truck), as one carrier's quote for that lane: the rate for the whole shipment with every included service, transit time, pickup and delivery dates, when the quote lapses and whether it is firm or indicative. Nothing is booked. ltl shares a trailer by the pallet, ftl is a whole 53-foot dry van, van is a cargo van and box_truck is a 26-foot box truck. Use it to check a billed freight charge against the lane's going rate. For ltl give the pallets, the weight per pallet and the pallet dimensions; for van and box_truck give the pallets and the weight per pallet; for ftl the lane and date are enough. A lane the mode does not serve is refused as invalid input: try another mode. Covers US lanes.",
866
947
  "inputSchema": {
867
948
  "type": "object",
868
949
  "properties": {
@@ -932,7 +1013,7 @@ export const LOOKUP_MANIFEST = [
932
1013
  "name": "vehicle_fuel_economy",
933
1014
  "path": "lookup/vehicle-fuel-economy",
934
1015
  "title": "Fuel Economy",
935
- "description": "Get federal fuel economy ratings and annual fuel expenditure for US light-duty vehicles from model year 1984 on. The model name must be the source's: Camry, Camry AWD LE/SE and Camry Hybrid LE are three separate models. Make and model matching is case-insensitive. The result lists the engine and transmission options in source order. `variant` picks among the options by case-insensitive text, for example 4 cyl, 2.5 L or S8; without it the first option is used. An unknown model or unmatched variant completes with `matched: false` and the available options. City, highway and combined ratings are miles per gallon, or miles per gallon equivalent for electric vehicles. Unavailable or inapplicable values are null. The source refreshes weekly; updated_on dates the selected record.",
1016
+ "description": "Returns federal fuel economy ratings and annual fuel expenditure for US light-duty vehicles from model year 1984 on, from the US Department of Energy and US Environmental Protection Agency: city, highway and combined miles per gallon (or the equivalent for electric vehicles) for each engine and transmission option. The model must be named as the source names it. Camry, Camry AWD LE/SE and Camry Hybrid LE are three separate models. Make and model matching is case-insensitive. The result lists the engine and transmission options in source order. `variant` picks among the options by case-insensitive text, for example 4 cyl, 2.5 L or S8; without it the first option is used. An unknown model or unmatched variant completes with `matched: false` and the available options. Unavailable or inapplicable values are null. The source refreshes weekly; updated_on dates the selected record.",
936
1017
  "inputSchema": {
937
1018
  "type": "object",
938
1019
  "properties": {
@@ -970,7 +1051,7 @@ export const LOOKUP_MANIFEST = [
970
1051
  "name": "gene_diseases",
971
1052
  "path": "lookup/gene-diseases",
972
1053
  "title": "Gene Diseases",
973
- "description": "Reports the diseases the Open Targets Platform (CC0) associates with a human gene, strongest overall score first, with the evidence score of each datatype (genetic association, somatic mutation, known drug, affected pathway, literature, RNA expression, animal model, genetic literature). Human genes only. Pass an official gene symbol or an Ensembl gene ID; a version suffix is dropped. A symbol matches only a search hit with exactly that name, ignoring case: otherwise matched is false and the near hits are listed as candidates so you can retry by Ensembl ID. An unknown Ensembl ID returns matched: false. A score between 0 and 1 summarises the strength of the evidence that the gene and disease are associated; it is not a measure of causation or clinical risk. The data is for research and is not medical advice.",
1054
+ "description": "Reports the diseases the Open Targets Platform (CC0) associates with a human gene, strongest overall score first, with the evidence score of each datatype. A score between 0 and 1 summarises the strength of the evidence that the gene and disease are associated; it is not a measure of causation or clinical risk. For research; not medical advice. The datatypes are genetic association, somatic mutation, known drug, affected pathway, literature, RNA expression, animal model and genetic literature. Human genes only. Pass an official gene symbol or an Ensembl gene ID; a version suffix is dropped. A symbol matches only a search hit with exactly that name, ignoring case: otherwise matched is false and the near hits are listed as candidates so you can retry by Ensembl ID. An unknown Ensembl ID returns matched: false.",
974
1055
  "inputSchema": {
975
1056
  "type": "object",
976
1057
  "properties": {
@@ -996,7 +1077,7 @@ export const LOOKUP_MANIFEST = [
996
1077
  "name": "gene_expression",
997
1078
  "path": "lookup/gene-expression",
998
1079
  "title": "Gene Expression",
999
- "description": "Reports median expression across donors of normal (non-diseased) tissue for human genes only. Uses open-access summary data from the Genotype-Tissue Expression (GTEx) project, US National Institutes of Health. Please cite the GTEx Portal (https://gtexportal.org) and dbGaP accession phs000424. Values are transcripts per million (TPM), static between releases; the answer names the dataset. Pass an official human gene symbol or an Ensembl gene ID, with or without a version. Exactly one matching reference row is required; otherwise matched is false and candidates lists the returned rows. Tissues are sorted by highest median first; omit limit for all tissues. The data is for research and is not medical advice.",
1080
+ "description": "Reports the median expression of a human gene across donors of normal (non-diseased) tissue, in transcripts per million (TPM), from the open-access summary data of the Genotype-Tissue Expression (GTEx) project, US National Institutes of Health. Values are static between releases; the answer names the dataset. The data is for research and is not medical advice. Please cite the GTEx Portal (https://gtexportal.org) and dbGaP accession phs000424. Pass an official human gene symbol or an Ensembl gene ID, with or without a version. Exactly one matching reference row is required; otherwise matched is false and candidates lists the returned rows. Tissues are sorted by highest median first; omit limit for all tissues.",
1000
1081
  "inputSchema": {
1001
1082
  "type": "object",
1002
1083
  "properties": {
@@ -1022,7 +1103,7 @@ export const LOOKUP_MANIFEST = [
1022
1103
  "name": "gene_pathways",
1023
1104
  "path": "lookup/gene-pathways",
1024
1105
  "title": "Gene Pathways",
1025
- "description": "Find the lowest-level pathways a gene’s products take part in, from Reactome. Covers curated human pathways and pathways inferred for other species. Pass the gene’s own organism as taxon_id (human, 9606, by default): a Gene ID belongs to one organism. Inferred pathways are computed from human pathways by orthology rather than curated for this species; in_disease pathways describe disease mechanisms. Returns up to limit pathways in source order, with total counting all pathways the source returned. An unknown gene, a gene with no pathways, or an organism mismatch returns an empty list. Reactome data is CC0 and refreshed in quarterly releases; no diagrams or images are returned.",
1106
+ "description": "Returns the lowest-level pathways a gene's products take part in, from Reactome (CC0, quarterly releases): curated human pathways and pathways inferred for other species. Pass the gene's own organism as `taxon_id`: a Gene ID belongs to one organism, and a mismatch returns an empty list. No diagrams or images are returned. taxon_id is human (9606) by default. Inferred pathways are computed from human pathways by orthology rather than curated for this species; in_disease pathways describe disease mechanisms. Returns up to limit pathways in source order, with total counting all pathways the source returned. An unknown gene or a gene with no pathways returns an empty list.",
1026
1107
  "inputSchema": {
1027
1108
  "type": "object",
1028
1109
  "properties": {
@@ -1048,11 +1129,37 @@ export const LOOKUP_MANIFEST = [
1048
1129
  "limit": 1
1049
1130
  }
1050
1131
  },
1132
+ {
1133
+ "name": "gene_publications",
1134
+ "path": "lookup/gene-publications",
1135
+ "title": "Gene Publications",
1136
+ "description": "Lists the PubMed papers the US National Center for Biotechnology Information links to a gene, by NCBI Gene ID, most recently added first: title, journal, dates, first three authors, DOI, PubMed Central id, publication types and link. Only citation fields are returned, never an abstract or the full text. This is the curated gene-to-paper link list, not a literature search. `total` is how many papers are linked in all. Each paper also gives its author count. The order is by PubMed id, highest first, which is the order papers were added to PubMed; it is not the order of publication. The answer reports what a public database links to the gene: it is for research and is not medical advice. Takes a Gene ID only, never a sequence, a genome or a variant file; use `gene_resolve` to find the Gene ID for a symbol or alias. A gene with no linked papers, or an id no gene has, is a completed answer with `total` 0.",
1137
+ "inputSchema": {
1138
+ "type": "object",
1139
+ "properties": {
1140
+ "gene_id": {
1141
+ "type": "string",
1142
+ "description": "An NCBI Gene ID, digits only, for example 7157 for human TP53; `gene_resolve` finds it from a symbol or alias. Digits only, 1 to 12."
1143
+ },
1144
+ "limit": {
1145
+ "type": "integer",
1146
+ "description": "Papers returned, most recently added to PubMed first. From 1 to 20. Defaults to `10`."
1147
+ }
1148
+ },
1149
+ "required": [
1150
+ "gene_id"
1151
+ ]
1152
+ },
1153
+ "example": {
1154
+ "gene_id": "7157",
1155
+ "limit": 3
1156
+ }
1157
+ },
1051
1158
  {
1052
1159
  "name": "gene_resolve",
1053
1160
  "path": "resolve/gene",
1054
1161
  "title": "Gene Resolve",
1055
- "description": "Give `query`: an official gene symbol (TP53), an alias (P53, HER2) or an Ensembl gene ID (ENSG00000141510; a version suffix is dropped). Letters, digits, dots, dashes and `_` only. `taxon_id` picks the organism and is human (9606) unless set. Returns the matching live genes, up to `limit`: genes whose official symbol is the query first, then genes that carry it as an alias, each in the source's order, with the NCBI Gene ID (the input of Gene Summary), the symbol, the full name, the aliases, the nomenclature status, the organism, the chromosome, the cytogenetic band and the gene page link. `matched_on` says how each gene matched. A search hit that carries the query as neither its symbol nor an alias is dropped. `ambiguous` is true when more than one gene matched and none has the query as its official symbol. An unknown query returns an empty matches list. Replaced and discontinued Gene IDs are not returned. A query whose search finds more than 20 live records fails rather than returning a partial answer. Data from NCBI Gene at the US National Center for Biotechnology Information; official human symbols are assigned by the HUGO Gene Nomenclature Committee.",
1162
+ "description": "Resolves a gene symbol (TP53), alias (P53, HER2) or Ensembl gene ID to the matching live genes in the Gene database of the US National Center for Biotechnology Information: NCBI Gene ID, symbol, full name, aliases, status, organism, chromosome, band and page link. A query whose search finds more than 20 live records fails rather than returning a partial answer. Give `query`: an official gene symbol, an alias or an Ensembl gene ID (ENSG00000141510; a version suffix is dropped). Letters, digits, dots, dashes and `_` only. `taxon_id` picks the organism and is human (9606) unless set. Returns up to `limit` genes: genes whose official symbol is the query first, then genes that carry it as an alias, each in the source's order. The NCBI Gene ID is the input of Gene Summary. `matched_on` says how each gene matched. A search hit that carries the query as neither its symbol nor an alias is dropped. `ambiguous` is true when more than one gene matched and none has the query as its official symbol. An unknown query returns an empty matches list. Replaced and discontinued Gene IDs are not returned. Data from NCBI Gene at the US National Center for Biotechnology Information; official human symbols are assigned by the HUGO Gene Nomenclature Committee.",
1056
1163
  "inputSchema": {
1057
1164
  "type": "object",
1058
1165
  "properties": {
@@ -1081,7 +1188,7 @@ export const LOOKUP_MANIFEST = [
1081
1188
  "name": "gene_summary",
1082
1189
  "path": "lookup/gene-summary",
1083
1190
  "title": "Gene Summary",
1084
- "description": "Describe a gene from its NCBI Gene ID or its official symbol: the symbol, the full name, the aliases and other names, the organism, the chromosome and cytogenetic band, the position on the current assembly with the strand, the exon count, the curated summary of its function with the note saying who wrote it, and the OMIM ids. Give exactly one of `gene_id` and `symbol`; `taxon_id` picks the organism for a symbol search and is human (9606) unless set. A symbol is matched without regard to case in the organism; when several genes carry it, the first is described and the rest are listed in `other_gene_ids`. `status` says whether the record is live, replaced (then `current_gene_id` names the record to use) or discontinued. `gene` is null when no gene has the id or the symbol. Covers every organism with genes in the US National Center for Biotechnology Information's Gene database. Coordinates are zero-based, as the source gives them.",
1191
+ "description": "Describes a gene from the Gene database of the US National Center for Biotechnology Information, by NCBI Gene ID or official symbol: symbol, full name, aliases, organism, chromosome and band, position and strand, exon count, curated function summary and OMIM ids. When several genes carry a symbol, the first is described and the rest are listed in `other_gene_ids`. Give exactly one of `gene_id` and `symbol`; `taxon_id` picks the organism for a symbol search and is human (9606) unless set. A symbol is matched without regard to case in the organism. The position is on the current assembly. The function summary comes with the note saying who wrote it. `status` says whether the record is live, replaced (then `current_gene_id` names the record to use) or discontinued. `gene` is null when no gene has the id or the symbol. Covers every organism with genes in the Gene database. Coordinates are zero-based, as the source gives them.",
1085
1192
  "inputSchema": {
1086
1193
  "type": "object",
1087
1194
  "properties": {
@@ -1108,7 +1215,7 @@ export const LOOKUP_MANIFEST = [
1108
1215
  "name": "gene_variants_find",
1109
1216
  "path": "find/gene-variants",
1110
1217
  "title": "Gene Variants",
1111
- "description": "Reports what a public registry, ClinVar, says about variants in a gene, for research; not medical advice. Classifications are submitters' and expert panels' interpretations. Supply exactly one NCBI Gene ID or official human gene symbol, never a person's genome, sequencing data or a VCF file. Aliases do not match: use gene_resolve to resolve aliases first. Optionally filter by ClinVar classification properties and expert panel review; these properties can include combined classifications. By default, single_gene excludes large deletions and duplications spanning multiple genes; include_multi_gene includes them. Returns up to 20 variants in search order and the total ClinVar search count. Empty classifications are null; no match returns total 0 and an empty variants list. Each vcv can be passed to variant_clinical_significance for details, including somatic and oncogenicity classifications. ClinVar refreshes weekly; classifications carry their last evaluated dates. NCBI places no restriction on use of ClinVar.",
1218
+ "description": "Reports what ClinVar, the public variant registry of the US National Center for Biotechnology Information, says about variants in a gene, by NCBI Gene ID or official human symbol: up to 20 variants with their classifications and the total count. Classifications are submitters' and expert panels' interpretations, for research; not medical advice. Aliases do not match. Supply exactly one NCBI Gene ID or official human gene symbol, never a person's genome, sequencing data or a VCF file. Use gene_resolve to resolve aliases first. Optionally filter by ClinVar classification properties and expert panel review; these properties can include combined classifications. By default, single_gene excludes large deletions and duplications spanning multiple genes; include_multi_gene includes them. Variants come in search order, and the total is the ClinVar search count. Empty classifications are null; no match returns total 0 and an empty variants list. Each vcv can be passed to variant_clinical_significance for details, including somatic and oncogenicity classifications. ClinVar refreshes weekly; classifications carry their last evaluated dates. NCBI places no restriction on use of ClinVar.",
1112
1219
  "inputSchema": {
1113
1220
  "type": "object",
1114
1221
  "properties": {
@@ -1158,7 +1265,7 @@ export const LOOKUP_MANIFEST = [
1158
1265
  "name": "business_health_inspections",
1159
1266
  "path": "lookup/business-health-inspections",
1160
1267
  "title": "Health Inspections",
1161
- "description": "Given a New York City establishment id (CAMIS) or part of a trade name, return the matching food service establishments with their health inspections from the New York City Department of Health and Mental Hygiene: name, address, borough, ZIP code, cuisine and location, then for each inspection its date, type, score, letter grade with its date, the action taken and the violations cited, each with its code, description and whether it is critical. Give at least one of `establishment_id` and `name`; the id takes precedence when both are given. `name` matches anywhere in the trade name, ignoring case; `zipcode` narrows either search. Inspections are newest first, at most `limit` per establishment. The call reads the 200 newest violation rows that match, so a name shared by many establishments may leave out older inspections: add `zipcode` or use the id; when those rows all fall on one date the call fails as invalid input for the same reason. An establishment not yet inspected has an empty `inspections` list. Dates are YYYY-MM-DD and a value the source does not give is null. No match is a completed result with an empty `establishments` list.",
1268
+ "description": "Returns New York City food service establishments matching an establishment id (CAMIS) or part of a trade name, with their health inspections from the New York City Department of Health and Mental Hygiene: score, letter grade, action taken and violations cited. A name shared by many establishments may leave out older inspections: add `zipcode` or use the id. Each establishment has its name, address, borough, ZIP code, cuisine and location; each inspection its date, type, score, letter grade with its date, the action taken and the violations cited, each with its code, description and whether it is critical. Give at least one of `establishment_id` and `name`; the id takes precedence when both are given. `name` matches anywhere in the trade name, ignoring case; `zipcode` narrows either search. Inspections are newest first, at most `limit` per establishment. The call reads the 200 newest violation rows that match, which is why a broad name can leave out older inspections; when those rows all fall on one date the call fails as invalid input. An establishment not yet inspected has an empty `inspections` list. Dates are YYYY-MM-DD and a value the source does not give is null. No match is a completed result with an empty `establishments` list.",
1162
1269
  "inputSchema": {
1163
1270
  "type": "object",
1164
1271
  "properties": {
@@ -1177,6 +1284,10 @@ export const LOOKUP_MANIFEST = [
1177
1284
  "limit": {
1178
1285
  "type": "integer",
1179
1286
  "description": "Most inspections to return per establishment. From 1 to 20. Defaults to `5`."
1287
+ },
1288
+ "fresh": {
1289
+ "type": "boolean",
1290
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1180
1291
  }
1181
1292
  },
1182
1293
  "required": []
@@ -1190,7 +1301,7 @@ export const LOOKUP_MANIFEST = [
1190
1301
  "name": "person_health_provider",
1191
1302
  "path": "lookup/person-health-provider",
1192
1303
  "title": "Health Provider Registration",
1193
- "description": "Look up the national registration of an individual US health care practitioner (a doctor, nurse, pharmacist, therapist and the like) by 10-digit provider number, or by last name and state with optional first name and city. Returns each match with credential, whether the registration is active, specialties with licence state and number, practice address and mailing address, and the date the registry last updated the record. Use it to check that a practitioner in a directory, claim or referral exists and which specialty they are registered under. A registration is not a licence check and not proof that they still practise at the address; judge freshness by `last_updated_on`. Individuals only: organisations are not covered. `total` is the number of providers returned, at most `limit`; no match is `total: 0`. Exact numbers use the fresh, complete held monthly release when available; evidence.read states its scope and date, including for no match. Newer registrations may not be in that release. Specialty descriptions are null in the monthly data. Name searches and unavailable datasets use the live registry.",
1304
+ "description": "Returns the national registration of an individual US health care practitioner from the US Centers for Medicare & Medicaid Services, by 10-digit provider number or by name and state: credential, active status, specialties with license state and number, addresses and the last update date. A registration is not a license check, nor proof that they still practise at the address. Covers doctors, nurses, pharmacists, therapists and the like. A name search takes the last name and state, with optional first name and city. Use it to check that a practitioner in a directory, claim or referral exists and which specialty they are registered under. Judge freshness by `last_updated_on`. Individuals only: use company_health_provider for organizations. `total` is the number of providers returned, at most `limit`; no match is `total: 0`. Exact numbers use the fresh, complete held monthly release when available; evidence.read states its scope and date, including for no match. Newer registrations may not be in that release. Specialty descriptions are null in the monthly data. Name searches and unavailable datasets use the live registry.",
1194
1305
  "inputSchema": {
1195
1306
  "type": "object",
1196
1307
  "properties": {
@@ -1217,6 +1328,10 @@ export const LOOKUP_MANIFEST = [
1217
1328
  "limit": {
1218
1329
  "type": "integer",
1219
1330
  "description": "Most providers to return from a name search. From 1 to 20. Defaults to `5`."
1331
+ },
1332
+ "fresh": {
1333
+ "type": "boolean",
1334
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1220
1335
  }
1221
1336
  },
1222
1337
  "required": []
@@ -1228,8 +1343,8 @@ export const LOOKUP_MANIFEST = [
1228
1343
  {
1229
1344
  "name": "company_health_provider",
1230
1345
  "path": "lookup/company-health-provider",
1231
- "title": "Health Provider Registration (organisation)",
1232
- "description": "Look up US health care organisations (clinics, hospitals, pharmacies and suppliers) in the national provider register. Give a 10-digit NPI, or organization_name and state with an optional city, never both. Names match a prefix: a trailing * is appended when absent, with at least two characters before it. Returns registered names, active status, organisational subpart status, registration and update dates, specialties with primary flags and licence details, practice and mailing addresses, and the authorised official name and title. The official telephone is omitted. The registry refreshes daily; judge each record by last_updated_on. Registration is not a licence check or proof of current practice at the address. Use person_health_provider for individual practitioners. total is the number returned, at most limit; no match completes with providers: [].",
1346
+ "title": "Health Provider Registration (organization)",
1347
+ "description": "Returns US health care organizations (clinics, hospitals, pharmacies and suppliers) from the national provider register of the US Centers for Medicare & Medicaid Services, by 10-digit NPI or by name and state: names, status, specialties, license details, addresses and the authorized official. Registration is not a license check or proof of current practice at the address. Give a 10-digit NPI, or organization_name and state with an optional city, never both. Names match a prefix: a trailing * is appended when absent, with at least two characters before it. Returns registered names, active status, organizational subpart status, registration and update dates, specialties with primary flags and license details, practice and mailing addresses, and the authorized official name and title. The official telephone is omitted. The registry refreshes daily; judge each record by last_updated_on. Use person_health_provider for individual practitioners. total is the number returned, at most limit; no match completes with providers: [].",
1233
1348
  "inputSchema": {
1234
1349
  "type": "object",
1235
1350
  "properties": {
@@ -1252,6 +1367,10 @@ export const LOOKUP_MANIFEST = [
1252
1367
  "limit": {
1253
1368
  "type": "integer",
1254
1369
  "description": "Most providers to return. From 1 to 20. Defaults to `5`."
1370
+ },
1371
+ "fresh": {
1372
+ "type": "boolean",
1373
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1255
1374
  }
1256
1375
  },
1257
1376
  "required": []
@@ -1264,7 +1383,7 @@ export const LOOKUP_MANIFEST = [
1264
1383
  "name": "place_hospitals",
1265
1384
  "path": "lookup/place-hospitals",
1266
1385
  "title": "Hospitals",
1267
- "description": "List the hospitals registered with Medicare in a US ZIP code, from the hospital list of the US Centers for Medicare & Medicaid Services. Each hospital has its name, address, county, published main telephone line, type, ownership, whether it has emergency services and its overall quality rating from 1 to 5. The rating is null when the source gives no number for the hospital. A ZIP code with no registered hospital gives a total of 0 and an empty list. The total is the number of hospitals in the ZIP code, which can be more than the number returned.",
1386
+ "description": "Lists the hospitals registered with Medicare in a US ZIP code, from the hospital list of the US Centers for Medicare & Medicaid Services: name, address, county, main telephone line, type, ownership, emergency services and overall quality rating from 1 to 5. `total` counts every hospital in the ZIP code and can be more than the number returned. The rating is null when the source gives no number for the hospital. A ZIP code with no registered hospital gives a total of 0 and an empty list.",
1268
1387
  "inputSchema": {
1269
1388
  "type": "object",
1270
1389
  "properties": {
@@ -1286,11 +1405,54 @@ export const LOOKUP_MANIFEST = [
1286
1405
  "limit": 2
1287
1406
  }
1288
1407
  },
1408
+ {
1409
+ "name": "market_interest_rates",
1410
+ "path": "lookup/market-interest-rates",
1411
+ "title": "Interest Rates",
1412
+ "description": "Daily US overnight reference rates published by the Federal Reserve Bank of New York, in percent per year: SOFR, EFFR (with the FOMC target range), OBFR, TGCR, BGCR and the SOFR averages and index. Returns observations newest first for a date range or the most recent published days. OneShot is not affiliated with the New York Fed. The New York Fed does not sanction, endorse, or recommend any products or services offered by OneShot. The rate data is subject to the Terms of Use posted at newyorkfed.org; every answer carries the notice those terms require with any republication, in notice, and it must stay with the data when the answer is shown or passed on. Available rates are the secured overnight financing rate (sofr), the effective federal funds rate (effr, with the FOMC target range), the overnight bank funding rate (obfr), the tri-party general collateral rate (tgcr), the broad general collateral rate (bgcr) and the 30-, 90- and 180-day SOFR averages with the SOFR index (sofr_averages). Returns one observation per business day, newest first, either for a date range (at most 366 days, not in the future) or the last 1 to 30 published days. Each observation carries the rate, its 1st, 25th, 75th and 99th percentiles and the underlying volume in billions of US dollars where the source publishes them; fields that do not apply to a rate are null. revised is true when the source marks the day as revised. A range with no business days returns an empty list. Overnight rates (sofr, effr, obfr, tgcr, bgcr) are dated the business day they apply to and published the next US business day; sofr_averages is dated the day it is published and compounds SOFR through the previous business day. Source: Federal Reserve Bank of New York.",
1413
+ "inputSchema": {
1414
+ "type": "object",
1415
+ "properties": {
1416
+ "rate": {
1417
+ "type": "string",
1418
+ "enum": [
1419
+ "sofr",
1420
+ "effr",
1421
+ "obfr",
1422
+ "tgcr",
1423
+ "bgcr",
1424
+ "sofr_averages"
1425
+ ],
1426
+ "description": "Rate code: sofr, effr, obfr, tgcr, bgcr or sofr_averages"
1427
+ },
1428
+ "start_date": {
1429
+ "type": "string",
1430
+ "description": "First date, YYYY-MM-DD; give both start_date and end_date or neither. YYYY-MM-DD."
1431
+ },
1432
+ "end_date": {
1433
+ "type": "string",
1434
+ "description": "Last date, YYYY-MM-DD, inclusive; at most 366 days after start_date and not in the future. YYYY-MM-DD."
1435
+ },
1436
+ "last": {
1437
+ "type": "integer",
1438
+ "description": "Number of most recent published days, 1 to 30, used when no dates are given. From 1 to 30. Defaults to `5`."
1439
+ }
1440
+ },
1441
+ "required": [
1442
+ "rate"
1443
+ ]
1444
+ },
1445
+ "example": {
1446
+ "rate": "sofr",
1447
+ "start_date": "2026-10-15",
1448
+ "end_date": "2026-10-16"
1449
+ }
1450
+ },
1289
1451
  {
1290
1452
  "name": "company_legal_identifier",
1291
1453
  "path": "lookup/company-legal-identifier",
1292
1454
  "title": "Legal Entity Identifier",
1293
- "description": "Look up registered legal entities by a company's legal name or by its 20-character Legal Entity Identifier. Give exactly one of `name` and `lei`. Each entity has its identifier, legal name and other names, entity status, jurisdiction, legal form code, registration number, creation date, the identifier's registration status, registration, last update and next renewal dates, how well the record is corroborated, and its legal and headquarters addresses. It answers whether this is the legal entity you think it is, and whether its registration is current. A name is a text match, so similarly named entities come back too: tell them apart by the identifier on each row, and prefer the identifier when you have it, since it is an exact match. `total` is the number of entities that matched, which may be more than `limit`. No match is a completed result with `total` 0 and an empty list. Covers legal entities that hold an identifier; parent and child relationships are not included.",
1455
+ "description": "Returns registered legal entities by legal name or 20-character Legal Entity Identifier, from the Global Legal Entity Identifier Foundation: identifier, names, status, jurisdiction, legal form, registration number and dates, how well the record is corroborated, and addresses. It answers whether an entity is the one you think and whether its registration is current. Parent and child relationships are not included. Give exactly one of `name` and `lei`. Each entity has its identifier, legal name and other names, entity status, jurisdiction, legal form code, registration number, creation date, the identifier's registration status, registration, last update and next renewal dates, how well the record is corroborated, and its legal and headquarters addresses. A name is a text match, so similarly named entities come back too: tell them apart by the identifier on each row, and prefer the identifier when you have it, since it is an exact match. `total` is the number of entities that matched, which may be more than `limit`. No match is a completed result with `total` 0 and an empty list. Covers legal entities that hold an identifier.",
1294
1456
  "inputSchema": {
1295
1457
  "type": "object",
1296
1458
  "properties": {
@@ -1305,6 +1467,10 @@ export const LOOKUP_MANIFEST = [
1305
1467
  "limit": {
1306
1468
  "type": "integer",
1307
1469
  "description": "Most entities to return. From 1 to 10. Defaults to `5`."
1470
+ },
1471
+ "fresh": {
1472
+ "type": "boolean",
1473
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1308
1474
  }
1309
1475
  },
1310
1476
  "required": []
@@ -1316,8 +1482,8 @@ export const LOOKUP_MANIFEST = [
1316
1482
  {
1317
1483
  "name": "business_liquor_license",
1318
1484
  "path": "lookup/business-liquor-license",
1319
- "title": "Liquor Licence",
1320
- "description": "Look up a business location in the New York State Liquor Authority register, which lists active licences only and refreshes daily. `state` is required; currently only NY is covered. Give at least one of `license_id` and `name`; the id takes precedence when both are given. Names are matched as stored, ignoring case, as a substring of the trade or legal name. Try a short distinctive fragment: SORLEY matches MC SORLEYS, but McSorley's does not. `zipcode` narrows either search. Return at most `limit` licences, newest last issue date first, with their class, premises, issue dates and expiration date. Missing values are null; dates are YYYY-MM-DD. An empty licenses list is a completed result: no active licence was found under that name or id, not evidence that the location never held one. Pending and inactive licences are not searched.",
1485
+ "title": "Liquor License",
1486
+ "description": "Returns active liquor licenses from the register of the New York State Liquor Authority, refreshed daily, by license id or part of a trade or legal name: class, premises, issue dates and expiration date. Pending and inactive licenses are not searched, so an empty list is not evidence that the location never held one. `state` is required and must be NY. Give at least one of `license_id` and `name`; the id takes precedence when both are given. Names are matched as stored, ignoring case, as a substring of the trade or legal name. Try a short distinctive fragment: SORLEY matches MC SORLEYS, but McSorley's does not. `zipcode` narrows either search. Returns at most `limit` licenses, newest last issue date first. Missing values are null; dates are YYYY-MM-DD. An empty licenses list is a completed result: no active license was found under that name or id.",
1321
1487
  "inputSchema": {
1322
1488
  "type": "object",
1323
1489
  "properties": {
@@ -1343,6 +1509,10 @@ export const LOOKUP_MANIFEST = [
1343
1509
  "limit": {
1344
1510
  "type": "integer",
1345
1511
  "description": "Most licences to return. From 1 to 25. Defaults to `10`."
1512
+ },
1513
+ "fresh": {
1514
+ "type": "boolean",
1515
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1346
1516
  }
1347
1517
  },
1348
1518
  "required": [
@@ -1358,7 +1528,7 @@ export const LOOKUP_MANIFEST = [
1358
1528
  "name": "company_lobbying",
1359
1529
  "path": "lookup/company-lobbying",
1360
1530
  "title": "Lobbying",
1361
- "description": "Search US federal lobbying registrations and quarterly reports by client name, newest posted first. Reports are posted continuously. The name match is partial: Nvidia can match both NVIDIA and NVIDIA CORPORATION, with different client records for different lobbying firms. Tell clients apart by client_id, which is unique across lobbying firms. Each filing includes its firm, client, reported income and expenses in US dollars, issues, government entities and lobbyist counts. Lobbyist names are not returned. Missing amounts are null. No match is a completed result with total 0 and an empty filings list. Cite evidence.retrieved_at as the retrieval date. Senate Office of Public Records cannot vouch for the data or analyses derived from these data after the data have been retrieved from LDA.gov.",
1531
+ "description": "Searches US federal lobbying registrations and quarterly reports filed with the US Senate Office of Public Records, by client name, newest posted first: firm, client, reported income and expenses, issues, government entities and lobbyist counts. The name match is partial, so one company can return several client records; tell them apart by `client_id`. Reports are posted continuously. Nvidia can match both NVIDIA and NVIDIA CORPORATION, with different client records for different lobbying firms. client_id is unique across lobbying firms. Amounts are in US dollars. Lobbyist names are not returned. Missing amounts are null. No match is a completed result with total 0 and an empty filings list. Cite evidence.retrieved_at as the retrieval date. Senate Office of Public Records cannot vouch for the data or analyses derived from these data after the data have been retrieved from LDA.gov.",
1362
1532
  "inputSchema": {
1363
1533
  "type": "object",
1364
1534
  "properties": {
@@ -1373,6 +1543,10 @@ export const LOOKUP_MANIFEST = [
1373
1543
  "limit": {
1374
1544
  "type": "integer",
1375
1545
  "description": "Most filings to return, newest posted first. From 1 to 25. Defaults to `10`."
1546
+ },
1547
+ "fresh": {
1548
+ "type": "boolean",
1549
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1376
1550
  }
1377
1551
  },
1378
1552
  "required": [
@@ -1385,11 +1559,67 @@ export const LOOKUP_MANIFEST = [
1385
1559
  "limit": 1
1386
1560
  }
1387
1561
  },
1562
+ {
1563
+ "name": "market_medicare_drug_spending",
1564
+ "path": "lookup/market-medicare-drug-spending",
1565
+ "title": "Medicare Drug Spending",
1566
+ "description": "Returns Medicare Part D programme spending before rebates, by calendar year, from the US Centers for Medicare & Medicaid Services. Overall is the total across manufacturers; manufacturers can be included separately. Figures include spending, dosage units, claims, beneficiaries and average spending. The series updates annually and supplies the latest five calendar years. Provide brand_name, generic_name, or both. Both exact-match filters apply when both are supplied. Reads one source page of up to 50 rows, including manufacturer rows before filtering; broad matches may be incomplete. Empty source values become null. No match completes with drugs: [].",
1567
+ "inputSchema": {
1568
+ "type": "object",
1569
+ "properties": {
1570
+ "brand_name": {
1571
+ "type": "string",
1572
+ "description": "Exact brand name, for example Eliquis. 2 to 100 characters."
1573
+ },
1574
+ "generic_name": {
1575
+ "type": "string",
1576
+ "description": "Exact generic name, for example Apixaban. 2 to 100 characters."
1577
+ },
1578
+ "manufacturers": {
1579
+ "type": "boolean",
1580
+ "description": "Include per-manufacturer rows in addition to Overall totals. Defaults to `false`."
1581
+ }
1582
+ },
1583
+ "required": []
1584
+ },
1585
+ "example": {
1586
+ "brand_name": "Eliquis"
1587
+ }
1588
+ },
1589
+ {
1590
+ "name": "market_medicare_fees",
1591
+ "path": "lookup/market-medicare-fees",
1592
+ "title": "Medicare Fee Schedule",
1593
+ "description": "Returns the status indicator, relative value units, conversion factors and national payment amounts, before the locality adjustment, on Medicare's physician payment schedule for a procedure code and modifier. Non-facility is an office, where the practice bears the overhead; facility is a hospital or other facility paid separately for it. Codes and amounts only; procedure descriptions are licensed and not returned. Without a modifier, the rows with no modifier are returned; with one, only that modifier's rows (for example 26 for the professional component and TC for the technical component). From 2026 each code has one rate per conversion factor: one for qualifying alternative payment model participants and one for all other clinicians, in that order. Earlier years have one rate. A practice expense the source marks not applicable gives null practice expense, total and payment for that setting, never zero. When the Medicare Administrative Contractor sets the amount (status C, or L for a local code), both national payments are null. The relative value units are returned as the source lists them. The source is the US Centers for Medicare & Medicaid Services indicators table of the physician payment schedule for the year; locality adjustments are not applied. No match, including a code not on the schedule for the year, completes with rates: [] and a null status.",
1594
+ "inputSchema": {
1595
+ "type": "object",
1596
+ "properties": {
1597
+ "code": {
1598
+ "type": "string",
1599
+ "description": "Five-character procedure code, for example 99213 or G0439. five letters or digits."
1600
+ },
1601
+ "modifier": {
1602
+ "type": "string",
1603
+ "description": "Two-character modifier, for example 26 or TC; without it, rows with no modifier are returned. two letters or digits."
1604
+ },
1605
+ "year": {
1606
+ "type": "integer",
1607
+ "description": "Calendar year of the schedule; defaults to the newest published year. From 2025 to 2026. Defaults to `2026`."
1608
+ }
1609
+ },
1610
+ "required": [
1611
+ "code"
1612
+ ]
1613
+ },
1614
+ "example": {
1615
+ "code": "99213"
1616
+ }
1617
+ },
1388
1618
  {
1389
1619
  "name": "company_medicare_ownership",
1390
1620
  "path": "lookup/company-medicare-ownership",
1391
1621
  "title": "Medicare Ownership",
1392
- "description": "Look up the ownership of a US hospital, nursing home, home health agency, hospice, health center or rural health clinic, as reported by the facility to Medicare. facility_type picks the register: each kind of facility is its own dataset at the source. Give the facility enrollment_id, or part of its organization_name (matched as a substring, upper-cased), never both. Returns up to limit facilities, each with its owners: organisations and individuals with their role, share, join date, city and state, and owner-type flags such as holding_company, private_equity_company or reit. Individuals listed are owners, officers, directors or managing employees in that capacity; their street addresses are left out. Owners are sorted by share, highest first. The register is released monthly and release_file_date says which release answered. No match completes with facilities: []. When truncated is true the source page was full and the last facility may be missing owners.",
1622
+ "description": "Returns the owners of a US hospital, nursing home, home health agency, hospice, health center or rural health clinic, as the facility reported them to Medicare, from the US Centers for Medicare & Medicaid Services: organizations and individuals with role, share and join date, highest share first. The register is released monthly; release_file_date says which release answered. facility_type picks the register: each kind of facility is its own dataset at the source. Give the facility enrollment_id, or part of its organization_name (matched as a substring, upper-cased), never both. Returns up to limit facilities, each with its owners: organizations and individuals with their role, share, join date, city and state, and owner-type flags such as holding_company, private_equity_company or reit. Individuals listed are owners, officers, directors or managing employees in that capacity; their street addresses are left out. No match completes with facilities: []. When truncated is true the source page was full and the last facility may be missing owners.",
1393
1623
  "inputSchema": {
1394
1624
  "type": "object",
1395
1625
  "properties": {
@@ -1416,6 +1646,10 @@ export const LOOKUP_MANIFEST = [
1416
1646
  "limit": {
1417
1647
  "type": "integer",
1418
1648
  "description": "Most facilities to return. From 1 to 10. Defaults to `3`."
1649
+ },
1650
+ "fresh": {
1651
+ "type": "boolean",
1652
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1419
1653
  }
1420
1654
  },
1421
1655
  "required": [
@@ -1431,7 +1665,7 @@ export const LOOKUP_MANIFEST = [
1431
1665
  "name": "company_motor_carrier",
1432
1666
  "path": "lookup/company-motor-carrier",
1433
1667
  "title": "Motor Carrier Record",
1434
- "description": "Given a US Department of Transportation (DOT) number or a motor carrier (MC) number, return the carrier's registration record from the US Department of Transportation: legal and trading name, whether it is active, legal form, physical address, telephone number, kind of operation, the classes of operation and the cargo it registered, its power units and drivers, its reported annual mileage, whether it carries hazardous materials, its safety rating with the date, its latest review date and the date it last updated its registration. Give exactly one of `dot_number` and `mc_number`. A DOT number finds one carrier; an MC number can find more than one, so check `status`. Dates are YYYY-MM-DD and a value the source does not give is null. `total` is the number of carriers returned, at most 5; no match is a completed result with `total` 0 and an empty list. It does not cover operating authority, insurance on file, out-of-service rates or crash counts.",
1668
+ "description": "Returns a motor carrier's registration record from the US Department of Transportation, by DOT number or MC number: names, active status, address, telephone, operation, cargo, power units, drivers, mileage, hazardous materials, safety rating and review dates. It does not cover operating authority, insurance on file, out-of-service rates or crash counts. Give exactly one of `dot_number` and `mc_number`. A DOT number finds one carrier; an MC number can find more than one, so check `status`. The record gives the legal and trading name, whether it is active, legal form, physical address, telephone number, kind of operation, the classes of operation and the cargo it registered, its power units and drivers, its reported annual mileage, whether it carries hazardous materials, its safety rating with the date, its latest review date and the date it last updated its registration. Dates are YYYY-MM-DD and a value the source does not give is null. `total` is the number of carriers returned, at most 5; no match is a completed result with `total` 0 and an empty list.",
1435
1669
  "inputSchema": {
1436
1670
  "type": "object",
1437
1671
  "properties": {
@@ -1442,6 +1676,10 @@ export const LOOKUP_MANIFEST = [
1442
1676
  "mc_number": {
1443
1677
  "type": "string",
1444
1678
  "description": "The carrier's motor carrier (MC) number, for example MC-1515. mc_number must be 1 to 8 digits, with an optional MC or MC- in front."
1679
+ },
1680
+ "fresh": {
1681
+ "type": "boolean",
1682
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1445
1683
  }
1446
1684
  },
1447
1685
  "required": []
@@ -1454,7 +1692,7 @@ export const LOOKUP_MANIFEST = [
1454
1692
  "name": "place_resolve",
1455
1693
  "path": "resolve/place",
1456
1694
  "title": "Place Resolve",
1457
- "description": "Resolve a US street address to the matched address, its latitude and longitude, and the codes for its state, county and census tract (plus census block and incorporated place when the source has them). Use it first when another fact about a place is keyed by state and county, or by coordinates, so an agent does not have to guess them. Street addresses in the United States only: no post-office boxes, no place names or landmarks, no addresses outside the US. Give the whole address on one line, for example \"1600 Pennsylvania Ave NW, Washington, DC\". Only the best match is returned; `candidates` is how many matches the source offered. An address that matches nothing is a completed result with `found` false and every other field null.",
1695
+ "description": "Resolves a US street address to the matched address, its latitude and longitude, and its state, county and census tract codes (plus census block and incorporated place when the source has them), from the US Census Bureau. Street addresses in the United States only: no post-office boxes, place names or landmarks. Only the best match is returned. Use it first when another fact about a place is keyed by state and county, or by coordinates, so an agent does not have to guess them. Give the whole address on one line, for example \"1600 Pennsylvania Ave NW, Washington, DC\". `candidates` is how many matches the source offered. An address that matches nothing is a completed result with `found` false and every other field null.",
1458
1696
  "inputSchema": {
1459
1697
  "type": "object",
1460
1698
  "properties": {
@@ -1475,7 +1713,7 @@ export const LOOKUP_MANIFEST = [
1475
1713
  "name": "product_recalls",
1476
1714
  "path": "lookup/product-recalls",
1477
1715
  "title": "Product Recalls",
1478
- "description": "List the recalls of US products that match a product name, a manufacturer or, for consumer products, words from a recall title, optionally within a date range. `category` is required and picks the regulator: `consumer` is consumer products (appliances, tools, toys, furniture, ladders, bicycles, children's products and the like) from the US Consumer Product Safety Commission; `food`, `drug` and `device` are food, drugs and medical devices from the US Food and Drug Administration's enforcement reports, where `classification` (Class I, II or III) narrows the list. Vehicles are Vehicle Recalls. Each recall gives the recall number, the date it was announced and last published, what was recalled, the models and units, the hazard or reason, and the manufacturer or recalling firm. Consumer recalls also give the title, injuries, remedies, retailers and a link to the notice; food, drug and device recalls give the status, the class and where it was distributed. Newest first. Use it to check a product before a purchase, a resale, a claim or a listing. A recall says what was recalled, not whether a particular unit has been repaired. Give at least one of `product_name`, `title` and `manufacturer`; dates alone are refused. `title` is for consumer only. `total` is how many recalls matched, including any beyond `limit`, and is 0 when none did.",
1716
+ "description": "Lists US product recalls matching a product name, a manufacturer or a recall title, newest first: consumer products from the US Consumer Product Safety Commission, and food, drugs and medical devices from the US Food and Drug Administration. Each gives what was recalled, the hazard and the firm. A recall does not say whether a particular unit has been repaired. `category` is required and picks the regulator: `consumer` is consumer products (appliances, tools, toys, furniture, ladders, bicycles, children's products and the like); `food`, `drug` and `device` come from the enforcement reports of the US Food and Drug Administration, where `classification` (Class I, II or III) narrows the list. Vehicles are Vehicle Recalls. Each recall gives the recall number, the date it was announced and last published, what was recalled, the models and units, the hazard or reason, and the manufacturer or recalling firm. Consumer recalls also give the title, injuries, remedies, retailers and a link to the notice; food, drug and device recalls give the status, the class and where it was distributed. Use it to check a product before a purchase, a resale, a claim or a listing. Give at least one of `product_name`, `title` and `manufacturer`, optionally with a date range; dates alone are refused. `title` is for consumer only. `total` is how many recalls matched, including any beyond `limit`, and is 0 when none did.",
1479
1717
  "inputSchema": {
1480
1718
  "type": "object",
1481
1719
  "properties": {
@@ -1537,7 +1775,7 @@ export const LOOKUP_MANIFEST = [
1537
1775
  "name": "protein_domains",
1538
1776
  "path": "lookup/protein-domains",
1539
1777
  "title": "Protein Domains",
1540
- "description": "InterPro entries from InterPro at EMBL-EBI, under CC0 1.0. Returns integrated InterPro entries only, never member-database signatures. Covers canonical UniProtKB sequences; isoform accessions are refused. Filter by entry type or omit types for all entries. An empty types list keeps no entries. Entries are sorted by their first location’s start, then identifier. Locations span the first through last fragment; discontinuous marks multiple fragments or a fragment whose dc-status is not CONTINUOUS. Releases arrive about every eight weeks; no per-entry date is supplied, so changes are recorded as observations. Returns the first page only (up to 200 entries), with truncated true when another page exists. No match completes with an empty entries list and null protein_length.",
1778
+ "description": "Returns the integrated InterPro entries on a protein's canonical UniProtKB sequence, with their locations, from InterPro at EMBL-EBI under CC0 1.0. Member-database signatures are never returned, and isoform accessions are refused. Only the first page, up to 200 entries, is returned; `truncated` is true when another page exists. Filter by entry type or omit types for all entries. An empty types list keeps no entries. Entries are sorted by their first location’s start, then identifier. Locations span the first through last fragment; discontinuous marks multiple fragments or a fragment whose dc-status is not CONTINUOUS. Releases arrive about every eight weeks; no per-entry date is supplied, so changes are recorded as observations. No match completes with an empty entries list and null protein_length.",
1541
1779
  "inputSchema": {
1542
1780
  "type": "object",
1543
1781
  "properties": {
@@ -1578,7 +1816,7 @@ export const LOOKUP_MANIFEST = [
1578
1816
  "name": "protein_function",
1579
1817
  "path": "lookup/protein-function",
1580
1818
  "title": "Protein Function",
1581
- "description": "Protein annotations from UniProt under CC BY 4.0, attributed to the UniProt Consortium. Covers reviewed and unreviewed UniProtKB entries. Function texts retain their literature citations, with deduplicated PubMed identifiers also returned separately. Includes names, genes, organism, length, subcellular locations, catalytic activities, EC numbers, keywords and annotation score. UniProt releases updates every eight weeks; last_updated is the entry’s last annotation date. The amino-acid sequence is returned only when include_sequence is true, otherwise null. Absent values and collections are null. A merged accession resolves to its primary entry. A deleted or demerged accession returns no protein and the source’s structured inactive reason, including replacement accessions when supplied. No match returns null for both.",
1819
+ "description": "Returns a protein's annotations from UniProt, under CC BY 4.0 and attributed to the UniProt Consortium: function text with its citations, names, genes, organism, length, subcellular locations, catalytic activities, EC numbers, keywords and annotation score. Covers reviewed and unreviewed UniProtKB entries. The amino-acid sequence is returned only when `include_sequence` is true. Function texts retain their literature citations, with deduplicated PubMed identifiers also returned separately. UniProt releases updates every eight weeks; last_updated is the entry’s last annotation date. Without include_sequence the sequence is null. Absent values and collections are null. A merged accession resolves to its primary entry. A deleted or demerged accession returns no protein and the source’s structured inactive reason, including replacement accessions when supplied. No match returns null for both.",
1582
1820
  "inputSchema": {
1583
1821
  "type": "object",
1584
1822
  "properties": {
@@ -1600,11 +1838,45 @@ export const LOOKUP_MANIFEST = [
1600
1838
  "include_sequence": false
1601
1839
  }
1602
1840
  },
1841
+ {
1842
+ "name": "protein_interactions",
1843
+ "path": "lookup/protein-interactions",
1844
+ "title": "Protein Interactions",
1845
+ "description": "Returns a protein's interaction partners from the STRING network (CC BY 4.0, STRING consortium): the query protein and each partner with a combined confidence score (0 to 1) and per-channel scores. Scores combine experimental, curated and predicted (text-mining, co-expression) evidence, so a high score is not proof of physical binding. The data is for research, not medical advice. Evidence channels: experiments, curated databases, text mining, co-expression, genomic neighborhood, gene fusion and phylogenetic co-occurrence, each scored 0 to 1. identifier is a gene symbol (TP53) or a UniProt accession (P04637); taxon_id is human (9606) by default. Partners come in the source's order, highest combined score first, up to limit; min_score is the lowest combined score kept. An identifier the source cannot map in that organism returns no protein and an empty partner list. Only the source's own combined and channel scores are returned, never records from the databases it incorporates.",
1846
+ "inputSchema": {
1847
+ "type": "object",
1848
+ "properties": {
1849
+ "identifier": {
1850
+ "type": "string",
1851
+ "description": "A gene symbol or a UniProt accession, for example TP53 or P04637. Letters, digits, \".\", \"_\" and \"-\" only, 1 to 40."
1852
+ },
1853
+ "taxon_id": {
1854
+ "type": "integer",
1855
+ "description": "The organism as an NCBI Taxonomy ID; 9606 is human, 10090 is mouse. From 1 to 999999999. Defaults to `9606`."
1856
+ },
1857
+ "limit": {
1858
+ "type": "integer",
1859
+ "description": "Maximum partners returned. From 1 to 50. Defaults to `10`."
1860
+ },
1861
+ "min_score": {
1862
+ "type": "number",
1863
+ "description": "Lowest combined confidence score kept. From 0.15 to 1. Defaults to `0.4`."
1864
+ }
1865
+ },
1866
+ "required": [
1867
+ "identifier"
1868
+ ]
1869
+ },
1870
+ "example": {
1871
+ "identifier": "TP53",
1872
+ "limit": 1
1873
+ }
1874
+ },
1603
1875
  {
1604
1876
  "name": "protein_resolve",
1605
1877
  "path": "resolve/protein",
1606
1878
  "title": "Protein Resolve",
1607
- "description": "Protein identities from UniProtKB under CC BY 4.0, attributed to the UniProt Consortium. For research and education only; not medical advice. Give a gene symbol or synonym (TP53, P53, HER2), an entry name (P53_HUMAN), or a protein name (insulin). Exact gene names and synonyms are searched first. If none match, protein names are searched unless the query is a single uppercase token or contains digits without spaces. taxon_id defaults to human (9606); reviewed_only defaults to true. Entry names are resolved directly across organisms and review statuses. Returns up to limit matches, reviewed entries first then source order, with recommended full protein name, primary gene, gene synonyms, organism, annotation score and how each matched. ambiguous is true when multiple matches are kept and none matched an entry name or primary gene. total is the sum of source counts for the searches made. With reviewed_only false, unreviewed entries are searched and counted only when reviewed matches do not fill limit. No match returns an empty list. Absent scalar values are null. Use the accession with Protein Function, Sequence, Structure or Domains for those facts. UniProt releases updates every eight weeks.",
1879
+ "description": "Resolves a gene symbol or synonym (TP53, HER2), an entry name (P53_HUMAN) or a protein name (insulin) to protein entries from UniProtKB, under CC BY 4.0 and attributed to the UniProt Consortium: protein name, genes, organism, annotation score and how each matched. Defaults to reviewed human entries. For research and education only; not medical advice. Exact gene names and synonyms are searched first. If none match, protein names are searched unless the query is a single uppercase token or contains digits without spaces. taxon_id defaults to human (9606); reviewed_only defaults to true. Entry names are resolved directly across organisms and review statuses. Returns up to limit matches, reviewed entries first then source order, with recommended full protein name, primary gene, gene synonyms, organism, annotation score and how each matched. ambiguous is true when multiple matches are kept and none matched an entry name or primary gene. total is the sum of source counts for the searches made. With reviewed_only false, unreviewed entries are searched and counted only when reviewed matches do not fill limit. No match returns an empty list. Absent scalar values are null. Use the accession with Protein Function, Sequence, Structure or Domains for those facts. UniProt releases updates every eight weeks.",
1608
1880
  "inputSchema": {
1609
1881
  "type": "object",
1610
1882
  "properties": {
@@ -1637,7 +1909,7 @@ export const LOOKUP_MANIFEST = [
1637
1909
  "name": "protein_sequence",
1638
1910
  "path": "lookup/protein-sequence",
1639
1911
  "title": "Protein Sequence",
1640
- "description": "Protein sequences from UniProt under CC BY 4.0, attributed to the UniProt Consortium. Medical or genetic information is for research and education only. The sequence is the reference sequence UniProtKB holds for a protein, never an individual’s sequence. Covers reviewed and unreviewed entries; an accession with an isoform suffix (P04637-2) returns that isoform’s sequence. Returns the one-letter sequence, length, molecular weight in daltons, CRC64 and MD5 checksums, gene, organism and the isoforms the entry lists. sequence_version and last_sequence_update describe the entry, also for an isoform. UniProt releases updates every eight weeks. Absent values are null. A merged, demerged or deleted accession returns no protein and the source’s inactive reason with any replacement accessions. No match, including an isoform the entry does not list, returns null for both.",
1912
+ "description": "Returns the reference sequence UniProtKB holds for a protein, from UniProt under CC BY 4.0, attributed to the UniProt Consortium: the one-letter sequence, length, molecular weight in daltons, checksums, gene, organism and listed isoforms. It is never an individual's sequence. Medical or genetic information is for research and education only. Covers reviewed and unreviewed entries; an accession with an isoform suffix (P04637-2) returns that isoform’s sequence. The checksums are CRC64 and MD5. sequence_version and last_sequence_update describe the entry, also for an isoform. UniProt releases updates every eight weeks. Absent values are null. A merged, demerged or deleted accession returns no protein and the source’s inactive reason with any replacement accessions. No match, including an isoform the entry does not list, returns null for both.",
1641
1913
  "inputSchema": {
1642
1914
  "type": "object",
1643
1915
  "properties": {
@@ -1658,7 +1930,7 @@ export const LOOKUP_MANIFEST = [
1658
1930
  "name": "protein_structure",
1659
1931
  "path": "lookup/protein-structure",
1660
1932
  "title": "Protein Structure",
1661
- "description": "Give the structure of a protein by its UniProt accession. `coverage` picks which kind: `experimental` lists the newest entries in the Protein Data Bank that contain the protein, each with its title, experimental method, resolution in angstrom, release date, page and structure file, with `total` counting every matching entry; `predicted` returns the predicted model for the accession, with its version, creation date, residue range, mean confidence, the fraction of residues at each confidence level, and its structure and error-image files, or null when no model exists. A predicted model is a computed estimate with per-residue confidence, not an experimental structure: regions of low or very low confidence should not be read as structure. Predicted models come from the predicted-structure database at EMBL-EBI, used under CC BY 4.0; experimental entries come from the RCSB Protein Data Bank. Use it to check whether a protein has a solved structure, to find the file to load into a viewer or a docking run, or to judge how far a predicted model can be trusted. Covers proteins with a UniProt accession. The sequence, alignment links and the names of the prediction software and its maker are not returned.",
1933
+ "description": "Returns a protein's structures by UniProt accession: with `coverage` set to `experimental`, the newest RCSB Protein Data Bank entries with method, resolution, release date and files; with `predicted`, the EMBL-EBI predicted model with its confidence and files. A predicted model is a computed estimate, not an experimental structure: low-confidence regions should not be read as structure. `experimental` lists the newest entries in the Protein Data Bank that contain the protein, each with its title, experimental method, resolution in angstrom, release date, page and structure file, with `total` counting every matching entry. `predicted` returns the predicted model for the accession, with its version, creation date, residue range, mean confidence, the fraction of residues at each confidence level, and its structure and error-image files, or null when no model exists. Predicted models come from the predicted-structure database at EMBL-EBI, used under CC BY 4.0; experimental entries come from the RCSB Protein Data Bank. Use it to check whether a protein has a solved structure, to find the file to load into a viewer or a docking run, or to judge how far a predicted model can be trusted. Covers proteins with a UniProt accession. The sequence, alignment links and the names of the prediction software and its maker are not returned.",
1662
1934
  "inputSchema": {
1663
1935
  "type": "object",
1664
1936
  "properties": {
@@ -1690,11 +1962,56 @@ export const LOOKUP_MANIFEST = [
1690
1962
  "limit": 2
1691
1963
  }
1692
1964
  },
1965
+ {
1966
+ "name": "record_publications_find",
1967
+ "path": "find/record-publications",
1968
+ "title": "Publications",
1969
+ "description": "Searches PubMed, the US National Library of Medicine's index of biomedical papers, newest or most relevant first: title, journal, dates, first three authors, DOI, PubMed Central id, publication types and link. Only citation fields are returned, never an abstract or full text. The answer lists what a public index holds: it is for research and is not medical advice. `total` is how many papers matched in all, including any beyond `limit`, and is 0 when none did. `query_translation` shows how the source expanded the search (MeSH terms, plurals, the year range). Field tags such as `[Title]` or `[MeSH Terms]` and `AND`, `OR` and `NOT` are passed to the source as written. Give `from_year`, `to_year` or both to keep papers published in those years; one alone is open on the other side. `sort` is `newest` (by publication date, the default) or `relevance`. Each paper also gives its author count. Registered studies are in `record_clinical_trials_find`; the papers NCBI links to one gene are in `gene_publications`.",
1970
+ "inputSchema": {
1971
+ "type": "object",
1972
+ "properties": {
1973
+ "query": {
1974
+ "type": "string",
1975
+ "description": "PubMed search text, for example semaglutide AND kidney; field tags such as [Title] or [MeSH Terms] and AND/OR/NOT are allowed. 2 to 300 characters."
1976
+ },
1977
+ "from_year": {
1978
+ "type": "integer",
1979
+ "description": "Only papers published in this year or later, no later than the current year. At least 1800."
1980
+ },
1981
+ "to_year": {
1982
+ "type": "integer",
1983
+ "description": "Only papers published in this year or earlier, no later than the current year. At least 1800."
1984
+ },
1985
+ "sort": {
1986
+ "type": "string",
1987
+ "enum": [
1988
+ "newest",
1989
+ "relevance"
1990
+ ],
1991
+ "description": "newest (by publication date) or relevance. Defaults to `\"newest\"`."
1992
+ },
1993
+ "limit": {
1994
+ "type": "integer",
1995
+ "description": "The most papers to return. From 1 to 20. Defaults to `10`."
1996
+ }
1997
+ },
1998
+ "required": [
1999
+ "query"
2000
+ ]
2001
+ },
2002
+ "example": {
2003
+ "query": "semaglutide AND kidney",
2004
+ "from_year": 2024,
2005
+ "to_year": 2026,
2006
+ "sort": "relevance",
2007
+ "limit": 3
2008
+ }
2009
+ },
1693
2010
  {
1694
2011
  "name": "company_financials",
1695
2012
  "path": "lookup/company-financials",
1696
2013
  "title": "Reported Financials",
1697
- "description": "Look up one reported financial figure of a US public company by its Central Index Key (CIK), the registrant number the US Securities and Exchange Commission assigns to every filer, as for Company Filings. `metric` is one of `revenue`, `net_income`, `operating_income`, `total_assets`, `total_liabilities`, `stockholders_equity`, `cash` or `eps_diluted`; `period` is `annual` (default) or `quarterly`. Returns the company name, the US GAAP tag and unit the figures come from, and one value per period, newest first, each with its calendar frame, start and end dates, fiscal year and period, the form that reported it, its filing date and accession number. Figures are as the company reported them in its filings, not adjusted or restated by anyone else; a later filing that restates a period replaces the earlier value. Looks up by identifier only: it does not search by company name or ticker. `periods` is empty when the company never reported the metric under its US GAAP tag. History is kept per series: Changes addresses one by the padded identifier, metric and period joined with colons (`0000320193:revenue:annual`); a call with a non-default `limit` is kept as a query.",
2014
+ "description": "Returns one reported financial figure of a US public company, by Central Index Key (CIK), from its filings with the US Securities and Exchange Commission: one value per period, newest first, with dates, fiscal period, form, filing date and accession number. Figures are as the company reported them; a later filing that restates a period replaces the earlier value. The CIK is the registrant number the US Securities and Exchange Commission assigns to every filer, as for Company Filings. Looks up by identifier only: it does not search by company name or ticker. `metric` is one of `revenue`, `net_income`, `operating_income`, `total_assets`, `total_liabilities`, `stockholders_equity`, `cash` or `eps_diluted`; `period` is `annual` (default) or `quarterly`. Returns the company name, the US GAAP tag and unit the figures come from, and each value's calendar frame, start and end dates, fiscal year and period. Figures are not adjusted or restated by anyone else. `periods` is empty when the company never reported the metric under its US GAAP tag. History is kept per series: Changes addresses one by the padded identifier, metric and period joined with colons (`0000320193:revenue:annual`); a call with a non-default `limit` is kept as a query.",
1698
2015
  "inputSchema": {
1699
2016
  "type": "object",
1700
2017
  "properties": {
@@ -1727,6 +2044,10 @@ export const LOOKUP_MANIFEST = [
1727
2044
  "limit": {
1728
2045
  "type": "integer",
1729
2046
  "description": "Most periods to return, newest first. From 1 to 20. Defaults to `5`."
2047
+ },
2048
+ "fresh": {
2049
+ "type": "boolean",
2050
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1730
2051
  }
1731
2052
  },
1732
2053
  "required": [
@@ -1740,11 +2061,42 @@ export const LOOKUP_MANIFEST = [
1740
2061
  "limit": 2
1741
2062
  }
1742
2063
  },
2064
+ {
2065
+ "name": "market_truck_rates",
2066
+ "path": "lookup/market-truck-rates",
2067
+ "title": "Truck Rates",
2068
+ "description": "Returns reported weekly rates for refrigerated produce loads, not a quote, from the US Department of Agriculture. Origins are shipping districts. Each lane includes weekly low, high, midpoint and rate per mile, plus truck availability: 1 means surplus, 3 adequate supply and 5 shortage, with intermediate values 2 and 4. Origin and optional destination match uppercase substrings. Omit destination to return several lanes. Reads one page of weeks × 40 rows, capped at 1000, newest first; keeps up to weeks rows per lane from that page. History is available from the first call. Lane details use the newest row. Empty numeric fields are null. No match returns an empty lanes list.",
2069
+ "inputSchema": {
2070
+ "type": "object",
2071
+ "properties": {
2072
+ "origin": {
2073
+ "type": "string",
2074
+ "description": "Shipping district substring, for example Salinas or Florida. 2 to 80 characters."
2075
+ },
2076
+ "destination": {
2077
+ "type": "string",
2078
+ "description": "Destination city substring, for example Chicago. 2 to 80 characters."
2079
+ },
2080
+ "weeks": {
2081
+ "type": "integer",
2082
+ "description": "Most recent weeks per lane. From 1 to 26. Defaults to `4`."
2083
+ }
2084
+ },
2085
+ "required": [
2086
+ "origin"
2087
+ ]
2088
+ },
2089
+ "example": {
2090
+ "origin": "Salinas",
2091
+ "destination": "Chicago",
2092
+ "weeks": 1
2093
+ }
2094
+ },
1743
2095
  {
1744
2096
  "name": "variant_clinical_significance",
1745
2097
  "path": "lookup/variant-clinical-significance",
1746
2098
  "title": "Variant Clinical Significance",
1747
- "description": "Reports what a public registry, ClinVar, says about one variant, for research; not medical advice. Classifications are submitters' and expert panels' interpretations. Supply exactly one ClinVar VCV accession or dbSNP rsID, never a person's genome, sequencing data or a VCF file. A versioned VCV identifies the base accession; the result reports the current accession version. An rsID can match several alleles: returns up to five matching variations. Includes germline, somatic clinical impact and oncogenicity classifications, review status, conditions and last evaluated dates. Empty classifications are null; no match returns an empty variants list. ClinVar refreshes weekly, and accession versions change when records change. NCBI places no restriction on use of ClinVar.",
2099
+ "description": "Reports what ClinVar, the public variant registry of the US National Center for Biotechnology Information, says about one variant by VCV accession or dbSNP rsID: germline, somatic clinical impact and oncogenicity classifications, review status, conditions and last evaluated dates. Classifications are submitters' and expert panels' interpretations, for research; not medical advice. Supply exactly one ClinVar VCV accession or dbSNP rsID, never a person's genome, sequencing data or a VCF file. A versioned VCV identifies the base accession; the result reports the current accession version. An rsID can match several alleles: returns up to five matching variations. Empty classifications are null; no match returns an empty variants list. ClinVar refreshes weekly, and accession versions change when records change. NCBI places no restriction on use of ClinVar.",
1748
2100
  "inputSchema": {
1749
2101
  "type": "object",
1750
2102
  "properties": {
@@ -1763,11 +2115,34 @@ export const LOOKUP_MANIFEST = [
1763
2115
  "rsid": "rs80357906"
1764
2116
  }
1765
2117
  },
2118
+ {
2119
+ "name": "variant_frequency",
2120
+ "path": "lookup/variant-frequency",
2121
+ "title": "Variant Frequency",
2122
+ "description": "Reports aggregate allele counts and frequencies from the Genome Aggregation Database (gnomAD), Broad Institute, showing what a public reference population contains, by genetic ancestry group. For research; not medical advice. An rsID matching several variants needs the variant_id. Supply one variant identifier, never a person’s genome, sequencing data or a VCF file. Uses gnomAD v4 (GRCh38), exomes and genomes. Data refresh per versioned release; no observation date is supplied. Primary exome and genome data are CC0 1.0. Never try to reidentify participants. Only ancestry groups are returned; sex splits, reference-panel subsets and other annotations are excluded. An absent data type is null. Allele frequency is allele count divided by allele number, or null when the denominator is zero.",
2123
+ "inputSchema": {
2124
+ "type": "object",
2125
+ "properties": {
2126
+ "variant_id": {
2127
+ "type": "string",
2128
+ "description": "gnomAD variant ID on GRCh38, for example 1-55051215-G-GA; supply only variant_id or rsid"
2129
+ },
2130
+ "rsid": {
2131
+ "type": "string",
2132
+ "description": "dbSNP identifier, for example rs527413419; supply only rsid or variant_id"
2133
+ }
2134
+ },
2135
+ "required": []
2136
+ },
2137
+ "example": {
2138
+ "variant_id": "1-55051215-G-GA"
2139
+ }
2140
+ },
1766
2141
  {
1767
2142
  "name": "variant_resolve",
1768
2143
  "path": "resolve/variant",
1769
2144
  "title": "Variant Resolve",
1770
- "description": "Says which variant a public registry, ClinVar, records under one identifier, for research; not medical advice. Supply exactly one HGVS expression on a reference sequence accession (genomic, coding, non-coding or protein) or one dbSNP rsID, never a person's genome, sequencing data or a VCF file. The expression is matched as one quoted variant name; expressions containing double quotes or square brackets are refused, so use the rsID for repeat notation. An rsID can match several alleles at one position: returns up to five variations carrying that rsID. A short protein change can match several variants too; ambiguous is then true. No match returns an empty variants list. Identity only: no germline, somatic or oncogenicity classification, conditions or submissions; pass vcv to variant_clinical_significance for those. ClinVar refreshes weekly, and accession versions change when records change. NCBI places no restriction on use of ClinVar.",
2145
+ "description": "Says which variant ClinVar, the public variant registry of the US National Center for Biotechnology Information, records under one HGVS expression or dbSNP rsID, for research; not medical advice. Identity only: no germline, somatic or oncogenicity classification, conditions or submissions; pass vcv to variant_clinical_significance for those. Supply exactly one HGVS expression on a reference sequence accession (genomic, coding, non-coding or protein) or one dbSNP rsID, never a person's genome, sequencing data or a VCF file. The expression is matched as one quoted variant name; expressions containing double quotes or square brackets are refused, so use the rsID for repeat notation. An rsID can match several alleles at one position: returns up to five variations carrying that rsID. A short protein change can match several variants too; ambiguous is then true. No match returns an empty variants list. ClinVar refreshes weekly, and accession versions change when records change. NCBI places no restriction on use of ClinVar.",
1771
2146
  "inputSchema": {
1772
2147
  "type": "object",
1773
2148
  "properties": {
@@ -1790,7 +2165,7 @@ export const LOOKUP_MANIFEST = [
1790
2165
  "name": "company_vat_registration",
1791
2166
  "path": "lookup/company-vat-registration",
1792
2167
  "title": "VAT Registration",
1793
- "description": "Check whether a VAT number is registered today for cross-border trade in an EU member state or Northern Ireland. Give `country`, the two-letter code the source uses (`EL` for Greece, `XI` for Northern Ireland), and `vat_number`; spaces, dots and dashes are removed, and a leading country code equal to `country` is removed. `registered` is true when the number is registered and false when the source says it is not. The registered name and address come back where the member state gives them; some confirm a number and withhold both, which is `null` here. `checked_at` is when the source made the check. A number that is not registered is a completed result. When a member state's own service does not answer or is too busy, the call fails and is never reported as not registered. It confirms registration, not who owns or controls the company.",
2168
+ "description": "Checks with the European Commission whether a VAT number is registered today for cross-border trade in an EU member state or Northern Ireland, with the registered name and address where the member state gives them. It confirms registration, not who owns or controls the company. A member state service that does not answer fails the call. Give `country`, the two-letter code the source uses (`EL` for Greece, `XI` for Northern Ireland), and `vat_number`; spaces, dots and dashes are removed, and a leading country code equal to `country` is removed. `registered` is true when the number is registered and false when the source says it is not. Some member states confirm a number and withhold the name and address, which are then `null`. `checked_at` is when the source made the check. A number that is not registered is a completed result. When a member state's own service does not answer or is too busy, the call fails and is never reported as not registered.",
1794
2169
  "inputSchema": {
1795
2170
  "type": "object",
1796
2171
  "properties": {
@@ -1831,6 +2206,10 @@ export const LOOKUP_MANIFEST = [
1831
2206
  "vat_number": {
1832
2207
  "type": "string",
1833
2208
  "description": "The VAT number, 2 to 14 letters and digits once spaces, dots and dashes are removed; a leading country code equal to country is removed. 2 to 40 characters. letters, digits, spaces, dots and dashes only."
2209
+ },
2210
+ "fresh": {
2211
+ "type": "boolean",
2212
+ "description": "Look the record up again instead of using OneShot's stored copy from an earlier lookup, and refresh that copy. Off by default: a record stored within its freshness window is returned as is, with cached: true and its fetched_at."
1834
2213
  }
1835
2214
  },
1836
2215
  "required": [
@@ -1847,7 +2226,7 @@ export const LOOKUP_MANIFEST = [
1847
2226
  "name": "vehicle_complaints",
1848
2227
  "path": "lookup/vehicle-complaints",
1849
2228
  "title": "Vehicle Complaints",
1850
- "description": "Summarize what owners have reported to the US safety regulator about a vehicle by make, model and model year: how many complaints there are, how many involved a crash, a fire, injuries or deaths, which components are reported most, and the newest complaints with their dates, components and the owner's own words. Use it to check a used vehicle before a purchase, a loan, a claim or a fleet decision. Covers vehicles sold in the United States. Complaints are reports by owners, not findings by the regulator. A complaint does not show that the vehicle has a defect, and a model with few complaints is not proven free of one. To see the safety recalls instead, use Vehicle Recalls. `total` is 0 when the model has no complaints.",
2229
+ "description": "Summarizes what owners have reported to the US National Highway Traffic Safety Administration about a make, model and model year: complaint counts, crashes, fires, injuries, deaths, the components reported most and the newest complaints in the owner's words. Complaints are reports by owners, not findings by the regulator. A complaint does not show that the vehicle has a defect. A model with few complaints is not proven free of a defect. Use it to check a used vehicle before a purchase, a loan, a claim or a fleet decision. Covers vehicles sold in the United States. To see the safety recalls instead, use Vehicle Recalls. `total` is 0 when the model has no complaints.",
1851
2230
  "inputSchema": {
1852
2231
  "type": "object",
1853
2232
  "properties": {
@@ -1885,7 +2264,7 @@ export const LOOKUP_MANIFEST = [
1885
2264
  "name": "vehicle_identification",
1886
2265
  "path": "lookup/vehicle-identification",
1887
2266
  "title": "Vehicle Identification",
1888
- "description": "Decode a 17-character vehicle identification number (VIN) into the vehicle it names: make, model, model year, trim, body class, engine, fuel, transmission, manufacturer and assembly plant. Use it to confirm that a vehicle in a listing, title, claim or invoice is what it says it is. Covers vehicles sold in the United States. `decoded` is false when the number does not resolve to a vehicle; `notes` then says why.",
2267
+ "description": "Decodes a 17-character vehicle identification number (VIN), from the records of the US National Highway Traffic Safety Administration: make, model, model year, trim, body class, engine, fuel, transmission, manufacturer and assembly plant. Covers vehicles sold in the United States. `decoded` is false when the number does not resolve to a vehicle; `notes` then says why. Use it to confirm that a vehicle in a listing, title, claim or invoice is what it says it is.",
1889
2268
  "inputSchema": {
1890
2269
  "type": "object",
1891
2270
  "properties": {
@@ -1910,7 +2289,7 @@ export const LOOKUP_MANIFEST = [
1910
2289
  "name": "vehicle_recalls",
1911
2290
  "path": "lookup/vehicle-recalls",
1912
2291
  "title": "Vehicle Recalls",
1913
- "description": "List the safety recalls issued for a vehicle by make, model and model year: the campaign number, the date it was reported, the affected component, what is wrong, the risk, the remedy and whether the owner is told to park the vehicle. Use it to check a used vehicle before a purchase, a loan, a claim or a fleet decision. Covers vehicles sold in the United States. These are the recalls issued for the model. The result does not say whether a particular vehicle has had the repair done. To start from a vehicle identification number, decode it first with Vehicle Identification, which returns the make, model and year. `total` is 0 when the model has no recalls.",
2292
+ "description": "Lists the safety recalls issued for a make, model and model year, from the US National Highway Traffic Safety Administration: campaign number, report date, component, what is wrong, the risk, the remedy and whether owners are told to park the vehicle. These are the recalls for the model, not proof that a particular vehicle has had the repair done. Use it to check a used vehicle before a purchase, a loan, a claim or a fleet decision. Covers vehicles sold in the United States. To start from a vehicle identification number, decode it first with Vehicle Identification, which returns the make, model and year. `total` is 0 when the model has no recalls.",
1914
2293
  "inputSchema": {
1915
2294
  "type": "object",
1916
2295
  "properties": {
@@ -1948,7 +2327,7 @@ export const LOOKUP_MANIFEST = [
1948
2327
  "name": "record_vulnerability",
1949
2328
  "path": "lookup/record-vulnerability",
1950
2329
  "title": "Vulnerability",
1951
- "description": "Look up a software vulnerability by its CVE identifier in the US National Vulnerability Database. The record gives a description in English, when it was published and last modified, its analysis status, its severity (the newest CVSS version that has a primary score, with the score, the rating word and the vector), the weakness types, whether it is on the US list of known exploited vulnerabilities (with the date added, the date action is due and the required action), the first 10 references with their tags and a link to the record. The lists of affected product versions are not returned. A record is what the database publishes, not a measure of the risk to any one system. `total` is 1, or 0 when the database has no such identifier. Times are UTC. This product uses the NVD API but is not endorsed or certified by the NVD.",
2330
+ "description": "Returns a software vulnerability's record from the National Vulnerability Database of the US National Institute of Standards and Technology, by CVE identifier: description, dates, analysis status, severity, weakness types, known-exploited status and references. Affected product versions are not returned. A record is what the database publishes, not a measure of the risk to any one system. The record gives a description in English, when it was published and last modified, its analysis status, its severity (the newest CVSS version that has a primary score, with the score, the rating word and the vector), the weakness types, whether it is on the US list of known exploited vulnerabilities (with the date added, the date action is due and the required action), the first 10 references with their tags and a link to the record. `total` is 1, or 0 when the database has no such identifier. Times are UTC. This product uses the NVD API but is not endorsed or certified by the NVD.",
1952
2331
  "inputSchema": {
1953
2332
  "type": "object",
1954
2333
  "properties": {
@@ -1969,7 +2348,7 @@ export const LOOKUP_MANIFEST = [
1969
2348
  "name": "place_weather_alerts",
1970
2349
  "path": "lookup/place-weather-alerts",
1971
2350
  "title": "Weather Alerts",
1972
- "description": "List the weather watches, warnings and advisories in force now at a point in the United States, given its latitude and longitude. Use it to check whether a storm, flood, heat, fire-weather or winter-weather alert covers a property, a route stop or a claim location today. Alerts are ordered most severe first (Extreme, Severe, Moderate, Minor, Unknown), then by soonest to expire. The source's active list is returned as it gives it: an alert already issued whose event has not begun (a watch for tomorrow, urgency Future, `onset_at` in the future) is included, so check `urgency` and `onset_at` to tell what is under way from what is coming. `total` is the number of alerts returned. Expired and past alerts are not returned. A point with nothing active is a completed result with `total` 0.",
2351
+ "description": "Lists the weather watches, warnings and advisories the US National Weather Service has in force at a latitude and longitude in the United States, most severe first, then soonest to expire. An alert issued for an event that has not begun is included: check `urgency` and `onset_at` to tell what is under way from what is coming. Use it to check whether a storm, flood, heat, fire-weather or winter-weather alert covers a property, a route stop or a claim location today. Severity runs Extreme, Severe, Moderate, Minor, Unknown. The source's active list is returned as it gives it: a watch for tomorrow (urgency Future, `onset_at` in the future) is included. `total` is the number of alerts returned. Expired and past alerts are not returned. A point with nothing active is a completed result with `total` 0.",
1973
2352
  "inputSchema": {
1974
2353
  "type": "object",
1975
2354
  "properties": {
@@ -1996,7 +2375,7 @@ export const LOOKUP_MANIFEST = [
1996
2375
  "name": "place_wildfires",
1997
2376
  "path": "lookup/place-wildfires",
1998
2377
  "title": "Wildfires",
1999
- "description": "List the wildfires currently burning within a distance of a point, given its latitude and longitude. Use it to check fire activity around a property, a facility or a route stop. Fires are returned largest first, each with its name, size in acres, the percent contained (null when the source states none), the date it was discovered (YYYY-MM-DD, UTC), and its state and county. `radius_km` sets the distance (1 to 200, default 50) and `limit` the most returned (1 to 25, default 10); `more` is true when the source held more fires in range than were returned. Covers current wildfire perimeters in the United States. A point with no fire in range is a completed result with an empty list; that means no published perimeter matched, not that no fire is near: a new fire may not have a perimeter yet.",
2378
+ "description": "Lists the wildfires burning now within a distance of a latitude and longitude, largest first, from the current fire perimeters of the US National Interagency Fire Center: name, acres, percent contained, discovery date, state and county. An empty list means no published perimeter matched, not that no fire is near: a new fire may not have a perimeter yet. Use it to check fire activity around a property, a facility or a route stop. Covers current wildfire perimeters in the United States. The percent contained is null when the source states none. The discovery date is YYYY-MM-DD, UTC. `radius_km` sets the distance (1 to 200, default 50) and `limit` the most returned (1 to 25, default 10); `more` is true when the source held more fires in range than were returned. A point with no fire in range is a completed result with an empty list.",
2000
2379
  "inputSchema": {
2001
2380
  "type": "object",
2002
2381
  "properties": {
@@ -3068,6 +3447,10 @@ export const ROUTE_MANIFEST = [
3068
3447
  "inputSchema": {
3069
3448
  "type": "object",
3070
3449
  "properties": {
3450
+ "fresh": {
3451
+ "type": "boolean",
3452
+ "description": "Refresh the source lists before screening"
3453
+ },
3071
3454
  "name": {
3072
3455
  "type": "string",
3073
3456
  "description": "The company name to check, 2 to 200 characters, free text. Word order and punctuation do not matter"
@@ -3102,6 +3485,10 @@ export const ROUTE_MANIFEST = [
3102
3485
  "inputSchema": {
3103
3486
  "type": "object",
3104
3487
  "properties": {
3488
+ "fresh": {
3489
+ "type": "boolean",
3490
+ "description": "Refresh the source lists before screening"
3491
+ },
3105
3492
  "name": {
3106
3493
  "type": "string",
3107
3494
  "description": "The person name to check, 2 to 200 characters, free text. Word order, accents and punctuation do not matter"