Energetica — Argentine Oil & Gas Data
Server Details
Argentine oil & gas data — 40+ curated tables: production, wells, prices, investments, trade.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 14 tools
Tools have clearly distinct roles: get_* for single-entity profiles, query_* for multi-entity aggregations, and meta-tools describe_data/execute_sql for metadata and custom SQL. The generic execute_sql overlaps with curated tools, but its description explicitly says to prefer curated tools when they fit, eliminating practical ambiguity.
All tool names use snake_case with a consistent verb_noun pattern (e.g., get_area, query_production, rank_entities, resolve_entity). Verbs are semantically grouped by purpose (get for single entity, query for multi-entity), making the convention highly predictable.
14 tools is well-scoped for the rich oil & gas data domain, covering production, wells, completions, investments, prices, reserves, trade, rankings, and entity resolution. Each tool earns its place without excessive fragmentation or redundancy.
The surface comprehensively covers core data domains with metadata, SQL fallback, entity resolution, and specialized queries. Minor gaps exist, such as no dedicated profile tool for basins, fields, or provinces (only generic grouping or ranking), but agents can work around these with query_* or execute_sql.
Available Tools
14 toolsdescribe_dataData catalogARead-onlyIdempotentInspect
Start here. Every table and view: description, period, rows, tool to use, warnings, and the last complete production month. With tablas, also their columns. Example: {tablas: ['pozos']}.
| Name | Required | Description | Default |
|---|---|---|---|
| tablas | No | Tables or views whose columns you need | |
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, covering the safety profile. The description adds modest behavioral context (the catalog surfaces warnings and the last complete production month, and expands to columns when 'tablas' is passed), but much of that overlaps the output schema, so it adds limited value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact and front-loaded — 'Start here' leads, followed by a terse enumeration of returned fields and a usage example. The field list is telegraphic but every clause carries information, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and annotations cover the safety profile; the description supplies the orientation ('start here'), the array semantics, and a call example. The only real gap is that 'max_rows' is never explained, which is a minor omission for a 2-param discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'tablas' is documented ('Tables or views whose columns you need') while 'max_rows' is completely undocumented. The description adds a concrete call example ({tablas: ['pozos']}) and clarifies that passing tablas also returns columns, which partly compensates, but 'max_rows' remains unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description makes clear this is the catalog/discovery entry point that enumerates every table and view with metadata (description, period, rows, warnings, recommended tool), and 'Start here' plus the title 'Data catalog' distinguish it from the query_* siblings. It lacks an explicit verb ("describe"/"list"), relying on the field enumeration to convey purpose, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Start here' is a direct, front-loaded usage directive telling the agent to call this before other tools, and 'tool to use' implies the catalog routes the agent to the query_* siblings. It gives clear when-to-use context but names no explicit alternatives or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_sqlRead-only SQLARead-onlyIdempotentInspect
Run read-only DuckDB SQL (a single SELECT or WITH) over the catalog tables and views. Prefer the curated tools when they fit; call describe_data first for tables and columns. Column names and values are in Spanish. Example: {sql: "SELECT anio, SUM(prod_petroleo_m3) FROM agg_produccion_mensual WHERE formacion = 'vaca muerta' GROUP BY 1 ORDER BY 1"}.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | ||
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), so the bar is lower, yet the description still adds real context: only a single statement is accepted, and column names/values are in Spanish, which is a non-obvious behavioral gotcha. It does not mention row-limiting behavior or query cost, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core capability and followed by routing guidance, prerequisite, a caveat, and a worked example. The example is long but directly earns its place by showing dialect, table naming, and aggregation style.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers scope, safety, language gotcha, and prerequisite. The only gap is the undocumented 'max_rows' parameter and the default row cap, which matters for an agent composing open-ended SQL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It compensates well for the 'sql' parameter with the single-statement rule, the Spanish naming caveat, and a concrete example query, but 'max_rows' is never mentioned anywhere, leaving one of two parameters entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run), resource (DuckDB SQL over catalog tables and views), and constraint (read-only, a single SELECT or WITH). This clearly distinguishes it from the curated siblings like query_production and get_well, which the description explicitly positions as preferred alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when not to use it ('Prefer the curated tools when they fit') and names a required prerequisite workflow ('call describe_data first for tables and columns'). Both the alternative and the ordering constraint are stated, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_areaConcession area profileBRead-onlyIdempotentInspect
One concession area: 12-month production and year-on-year change, operators and shares, wells by type and state, top wells and the last 24 months. Example: {area_concesion: 'LOMA CAMPANA'}.
| Name | Required | Description | Default |
|---|---|---|---|
| max_rows | No | ||
| area_concesion | Yes | Area name; close names are resolved |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds genuine scope context beyond that — the exact data window (12 trailing months, last 24 months) — but says nothing about error behavior for unresolved names or what max_rows caps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, content scope front-loaded and the example value appended. Every clause conveys callable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be explained, and the description still usefully states the data scope and resolution behavior along with a sample input. Only the unexplained max_rows and no-match handling keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: area_concesion is documented and its 'close names are resolved' behavior restated in the description, plus a concrete example value. However, max_rows is unexplained in both schema and description, so the description only partly compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('One concession area') and enumerates the exact profile contents (12-month production, YoY change, operators and shares, wells by type/state, top wells, last 24 months), so an agent can distinguish it from query_production or query_wells. It does not explicitly contrast with get_well/get_company, its closest siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or named alternative is given. The content list implies what you get back and the schema note about name resolution hints at usage, but an agent is left to infer that this is the entity-profile entry point versus resolve_entity or get_company.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_companyCompany profileBRead-onlyIdempotentInspect
One operator: 12-month production, national share, year-on-year change, areas, basins, wells, investments, reserves and, if listed, share price and SEC financials. Example: {empresa: 'VISTA ENERGY ARGENTINA SAU'}.
| Name | Required | Description | Default |
|---|---|---|---|
| empresa | Yes | Company name; close names are resolved | |
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/closed-world, so the bar is low; the description still adds real context by disclosing the conditional nature of share price and SEC financials ("if listed") and that the payload spans many domains. It does not describe pagination or how many rows the profile returns, but with annotations and an output schema in place this is solid added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the scope ("One operator") followed by the payload inventory and an inline parameter example. The long comma-separated list is dense but each item earns its place by telling the agent what the profile returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with annotations and an output schema, the description is mostly adequate, but it spends words enumerating returns the output schema likely already defines while leaving max_rows entirely unexplained. One concrete gap remains for an agent tuning result size.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: empresa is documented in the schema and reinforced by a concrete example value, but max_rows is undocumented in both schema and description. The example adds marginal value over the schema for empresa while leaving the row-limit parameter fully opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb is implicit (get) but the resource and scope are precise: a single-operator profile bundling production, share, change, areas, basins, wells, investments, reserves, and conditional share price/SEC financials. It clearly reads as an aggregate snapshot rather than a raw query, though it never names the sibling queries (query_production, query_investments, etc.) it supersedes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"One operator" hints at single-entity scoping, but the description never says when to use this versus query_production, query_reserves, or rank_entities. No prerequisites, no when-not guidance, and the example illustrates the parameter rather than the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wellWell profileARead-onlyIdempotentInspect
One well by idpozo or sigla: registry data, IP30/90/180, cumulative volumes, recent GOR and water cut, last 36 months of production, fracture jobs and trajectory. Example: {sigla: 'YPF.Nq.LCa-1001(h)'}.
| Name | Required | Description | Default |
|---|---|---|---|
| sigla | No | Well code; close codes are resolved | |
| idpozo | No | ||
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so safety is covered. The description adds real behavioral value beyond them by disclosing the breadth of the payload (production history depth, fracture jobs, trajectory), which lets an agent anticipate a large response and plan around it. It does not cover pagination or behavior when no identifier is supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the access pattern before the payload list, and the example earns its place by pinning down the identifier syntax. The middle enumeration is dense but each item is a distinct data category rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description's enumeration of returned data is partly redundant but harmless. The notable gap is that zero parameters are required, yet the description never says what happens if neither sigla nor idpozo is provided, nor what max_rows controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description carries extra burden and partially meets it: the worked example clarifies the sigla string format ('YPF.Nq.LCa-1001(h)'), which the schema only describes as 'Well code'. But idpozo is given no meaning at all and max_rows is never mentioned, even though it governs the response size implied by the long data enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource and cardinality ('One well by idpozo or sigla'), then enumerates exactly what the caller gets back: registry data, IP30/90/180, cumulative volumes, GOR, water cut, 36 months of production, fracture jobs, trajectory. An agent can distinguish this from the plural, filter-oriented sibling query_wells without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (you must already know a specific well identifier) and supplies a concrete sigla example, which is genuinely helpful. However, it never states when to prefer this over query_wells or resolve_entity, nor any prerequisite or exclusion, so usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_completionsFracture jobs (completions)CRead-onlyIdempotentInspect
Fracture jobs by year, company (the one that reported the job), area, formation or well: wells, stages, stages per well, lateral length, proppant, water. Example: {formacion: 'vaca muerta', fecha_desde: '2025', agrupar_por: ['empresa']}.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenca | No | ||
| empresa | No | ||
| max_rows | No | ||
| formacion | No | ||
| agrupar_por | No | Default anio | |
| fecha_desde | No | Completion (end of fracture) from | |
| fecha_hasta | No | ||
| area_concesion | No | ||
| subtipo_reservorio | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds no behavioral context beyond that - no note on aggregation semantics, how the metric set is chosen, or default date scope - so it earns only the baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource and stays short (two sentences plus an example), which is good. But the dense run-on list mixes dimensions with metrics and the 'Example' payload is not clearly labeled as showing input syntax, so the structure is compact yet ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the input side is incomplete: six of nine parameters are undocumented in anyone's schema or the description, and it is unclear what controls which metrics are returned. For a 9-parameter aggregation tool this leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22%, so the description must carry the load, but it only illustrates formacion/fecha_desde/agrupar_por via the example. It leaves cuenca, empresa, area_concesion, subtipo_reservorio, fecha_hasta and max_rows unexplained, and the metrics it enumerates (wells, stages, lateral length, proppant, water) are not parameters at all, which risks misleading an agent about what it can filter on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (fracture jobs/completions) and lists the dimensions it can be grouped by, so the general intent is inferrable. However it conflates output metrics (wells, stages, proppant, water) with filterable dimensions, so an agent cannot cleanly tell what is returned vs. filtered, and it does nothing to distinguish itself from siblings like query_production or query_wells.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and never names an alternative among the many query_* siblings. There is no mention of prerequisites, exclusions, or how it differs from query_production/query_reserves/query_wells, which all sound similarly domain-adjacent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_investmentsUpstream investmentsARead-onlyIdempotentInspect
Upstream oil & gas investments in Argentina by company, basin, year and concept, in millions of USD (drilling, workovers, pipelines, facilities, seismic…). Example: {cuenca: 'NEUQUINA', anio_desde: 2023, concepto: 'perforacion'}.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenca | No | ||
| empresa | No | ||
| concepto | No | Investment concept, partial match ignoring accents (e.g. 'perforacion', 'reparacion de pozos', 'gasoductos', 'sismica') | |
| max_rows | No | ||
| anio_desde | No | Year of the sworn statement (DDJJ) | |
| anio_hasta | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so safety is covered; the description adds materially useful context beyond that — output units in millions of USD and the concept taxonomy (drilling, workovers, pipelines, facilities, seismic). It says nothing about result size limits or pagination, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the data scope and units come first, then filter dimensions, then a compact example. No filler, though the ellipsis list of concepts is mildly loose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers what the data is, its units and a working call example. The remaining gap is guidance on filter combinations and result limits, which is minor for a read-only filtered query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and only concepto and anio_desde carry descriptions. The description compensates partially by mapping the Spanish parameter names to dimensions (cuenca=basin, empresa=company, concepto=concept, anio_desde/year) and by demonstrating them in the example, but max_rows and anio_hasta remain unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (upstream oil & gas investments in Argentina), the breakdown dimensions (company, basin, year, concept) and the unit (millions of USD), which separates it from siblings like query_production, query_prices and query_reserves. It lacks an explicit verb ('query') and never names a sibling, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the worked example shows a typical invocation with cuenca/anio_desde/concepto, which hints at filtered lookups, but there is no statement of when to prefer this over execute_sql, rank_entities or the other query_* tools, and no note that all filters are optional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_pricesEnergy prices and exchange ratesARead-onlyIdempotentInspect
International and local energy prices: WTI, Brent, Henry Hub (daily, USD), Argentine crude price used for royalties by province (monthly, USD/bbl) and ARS/USD exchange rates (daily). Most recent first. Example: {serie: 'BRENT', fecha_desde: '2024', frecuencia: 'mensual'}.
| Name | Required | Description | Default |
|---|---|---|---|
| serie | Yes | ||
| max_rows | No | ||
| provincia | No | Only CRUDO_LOCAL; omit for every province | |
| frecuencia | No | Average; CRUDO_LOCAL is monthly | |
| fecha_desde | No | ||
| fecha_hasta | No | Inclusive |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, closed-world), so the description's job is supplementary. It adds genuinely useful behavior beyond the annotations: default ordering ('Most recent first') and per-series frequency/units (daily USD, monthly USD/bbl). It stays silent on max_rows defaults and pagination, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler: data inventory first, then the ordering behavior, then a concrete example. Every clause carries information, though the middle inventory sentence is dense enough that it borders on a run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers series semantics, frequencies, currencies, and call syntax. The only real omissions are the max_rows default/limit behavior and the accepted date format outside the example, which are minor for a read-only lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description has to compensate, and it does for the most important parameter: it maps the bare enum values (BRENT, HENRY_HUB, CRUDO_LOCAL, USD_BLUE/MEP/CCL) to their real meaning and frequency. The example also pins the fecha_desde format. max_rows and fecha_hasta remain undocumented beyond the schema's 'Inclusive' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource and enumerates the exact series returned (WTI, Brent, Henry Hub, Argentine crude, ARS/USD rates), which makes it clearly distinguishable from siblings like query_production or query_trade. There is no explicit verb ('query'/'retrieve'), but the content coverage is specific enough that an agent knows exactly what data it yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the enumerated series and the worked example show the call shape, but there is no explicit when-to-use, when-not-to-use, or named alternative among the query_* siblings. For a fairly distinct dataset the routing risk is low, so this is adequate but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_productionMonthly hydrocarbon productionARead-onlyIdempotentInspect
Oil, gas and water production (2006–present) by entity and period, grouped by up to 3 dimensions: volumes, BOE, producing/reporting wells, daily rate, GOR, water cut. Example: {area_concesion: "LOMA CAMPANA", fecha_desde: "2025", agrupar_por: ["anio"]}.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenca | No | ||
| idpozo | No | ||
| empresa | No | ||
| max_rows | No | ||
| metricas | No | Default petroleo, gas, agua (+ pozos_productores by mes); caudal_diario = volume / calendar days | |
| formacion | No | ||
| provincia | No | ||
| tipo_pozo | No | e.g. Petrolífero, Gasífero | |
| yacimiento | No | ||
| agrupar_por | No | Up to 3 dimensions; default [mes] | |
| fecha_desde | No | ||
| fecha_hasta | No | Inclusive | |
| tipo_recurso | No | ||
| area_concesion | No | ||
| subtipo_recurso | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: the 2006–present coverage window, the set of computable metrics, and the hard constraint of at most 3 grouping dimensions. It still omits operational behavior such as row limits or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences: scope and metrics first, then an inline example. No filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. However, for a 15-parameter, zero-required query tool with sparse schema descriptions, the definition does not explain how the many filter parameters interact, what the defaults are, or when to use this versus the other query tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 15 parameters and only 27% schema description coverage, the description carries most of the burden but does not deliver. It restates metricas and agrupar_por (which the schema already documents) while leaving cuenca, idpozo, empresa, max_rows, formacion, provincia, yacimiento, fecha_hasta, tipo_recurso and subtipo_recurso unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — querying oil, gas and water production by entity and period — with the data window (2006–present) and grouping capability. An agent can tell it is a production-data query, but it never distinguishes itself from sibling query_* tools such as query_wells or query_completions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the example payload shows one way to call it, but there is no statement of when to prefer this over execute_sql, describe_data, or the other query_* siblings, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_reservesHydrocarbon reservesARead-onlyIdempotentInspect
P1/P2/P3 oil and gas reserves at Dec 31 by year, basin, company and resource type (end of useful life); oil and gas in separate columns. Default: latest year. Example: {anio: [2024], agrupar_por: ['cuenca'], categorias: ['P1']}.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Years; default the latest | |
| cuenca | No | ||
| empresa | No | ||
| max_rows | No | ||
| categorias | No | Default P1, P2, P3 | |
| agrupar_por | No | Default anio | |
| tipo_recurso | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false. The description adds domain-specific context: reserves are measured at Dec 31, end of useful life, oil and gas are returned in separate columns, and the default year is the latest. It doesn't discuss auth, rate limits, or result size, but with annotations covering the safety profile this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a front-loaded summary of the data and dimensions, followed by default behavior and a compact example. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema documents return values and annotations cover the safety profile, so the description needn't repeat those. It provides the domain scope, default year, and a sample query, leaving only minor gaps like max_rows and explicit sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 43%, so the description must compensate. It illustrates anio, agrupar_por, and categorias in the example and mentions year, basin, company, and resource type, but leaves max_rows undocumented and doesn't explain the enum values for tipo_recurso beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (P1/P2/P3 oil and gas reserves) and the dimensions (year, basin, company, resource type) plus output shape (oil and gas in separate columns). It doesn't explicitly contrast with sibling query tools like query_production, but the domain is distinct enough for an agent to select it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the default behavior ('Default: latest year') and provides a sample request object, which helps parameter usage. However, it gives no explicit when-to-use guidance or comparison to alternatives such as query_production or query_trade.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_tradeHydrocarbon trade balanceBRead-onlyIdempotentInspect
Argentina hydrocarbon exports and imports by month: crude oil (HS 2709), refined products (HS 2710) and natural gas (HS 2711), FOB USD and kg. Example: {anio: 2025, flow: 'export', producto: 'crude'}.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | ||
| flow | No | Trade flow direction | |
| max_rows | No | ||
| producto | No | Product category |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful domain context: geographic scope, monthly granularity, the HS-coded product taxonomy, and reporting units. It says nothing about pagination, defaults for optional params, or result limits, so it clears the lowered bar but does not exceed it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the data scope is front-loaded, followed by a compact example. Every element earns its place, with no filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety and determinism. However, with zero required parameters the description should clarify defaults (e.g., what happens if producto or flow is omitted, what max_rows defaults to), and it does not. Adequate but with a clear gap for an all-optional-parameter query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (flow and producto documented in-schema; anio and max_rows not). The description compensates partly by listing the product categories that map to the 'producto' enum and by giving a concrete example ({anio: 2025, flow: 'export', producto: 'crude'}) that demonstrates value shapes. It still leaves max_rows and the anio format undiscussed, so it adds only marginal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Argentina hydrocarbon exports/imports by month) and enumerates the exact products with HS codes (2709, 2710, 2711) and units (FOB USD, kg). This clearly distinguishes it as the trade-data query within the query_* family, though it never names a sibling tool to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are mentioned. The example invocation shows the call syntax but does not tell the agent when to reach for this tool versus query_prices or query_production.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_wellsWells searchBRead-onlyIdempotentInspect
Wells in the registry (~86,000): location, type, current status and operator, cumulative production, first and last month with production, IP30. Example: {provincia: 'Neuquén', subtipo_recurso: 'SHALE', tipo_estado: 'activos'}.
| Name | Required | Description | Default |
|---|---|---|---|
| orden | No | ||
| cuenca | No | ||
| empresa | No | ||
| max_rows | No | ||
| formacion | No | ||
| provincia | No | ||
| tipo_pozo | No | e.g. Petrolífero, Gasífero | |
| yacimiento | No | ||
| tipo_estado | No | Exact registry status (e.g. Abandonado, Parado Transitoriamente) or 'activos' | |
| segun_padron | No | ||
| tipo_recurso | No | ||
| area_concesion | No | ||
| con_produccion | No | ||
| subtipo_recurso | No | ||
| primera_produccion_desde | No | First month with oil or gas > 0 (or the registry fecha_primera_prod with segun_padron) | |
| primera_produccion_hasta | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and closed-world behavior, so safety is covered. The description usefully adds dataset scale (~86,000 wells) and the exact output fields, which informs the agent about result shape. It is silent on pagination, the max_rows default, or ordering behavior, so it adds moderate but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first front-loads the resource and output fields, the second provides a concrete filter example. No filler, no repetition of the title, and the most decision-relevant information leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description correctly focuses on scope and fields. However, for a 16-parameter, zero-required, 19%-documented search tool, the description does not explain how filters combine, the meaning of orden, or the default page size, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 19% across 16 parameters, so the description carries a heavy compensation burden. The example illustrates only three filters (provincia, subtipo_recurso, tipo_estado) and hints at the 'activos' shorthand, leaving cuenca, empresa, formacion, orden, max_rows, con_produccion and the date bounds unexplained. It adds marginal value over the schema without closing the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (wells in the registry), its scale (~86,000), and enumerates the returned fields: location, type, status, operator, cumulative production, first/last production month, IP30. This clearly distinguishes it from single-record siblings like get_well. It does not explicitly name why it differs from query_production or rank_entities, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use/when-not statement and no reference to alternatives such as get_well or query_production. The example query object implies intended usage (filtering by provincia, subtipo_recurso, tipo_estado) but leaves the agent to infer routing. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_entitiesRankingsARead-onlyIdempotentInspect
Top N wells, areas, companies, fields, basins or formations by production, BOE, GOR, water cut, growth, new wells or IP30/90/180 (raw, per meter, per stage). Example: {entidad: 'pozo', metrica: 'ip30', subtipo_recurso: 'SHALE', tipo_pozo: 'Petrolífero', fecha_desde: '2025', fecha_hasta: '2025'}.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Default 10 | |
| orden | No | ||
| cuenca | No | ||
| empresa | No | ||
| entidad | Yes | ||
| metrica | Yes | ip*: wells of a first-production cohort (or their average per entity); others over the period | |
| max_rows | No | ||
| formacion | No | ||
| provincia | No | ||
| tipo_pozo | No | e.g. Petrolífero, Gasífero | |
| yacimiento | No | ||
| fecha_desde | No | Default: 12 months to fecha_hasta | |
| fecha_hasta | No | Inclusive; default the last complete month | |
| area_concesion | No | ||
| subtipo_recurso | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), lowering the bar. The description adds essentially nothing behavioral beyond that — no note on result-size caps, how n interacts with max_rows, or cost/latency for large rankings. It is adequate only because the annotations carry the safety story.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the capability statement followed by a concrete example. No filler, though the example consumes a fair share of a short description that could have spent that space on parameter meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. However, for a 15-parameter tool with only 33% schema coverage, the description omits default ordering, the n/max_rows distinction, and filter-combination behavior, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 15 parameters, so the description should compensate but largely does not. It restates enum values already in the schema and gives one example payload, leaving n, orden, max_rows, provincia, empresa, cuenca, area_concesion, yacimiento, formacion and the n-vs-max_rows relationship unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rank / 'top N') and enumerates the rankable resources (wells, areas, companies, fields, basins, formations) and ranking metrics (production, BOE, GOR, water cut, growth, new wells, IP30/90/180 variants). This is clearly distinguishable from the sibling query_* tools, which retrieve data rather than produce ordered rankings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'Top N ... by ...' framing and the worked example suggest when to reach for it, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. execute_sql or query_production for raw rows). The agent must infer the boundary against siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_entityFind companies, areas, fields and wellsBRead-onlyIdempotentInspect
Free text → exact names for filters (companies, areas, fields, formations, basins, provinces, wells), with context and last month with production. Example: {texto: 'palmar', tipo: 'yacimiento'}.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| texto | Yes | Name or part of it | |
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| rows | Yes | |
| columns | Yes | |
| sections | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and closed-world, so the safety profile is covered. The description adds that results come back 'with context and last month with production', which is genuine extra behavioral context, but it says nothing about matching semantics (partial vs exact, case, accent handling) or result limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus a concrete example, with the core transformation front-loaded and no filler. The example's Spanish keys are terse but directly actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be detailed, and the tool is a safe read. Still, gaps remain for an agent to call it confidently: 'max_rows' behavior, default reference month for production, and matching rules for the required 'texto' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema coverage, the description must compensate and it partially does: the category list helps decode the Spanish 'tipo' enum (yacimiento=field, cuenca=basin, etc.), and the example shows the call shape. However 'max_rows' is never explained and the enum-to-category mapping is only inferrable, not stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear transformation (free text → exact names) plus the explicit enumeration of entity categories, so an agent knows this is a name-resolution/lookup tool. It reads as distinguishable from siblings like get_company or query_wells, though it never names an alternative to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for filters' implies the intended workflow (resolve a loose name before using it in a filtered query), but there is no explicit when-to-use, when-not-to-use, or comparison with sibling lookups such as get_well or rank_entities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
- Added
describe_data - Changed
execute_sql8 fields changed- removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / sql / descriptionRemoved value: -"SQL query (a single SELECT or WITH)" - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Added
get_area - Added
get_company - Removed
get_data_freshness - Removed
get_schema - Added
get_well - Added
query_completions - Changed
query_investments17 fields changed- changed
Input schema / properties / anio_desde / descriptionPrevious value: -"Start year"New value: +"Year of the sworn statement (DDJJ)" - removed
Input schema / properties / anio_desde / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / anio_desde / minimumRemoved value: --9007199254740991 - changed
Input schema / properties / anio_desde / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / anio_hasta / descriptionRemoved value: -"End year" - removed
Input schema / properties / anio_hasta / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / anio_hasta / minimumRemoved value: --9007199254740991 - changed
Input schema / properties / anio_hasta / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / cuenca / descriptionRemoved value: -"Basin, partial match" - removed
Input schema / properties / empresa / descriptionRemoved value: -"Company, partial match" - removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Changed
query_prices12 fields changed- removed
Input schema / properties / fecha_desde / descriptionRemoved value: -"Start period YYYY, YYYY-MM or YYYY-MM-DD" - changed
Input schema / properties / fecha_hasta / descriptionPrevious value: -"End period YYYY, YYYY-MM or YYYY-MM-DD, inclusive"New value: +"Inclusive" - changed
Input schema / properties / frecuencia / descriptionPrevious value: -"Aggregation (average). Default: diario for daily series; CRUDO_LOCAL is monthly"New value: +"Average; CRUDO_LOCAL is monthly" - removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - changed
Input schema / properties / provincia / descriptionPrevious value: -"Only for CRUDO_LOCAL: province. Omit to get every province"New value: +"Only CRUDO_LOCAL; omit for every province" - removed
Input schema / properties / serie / descriptionRemoved value: -"Price series to query" - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Changed
query_production26 fields changed- changed
Input schema / properties / agrupar_por / descriptionPrevious value: -"Group results by dimension. Default: mes"New value: +"Up to 3 dimensions; default [mes]" - removed
Input schema / properties / agrupar_por / enumRemoved value: -[ - "mes", - "anio", - "cuenca", - "empresa", - "formacion" -] - added
Input schema / properties / agrupar_por / itemsAdded value: +{ + "enum": [ + "mes", + "anio", + "empresa", + "cuenca", + "provincia", + "area_concesion", + "yacimiento", + "formacion", + "tipo_recurso", + "subtipo_recurso", + "tipo_pozo", + "idpozo" + ], + "type": "string" +} - added
Input schema / properties / agrupar_por / maxItemsAdded value: +3 - changed
Input schema / properties / agrupar_por / typePrevious value: -"string"New value: +"array" - added
Input schema / properties / area_concesionAdded value: +{ + "type": "string" +} - removed
Input schema / properties / cuenca / descriptionRemoved value: -"Basin, partial match (e.g. NEUQUINA, GOLFO SAN JORGE, CUYANA, AUSTRAL, NOROESTE)" - removed
Input schema / properties / empresa / descriptionRemoved value: -"Operating company, partial match (e.g. YPF, PAN AMERICAN, VISTA, TECPETROL)" - removed
Input schema / properties / fecha_desde / descriptionRemoved value: -"Start period YYYY or YYYY-MM (e.g. 2020-01)" - changed
Input schema / properties / fecha_hasta / descriptionPrevious value: -"End period YYYY or YYYY-MM, inclusive (e.g. 2025-12)"New value: +"Inclusive" - removed
Input schema / properties / formacion / descriptionRemoved value: -"Geological formation, partial match (e.g. VACA MUERTA, D-129)" - added
Input schema / properties / idpozoAdded value: +{ + "items": { + "type": "number" + }, + "maxItems": 50, + "type": "array" +} - removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / metricasAdded value: +{ + "description": "Default petroleo, gas, agua (+ pozos_productores by mes); caudal_diario = volume / calendar days", + "items": { + "enum": [ + "petroleo", + "gas", + "agua", + "boe", + "gor", + "water_cut", + "pozos_productores", + "pozos_informantes", + "caudal_diario" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / provinciaAdded value: +{ + "type": "string" +} - removed
Input schema / properties / recursoRemoved value: -{ - "description": "Resource type filter. Default: todos", - "enum": [ - "petroleo", - "gas", - "agua", - "todos" - ], - "type": "string" -} - added
Input schema / properties / subtipo_recursoAdded value: +{ + "enum": [ + "SHALE", + "TIGHT" + ], + "type": "string" +} - added
Input schema / properties / tipo_pozoAdded value: +{ + "description": "e.g. Petrolífero, Gasífero", + "type": "string" +} - added
Input schema / properties / tipo_recursoAdded value: +{ + "enum": [ + "CONVENCIONAL", + "NO CONVENCIONAL", + "SIN RESERVORIO", + "NO DISCRIMINADO" + ], + "type": "string" +} - added
Input schema / properties / yacimientoAdded value: +{ + "type": "string" +} - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Added
query_reserves - Changed
query_trade11 fields changed- removed
Input schema / properties / anio / descriptionRemoved value: -"Filter by year" - removed
Input schema / properties / anio / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / anio / minimumRemoved value: --9007199254740991 - changed
Input schema / properties / anio / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Changed
query_wells23 fields changed- added
Input schema / properties / area_concesionAdded value: +{ + "type": "string" +} - removed
Input schema / properties / con_produccion / descriptionRemoved value: -"Only wells with cumulative production > 0" - removed
Input schema / properties / cuenca / descriptionRemoved value: -"Basin, partial match (NEUQUINA, GOLFO SAN JORGE, etc.)" - removed
Input schema / properties / empresa / descriptionRemoved value: -"Operating company, partial match" - removed
Input schema / properties / formacion / descriptionRemoved value: -"Geological formation, partial match" - removed
Input schema / properties / max_rows / descriptionRemoved value: -"Rows to return (default 200; capped by your tier). The result says if rows were cut." - removed
Input schema / properties / max_rows / maximumRemoved value: -9007199254740991 - changed
Input schema / properties / max_rows / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / ordenAdded value: +{ + "enum": [ + "acumulado", + "ip30", + "primera_produccion" + ], + "type": "string" +} - added
Input schema / properties / primera_produccion_desdeAdded value: +{ + "description": "First month with oil or gas > 0 (or the registry fecha_primera_prod with segun_padron)", + "type": "string" +} - added
Input schema / properties / primera_produccion_hastaAdded value: +{ + "type": "string" +} - removed
Input schema / properties / provincia / descriptionRemoved value: -"Province, partial match ignoring case and accents (e.g. Neuquén, Chubut, Santa Cruz)" - added
Input schema / properties / segun_padronAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / subtipo_recursoAdded value: +{ + "enum": [ + "SHALE", + "TIGHT" + ], + "type": "string" +} - changed
Input schema / properties / tipo_estado / descriptionPrevious value: -"Exact well status, or 'activos' for all active states (Extracción Efectiva, En Inyección Efectiva, Otras Situación Activo)"New value: +"Exact registry status (e.g. Abandonado, Parado Transitoriamente) or 'activos'" - removed
Input schema / properties / tipo_estado / enumRemoved value: -[ - "Extracción Efectiva", - "Abandonado", - "En Estudio", - "En Reserva para Recup. Sec./Asist.", - "Parado Transitoriamente", - "En Inyección Efectiva", - "A Abandonar", - "En Espera de Reparación", - "Otras Situación Inactivo", - "Abandono Temporario", - "Parado Alta Relación Agua/Petróleo", - "En Reserva de Gas", - "Otras Situación Activo", - "Parado Alta Relación Gas/Petróleo", - "En Reparación", - "Mantenimiento de Presión", - "activos" -] - added
Input schema / properties / tipo_pozoAdded value: +{ + "description": "e.g. Petrolífero, Gasífero", + "type": "string" +} - removed
Input schema / properties / tipo_recurso / descriptionRemoved value: -"Resource type (NO CONVENCIONAL = shale/tight)" - added
Input schema / properties / yacimientoAdded value: +{ + "type": "string" +} - added
Output schema / properties / columns / items / properties / unitAdded value: +{ + "type": "string" +} - added
Output schema / properties / meta / properties / definitionsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / meta / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sectionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "name", + "columns", + "rows", + "truncated" + ], + "type": "object" + }, + "type": "array" +}
- Added
rank_entities - Added
resolve_entity
8 tool updates
- Changed
execute_sql4 fields changed- added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / sql / descriptionPrevious value: -"SQL query (SELECT or WITH only)"New value: +"SQL query (a single SELECT or WITH)" - added
Input schema / properties / sql / minLengthAdded value: +1 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
get_data_freshness2 fields changed- added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
get_schema3 fields changed- added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 1000; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / tabla / descriptionPrevious value: -"Specific table name. Omit to get all tables."New value: +"Table or view name. Omit to get every table" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
query_investments11 fields changed- added
Input schema / properties / anio_desde / maximumAdded value: +9007199254740991 - added
Input schema / properties / anio_desde / minimumAdded value: +-9007199254740991 - changed
Input schema / properties / anio_desde / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / anio_hasta / maximumAdded value: +9007199254740991 - added
Input schema / properties / anio_hasta / minimumAdded value: +-9007199254740991 - changed
Input schema / properties / anio_hasta / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / concepto / descriptionPrevious value: -"Investment concept, partial match (e.g. 'perforacion', 'reparacion de pozos', 'gasoductos', 'sismica')"New value: +"Investment concept, partial match ignoring accents (e.g. 'perforacion', 'reparacion de pozos', 'gasoductos', 'sismica')" - changed
Input schema / properties / cuenca / descriptionPrevious value: -"Basin filter"New value: +"Basin, partial match" - changed
Input schema / properties / empresa / descriptionPrevious value: -"Company filter"New value: +"Company, partial match" - added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
query_prices3 fields changed- changed
Input schema / properties / frecuencia / descriptionPrevious value: -"Frequency aggregation. Default: diario for intl prices, mensual for local"New value: +"Aggregation (average). Default: diario for daily series; CRUDO_LOCAL is monthly" - added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
query_production5 fields changed- changed
Input schema / properties / cuenca / descriptionPrevious value: -"Basin name filter (e.g. NEUQUINA, GOLFO SAN JORGE, CUYANA, AUSTRAL, NOROESTE)"New value: +"Basin, partial match (e.g. NEUQUINA, GOLFO SAN JORGE, CUYANA, AUSTRAL, NOROESTE)" - changed
Input schema / properties / empresa / descriptionPrevious value: -"Operating company filter (e.g. YPF, PAN AMERICAN ENERGY, VISTA, TECPETROL)"New value: +"Operating company, partial match (e.g. YPF, PAN AMERICAN, VISTA, TECPETROL)" - changed
Input schema / properties / formacion / descriptionPrevious value: -"Geological formation filter (e.g. VACA MUERTA, D-129, CENTENARIO)"New value: +"Geological formation, partial match (e.g. VACA MUERTA, D-129)" - added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
query_trade5 fields changed- added
Input schema / properties / anio / maximumAdded value: +9007199254740991 - added
Input schema / properties / anio / minimumAdded value: +-9007199254740991 - changed
Input schema / properties / anio / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
- Changed
query_wells7 fields changed- changed
Input schema / properties / cuenca / descriptionPrevious value: -"Basin filter (NEUQUINA, GOLFO SAN JORGE, etc.)"New value: +"Basin, partial match (NEUQUINA, GOLFO SAN JORGE, etc.)" - changed
Input schema / properties / empresa / descriptionPrevious value: -"Operating company filter"New value: +"Operating company, partial match" - changed
Input schema / properties / formacion / descriptionPrevious value: -"Geological formation"New value: +"Geological formation, partial match" - removed
Input schema / properties / limitRemoved value: -{ - "description": "Max results, default 100", - "maximum": 1000, - "minimum": 1, - "type": "number" -} - added
Input schema / properties / max_rowsAdded value: +{ + "description": "Rows to return (default 200; capped by your tier). The result says if rows were cut.", + "maximum": 9007199254740991, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / provincia / descriptionPrevious value: -"Province filter, partial match ignoring case and accents (e.g. Neuquén, Chubut, Santa Cruz)"New value: +"Province, partial match ignoring case and accents (e.g. Neuquén, Chubut, Santa Cruz)" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": false, + "properties": { + "max_rows": { + "type": "number" + }, + "query_ms": { + "type": "number" + }, + "returned": { + "type": "number" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "truncated": { + "type": "boolean" + } + }, + "required": [ + "returned", + "truncated", + "max_rows", + "sources", + "query_ms" + ], + "type": "object" + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "columns", + "rows", + "meta" + ], + "type": "object" +}
3 tool updates
- Changed
query_investments1 field changed- changed
Input schema / properties / concepto / descriptionPrevious value: -"Investment concept (e.g. perforacion, terminacion, infraestructura)"New value: +"Investment concept, partial match (e.g. 'perforacion', 'reparacion de pozos', 'gasoductos', 'sismica')"
- Changed
query_prices2 fields changed- added
Input schema / properties / provinciaAdded value: +{ + "description": "Only for CRUDO_LOCAL: province. Omit to get every province", + "enum": [ + "NEUQUEN", + "CHUBUT", + "MENDOZA", + "SANTA CRUZ", + "SALTA", + "RIO NEGRO", + "LA PAMPA", + "TIERRA DEL FUEGO", + "FORMOSA", + "JUJUY", + "ESTADO NACIONAL" + ], + "type": "string" +} - changed
Input schema / properties / serie / enumPrevious value: -[ - "WTI", - "BRENT", - "HENRY_HUB", - "ESCALANTE", - "MEDANITO", - "USD_OFICIAL", - "USD_BLUE", - "USD_MEP", - "USD_CCL" -]New value: +[ + "WTI", + "BRENT", + "HENRY_HUB", + "CRUDO_LOCAL", + "USD_OFICIAL", + "USD_MAYORISTA", + "USD_BLUE", + "USD_MEP", + "USD_CCL" +]
- Changed
query_wells1 field changed- changed
Input schema / properties / provincia / descriptionPrevious value: -"Province filter (NEUQUEN, CHUBUT, MENDOZA, etc.)"New value: +"Province filter, partial match ignoring case and accents (e.g. Neuquén, Chubut, Santa Cruz)"
3 tool updates
- Changed
query_prices2 fields changed- changed
Input schema / properties / fecha_desde / descriptionPrevious value: -"Start date YYYY-MM-DD"New value: +"Start period YYYY, YYYY-MM or YYYY-MM-DD" - changed
Input schema / properties / fecha_hasta / descriptionPrevious value: -"End date YYYY-MM-DD"New value: +"End period YYYY, YYYY-MM or YYYY-MM-DD, inclusive"
- Changed
query_production2 fields changed- changed
Input schema / properties / fecha_desde / descriptionPrevious value: -"Start date YYYY-MM (e.g. 2020-01)"New value: +"Start period YYYY or YYYY-MM (e.g. 2020-01)" - changed
Input schema / properties / fecha_hasta / descriptionPrevious value: -"End date YYYY-MM (e.g. 2025-12)"New value: +"End period YYYY or YYYY-MM, inclusive (e.g. 2025-12)"
- Changed
query_wells4 fields changed- changed
Input schema / properties / tipo_estado / descriptionPrevious value: -"Well status (e.g. Activo, Inactivo, Abandonado)"New value: +"Exact well status, or 'activos' for all active states (Extracción Efectiva, En Inyección Efectiva, Otras Situación Activo)" - added
Input schema / properties / tipo_estado / enumAdded value: +[ + "Extracción Efectiva", + "Abandonado", + "En Estudio", + "En Reserva para Recup. Sec./Asist.", + "Parado Transitoriamente", + "En Inyección Efectiva", + "A Abandonar", + "En Espera de Reparación", + "Otras Situación Inactivo", + "Abandono Temporario", + "Parado Alta Relación Agua/Petróleo", + "En Reserva de Gas", + "Otras Situación Activo", + "Parado Alta Relación Gas/Petróleo", + "En Reparación", + "Mantenimiento de Presión", + "activos" +] - changed
Input schema / properties / tipo_recurso / descriptionPrevious value: -"Resource type"New value: +"Resource type (NO CONVENCIONAL = shale/tight)" - changed
Input schema / properties / tipo_recurso / enumPrevious value: -[ - "PETROLEO", - "GAS", - "AMBOS" -]New value: +[ + "CONVENCIONAL", + "NO CONVENCIONAL", + "SIN RESERVORIO", + "NO DISCRIMINADO" +]
8 tool updates
- First observed
execute_sql - First observed
get_data_freshness - First observed
get_schema - First observed
query_investments - First observed
query_prices - First observed
query_production - First observed
query_trade - First observed
query_wells
Related MCP Connectors
Official Argentina energy and mining data: oil & gas by well, RIGI, exports, power. With sources.
Argentina's official public data (INDEC, BCRA, 38 portals): search, read tables, cited answers.
Official Argentina farm data: crops, cattle, grain prices, agro exports, weather. With sources.
Public oil, gas and mining data of 12 countries of America, comparable and with sources.
1
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceArgentina's official public data (INDEC, BCRA, 38 portals) in your AI assistant: search datasets, read tables, get answers with the official source. Free key.MIT
- FlicenseAqualityBmaintenanceLets AI assistants answer natural-language questions about Argentina's official statistics — inflation, salaries, basic baskets, poverty, employment, activity, trade and population — by querying a daily-updated mirror of the 19 INDEC catalog datasets with SQL, no registration or token required. It also returns cited periods, flags provisional or confidential data, and enforces rate limits.17-
- AlicenseNot gradedqualityCmaintenanceProvides primary-source lithium and battery-metals mining data from SEC/ASX/TSX/SEDAR filings, with production, costs, reserves, and financials for 40 producers and 49 mines, paid per request via USDC on Base.66 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to query Argentina’s official INDEC statistics through its public API, covering inflation, baskets, wages, economic activity, poverty, population, and foreign trade. Provides Spanish-language tools, resources, and prompts for discovering datasets, filtering series, aggregating data, and generating economic reports.19628 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.