Skip to main content
Glama

Consignatarias · Argentine Cattle Market

Server Details

Argentine cattle market data: steer index since 2015, prices, auctions, land values, SENASA rules.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 69 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
josebarnetche/consignatarias-next
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 29 tools

Disambiguation3/5

Descriptions aggressively cross-reference each other ("NO da... usá livestock_prices"), which helps, but the price surface still has six-plus near-neighbors (cattle_price_index, livestock_prices, livestock_prices_detailed, inmag_history, consignatarias_band, price_dispersion_history) that an agent can easily swap. The farmland cluster is the real weak spot: calculate_farmland_rent and value_farmland_rent both convert a kg-of-steer canon into ARS/USD, and value_farmland/farmland_yield overlap on the same land economics. An agent that reads carefully can pick right, but not without reading carefully.

Naming Consistency4/5

Nearly everything is snake_case with a recognizable shape (find_livestock_broker, value_cattle_lot, create_price_alert, inmag_history). Verb choices vary — find/value/calculate/create/subscribe plus a few bare noun phrases like market_match and consignatarias_band — but the vocabulary stays readable and resource-oriented.

Tool Count2/5

29 tools for a single-market data/reference server is heavy, and the weight is not purely domain breadth: the farmland and price-history clusters each contain tools that could be consolidated. Several low-frequency items (renspa_lookup, dte_lookup, subscribe_broker_pro) sit alongside the core price surface, forcing the agent to sort signal from niche.

Completeness4/5

Coverage is impressive: current prices, daily index, history, seasonality, dispersion, lot valuation, farmland valuation/rent/yield, broker and meat-plant directories, sanitary regulation, auctions, matching and alerts. The notable gap is lifecycle around stateful tools — create_price_alert exists but there is no list/update/delete for alerts, and cattle_buying_request has no way to manage or cancel an active search.

Available Tools

29 tools
animal_health_planPlan sanitario SENASA (ficha)A
Read-onlyIdempotent
Inspect

Ficha de un plan sanitario obligatorio de SENASA para bovinos: aftosa, brucelosis, tuberculosis o garrapata/tristeza. Devuelve agente, régimen (vacunación/testeo), categorías afectadas, si es zoonosis y las resoluciones fuente (con URL oficial). Sin argumento lista los 4 planes. Es información regulatoria citada, no operativa (para mover hacienda usá livestock_movement_rules). [EN] Argentine animal health requirements (SENASA), with the regulation cited.

NameRequiredDescriptionDefault
enfermedadNoPlan a consultar; sin este arg devuelve los 4

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description adds value beyond that by disclosing the return shape (agente, régimen, categorías afectadas, zoonosis, source resolutions with official URLs) and the free-call default. No auth or rate-limit detail, but that is minor against the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and its contents in the first sentence, then the default behavior, then the sibling disambiguation, closing with a compact EN gloss. Every sentence earns its place and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description enumerates the returned fields (agent, regimen, categories, zoonosis flag, source resolutions), so return expectations are set. Combined with annotations covering safety, the definition gives everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single enum parameter is already fully documented in the schema, including the 'sin este arg devuelve los 4' default. The description's mention of the no-argument behavior largely repeats the schema, so it adds only marginal meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: returns the ficha of a mandatory SENASA health plan for bovine diseases, and enumerates the four options (aftosa, brucelosis, tuberculosis, garrapata/tristeza). It also details what the ficha contains, so an agent understands the payload without opening anything. It distinguishes itself from livestock_movement_rules by contrasting regulatory vs operational info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states behavior with and without the argument ('Sin argumento lista los 4 planes') and names the correct alternative for the movement use case ('para mover hacienda usá livestock_movement_rules'). Both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

broker_activity_rankingRanking de actividad de consignatariasA
Read-onlyIdempotent
Inspect

Ranking de consignatarias por CABEZAS operadas en el Mercado Agroganadero (MAG, Cañuelas; mercado de referencia) en un período, con precio promedio ARS/kg por firma. Para "qué firma operó más"; NO da precio de mercado (livestock_prices) ni índice diario (cattle_price_index). Args: desde (def. 7d), hasta (hoy), categoria (NOVILLO/VACA… opc.), limite (def. 15, máx. 45). [EN] Ranking of livestock brokers by head traded at the Argentine reference market (Cañuelas), with average price per firm.

NameRequiredDescriptionDefault
desdeNoFecha inicio YYYY-MM-DD (default: últimos 7 días)
hastaNoFecha fin YYYY-MM-DD (default: hoy)
limiteNoMáximo de firmas en el ranking (default 15)
categoriaNoFiltra por categoría: NOVILLO, NOVILLITO, VACA, VAQUILLONA, TORO (opcional)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds genuine context beyond them: the ranking returns average price per firm and the hard cap of 45 firms (limite max) that the schema does not state. It does not describe auth or rate-limit behavior, keeping it from 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then exclusions, then arguments; every clause carries information. The bilingual restatement is mildly redundant but aids the Spanish-market audience, so it is efficient without being maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, alternatives, parameter syntax with defaults, and the return content, which is sufficient given no output schema exists. Only marginal gaps remain, such as whether the ranking truncates to 'limite' firms or aggregates beyond it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description still adds the max value of 45 for 'limite', which the schema omits, and restates defaults and the category examples concisely, so it earns a bump above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (ranking of consignatarias by head traded) with the exact market scope (MAG, Cañuelas) and the return content (average ARS/kg per firm). It also names the siblings it is not (livestock_prices, cattle_price_index), so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the selecting question ('qué firma operó más') and two named exclusions with their alternatives (no market price → livestock_prices; no daily index → cattle_price_index). This is a textbook when/when-not/alternative statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_farmland_rentCalcular arrendamiento ruralA
Read-onlyIdempotent
Inspect

Calcula el canon de arrendamiento de campo (ARS) = kg novillo/ha/mes × hectáreas × precio. Devuelve canon mensual, anual y por ha/mes. Sin precio_novillo usa el índice oficial de arrendamientos del MAG (haciinfo000013), o el INMAG del día si falta. Solo calcula: para consultar precios usá cattle_price_index o livestock_prices. Estimación, no asesoramiento. [EN] Convert a farmland rent in kilograms of steer per hectare into ARS and USD at today's price.

NameRequiredDescriptionDefault
kg_haYesKg de novillo por hectárea. Por MES salvo que se pase periodo="anio" (típico 3-6 por mes, o 36-72 por año). Los avisos suelen publicarlo por año.
periodoNoUnidad de kg_ha. Por defecto "mes".
hectareasYesCantidad de hectáreas
precio_novilloNoPrecio del novillo ARS/kg (default: INMAG actual)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description goes further: it discloses the computation formula, fallback data sources with specific identifiers (haciinfo000013, INMAG), the output values returned (mensual, anual, por ha/mes), and a legal disclaimer ('Estimación, no asesoramiento'). This is rich context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the formula, then fallbacks, then exclusions, then disclaimer. Every sentence earns its place; the English translation at the end is a minor redundancy but does not bloat significantly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a calculation tool with no output schema: the formula, fallback data sources, return values, and exclusions are all disclosed. Annotations already cover the safety profile, so nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameter meanings are fully documented in the schema itself (including the periodo enum and default). The description restates the formula driving parameter combination and clarifies the unit ambiguity (monthly vs annual) for kg_ha, but adds no syntax or format details beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (calcula) and resource (canon de arrendamiento de campo), gives the exact formula (kg novillo/ha/mes × hectáreas × precio), and explicitly excludes sibling uses ('Solo calcula: para consultar precios usá cattle_price_index o livestock_prices'). An agent can distinguish this from value_farmland, value_farmland_rent, and cattle_price_index without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternatives (cattle_price_index, livestock_prices) and states the condition that selects them ('para consultar precios'). Also clarifies fallback behavior when precio_novillo is missing (MAG index, then INMAG). Nothing 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.

cattle_buying_requestPublicar una búsqueda de hacienda para comprarAInspect

"Quiero comprar 300 terneros en Corrientes" → te devuelve YA los próximos remates programados que matchean (fecha, consignataria, lugar, link) y deja tu búsqueda activa: te avisamos por email o webhook de cada remate nuevo que matchee. GRATIS. Params: categoria (terneros|novillos|vaquillonas|vacas|toros|mixto — acepta sinónimos), cabezas (opcional), provincia (opcional), email y/o webhook_url (al menos uno, para los avisos). [EN] Post a cattle buying request in Argentina and get matching upcoming auctions right away, plus alerts for new ones.

NameRequiredDescriptionDefault
emailNoEmail para los avisos de remates que matcheen
notasNoDetalle libre (raza, peso, condición, plazo…)
cabezasNoCuántas cabezas busca (opcional)
categoriaYesQué busca comprar (terneros, novillos, vaquillonas, vacas, toros, mixto)
provinciaNoDónde (opcional, ej. "Corrientes")
webhook_urlNoWebhook https para avisos programáticos (POST remate.matched)
contacto_para_operarNotrue SOLO si la persona dijo "acepto que me contacten para armar la operación". Sin esto el pedido solo genera avisos de remates.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds meaningful behavioral context: it returns matching auctions right away, leaves the search active, sends email or webhook alerts for new matches, and is free. It does not cover permission or rate-limit behavior, but that is not critical given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with a concrete example and outcome, then compactly lists key parameters and behavior. It is efficient overall, though the Spanish and English versions partially duplicate content rather than adding new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation tool with no output schema, the description is complete enough: it explains the immediate return fields, the persistent search behavior, notification channels, cost, and matching logic. The remaining parameter details are fully covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds useful semantics beyond the schema, including that categoria accepts synonyms and that email and/or webhook_url must include at least one for alerts. It omits contacto_para_operar, but that parameter is fully documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: posting a cattle buying request in Argentina and receiving matching upcoming auctions immediately plus ongoing alerts. It implicitly distinguishes itself from auction-listing siblings by emphasizing request creation, matching, and active notifications rather than browsing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The example "Quiero comprar 300 terneros en Corrientes" makes the intended use clear, and the description explains the immediate-match plus alert workflow. However, it does not explicitly name alternatives such as upcoming_auctions or create_price_alert, nor does it state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cattle_price_indexÍndice Novillo (INMAG) hoyA
Read-onlyIdempotent
Inspect

INMAG diario del Mercado Agroganadero (MAG/Cañuelas): novillo de referencia HOY en ARS/kg vivo, ponderado por volumen. Devuelve valor, volumen, variación vs rueda previa (marca ruedas flacas) y promedio 5 ruedas. Sin args. Histórico: inmag_history. NO da precios por categoría (livestock_prices, semanal) ni subcategoría (livestock_prices_detailed); no comparar 1:1. [EN] Today's Argentine cattle price index (INMAG): live-weight steer reference price in ARS/kg, volume-weighted, plus the daily change.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
dateYes
prevNo
unitYes
inmagYes
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
metricYes
volumeNo
prev_dateNo
avg_5_ruedasNo
change_dia_pctYes
prev_low_volumeNo
change_vs_avg5_pctNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral context: volume weighting, that thin trading sessions are flagged, the variation-vs-previous-session semantics, and the 5-session average. It stops short of describing error/empty conditions or refresh cadence, so it earns a 4 rather than 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core definition and constraints are front-loaded in the first clause, with siblings and exclusions following. The bracketed [EN] restatement is partially redundant duplication, which keeps it from a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema covers the return shape and annotations cover the safety profile, so the description's job is scope and routing, both of which it does fully. Weighting method, limitations, and the historical sibling are all disclosed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, which is the baseline-4 case, and the description explicitly confirms 'Sin args' so the agent won't hunt for optional filters. Nothing further can be said about parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (INMAG daily index for the Mercado Agroganadero), the exact reference (live-weight steer, ARS/kg, volume-weighted), and the timeframe (HOY). It also names the siblings it is not (livestock_prices, livestock_prices_detailed) and warns against 1:1 comparison, so an agent can place it precisely in the tool family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: use this for today's index, use inmag_history for historical series, and do not use it for category or subcategory prices. Both the alternative and the exclusions are stated outright rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consignatarias_bandBanda Consignatarias (dispersión semanal)B
Read-onlyIdempotent
Inspect

La BANDA CONSIGNATARIAS: cuánto se abre el precio de la hacienda esta semana — la distancia entre el 10% que menos cobró y el 10% que más cobró, por la misma categoría y el mismo día, sobre los lotes realmente operados en el Mercado Agroganadero. Es un indicador propio y no existe en ninguna otra fuente: el resto publica el promedio y se reserva la dispersión. Cuando la banda se abre, la misma hacienda vale cada vez más distinto según quién la venda. Devuelve la cita ya redactada para publicar. [EN] The Consignatarias Band: how wide Argentine cattle prices spread in a given week — the gap between the bottom and top deciles for the same category, from actual lot sales. A proprietary indicator; everyone else publishes the average and keeps the dispersion.

NameRequiredDescriptionDefault
fechaNoCorte YYYY-MM-DD (opcional; default el último dato)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already state readOnly, idempotent, openWorld, and non-destructive behavior. The description adds useful context that this is a proprietary indicator based on actual Mercado Agroganadero lot sales and returns a publish-ready quote, but it does not describe error behavior, data availability, or return structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The Spanish definition is front-loaded and relevant, but the full English translation duplicates the same content and adds token overhead. The description is not bloated to the point of unuseable, but the bilingual repetition weakens conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one optional parameter, no output schema, and safety annotations already present, the description is largely complete: it explains the indicator, data source, weekly scope, default behavior, and that it returns a ready-to-publish quote. It could do more to identify its closest sibling alternative, but the core calling context is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional fecha parameter is fully described in the schema, including YYYY-MM-DD format and default to the latest data. The description reinforces the weekly framing but does not add parameter meaning beyond what the schema already provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the specific indicator: the weekly gap between the bottom and top deciles for the same cattle category/day from actual lot sales. It distinguishes itself from generic averages, but it does not explicitly differentiate from the closely related sibling price_dispersion_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for weekly dispersion analysis and says the result is a ready-to-publish quote, but it gives no explicit when-to-use/when-not-to-use guidance or alternatives such as price_dispersion_history. The optional date default is covered by the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_price_alertCrear alerta de precioAInspect

Crea una alerta: cuando el precio de una categoría cruza el umbral, avisa POR EMAIL al productor (o a un webhook https, para integraciones). Una de las tres tools que guardan datos (con cattle_buying_request y market_match con registrar: true); el resto lee. GRATIS sin API key (hasta 3 alertas activas por origen); con key Enterprise (Bearer cnsg_live_… o param api_key) sin límite. Params: categoria (inmag=índice diario; resto semanal), umbral ARS/kg vivo, direccion above|below (def above), y email O webhook_url (al menos uno; para una persona usá email). Devuelve id y precio. [EN] Create a price alert: get notified by email or webhook when the Argentine cattle price crosses your threshold.

NameRequiredDescriptionDefault
emailNoEmail al que avisar cuando cruce el umbral. Es la opción para una persona: pedíselo al usuario. Alternativa a webhook_url.
umbralYesUmbral en ARS/kg vivo (ej. 5000)
api_keyNoAPI key del plan (cnsg_live_...). Opcional si ya la pasás por el header Authorization: Bearer.
categoriaYes
direccionNoCruzar hacia arriba o abajo (default above)
webhook_urlNoURL https pública que recibe el POST cuando cruza. Para integraciones; para una persona usá email.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false. The description adds quota behavior (3 free alerts per origin, unlimited with an Enterprise Bearer key or api_key param) and what is returned (id and price), which is useful beyond the structured fields. However it omits what happens on duplicate alerts, how to update or delete an alert, and whether webhook delivery is retried.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: trigger, delivery, sibling positioning, pricing/quota, then params. The trailing bilingual restatement repeats the opening sentence in English, which is defensible for cross-language routing but is redundant padding for an agent reading the Spanish text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description states the return payload (id and price), the auth model, the quota, and the delivery semantics, which is enough for an agent to call this correctly. Nothing essential to invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 83%, yet the description adds real meaning: 'inmag' is a daily index while the other categories are weekly, umbral is in ARS/kg en pie, direccion defaults to above, and at least one of email/webhook_url is required – a cross-field constraint the schema does not encode. It does not explain the api_key/auth interaction beyond naming it as an alternative to the Bearer header.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (create a price alert) plus the trigger condition (price of a category crosses a threshold) and the delivery channels. It also positions itself among siblings by declaring it is one of only three tools that write data, alongside cattle_buying_request and market_match.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: this tool writes, 'el resto lee', so read queries go elsewhere. It also disambiguates the delivery channel ('para una persona usá email', webhook only for integrations) and states the free-tier ceiling (3 active alerts per origin) versus Enterprise keys.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dte_lookupDT-e (número de tropa) — referenciaA
Read-onlyIdempotent
Inspect

Explica el DT-e (Documento de Tránsito electrónico) / número de tropa que ampara el movimiento de hacienda a remate o faena: qué es, qué requisitos hacen falta para emitirlo (RENSPA vigente, clave fiscal ARCA, vacunación al día) y cómo se encadena con los requisitos sanitarios. NO emite ni consulta un DT-e real (SIGSA está tras clave fiscal ARCA); es referencia. Para el detalle de requisitos por movimiento usá livestock_movement_rules. [EN] Decode an Argentine DT-e (electronic transit document) or herd movement number.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered; the description adds genuinely new context by clarifying this is purely informational and does not emit or query a real DT-e (that requires the ARCA fiscal key), which prevents an agent from expecting a live lookup. It doesn't discuss return shape, but with annotations present this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and scope, then the explicit exclusion, then the sibling routing, with a brief EN gloss. Dense but every clause adds routing or scope value; the bilingual restatement is slight padding but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no parameters, so the description carries the load and does it well for a reference tool, enumerating the requirement categories it covers (RENSPA, ARCA fiscal key, vaccination) and its chaining to sanitary rules. Sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (DT-e / número de tropa) and its scope: explaining what it is, the requirements to issue it, and how it chains to sanitary requirements. It explicitly declares what it does NOT do ('NO emite ni consulta un DT-e real') and names the sibling it is not, so an agent can separate it from livestock_movement_rules without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative explicitly ('Para el detalle de requisitos por movimiento usá livestock_movement_rules') and gives the exclusions (reference only; the real DT-e lives behind ARCA fiscal key in SIGSA). The when-to-use/when-not-to-use split is fully spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

farmland_yieldRenta de un campo ganadero en dólaresA
Read-onlyIdempotent
Inspect

El RENDIMIENTO ANUAL de un campo argentino sobre el capital invertido, por zona y para las tres aptitudes (ganadera, agrícola y mixta). Devuelve: USD/hectárea (el capital), la renta anual del arrendamiento, el canon en su unidad real —kg de novillo o quintales de soja por ha/año—, el rendimiento como % sobre el capital y los años de repago. Lo particular: el canon se pacta en PRODUCTO, no en moneda, así que el yield está nominado en carne o grano y no se licúa con una devaluación. Para el comprador del exterior que evalúa entrar. Args: presupuesto_usd (opcional, lo reparte en hectáreas), provincia, aptitud (ganadera|agricola|mixta), limite (def 10). Cada aptitud rinde por lo suyo: la zona núcleo vale por la soja, no por los novillos. [EN] What a dollar buys and earns in Argentine farmland, by zone: USD per hectare, annual rental yield, payback years. Covers grazing, cropping and mixed land.

NameRequiredDescriptionDefault
limiteNoMáximo de zonas (default 10)
aptitudNoganadera | agricola | mixta (opcional; por defecto las tres)
provinciaNoFiltra por provincia (opcional)
presupuesto_usdNoCapital a invertir en dólares (opcional)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds meaningful detail beyond that: it enumerates return components (USD/ha, annual rent, product-denominated canon in kg novillo or quintales soja, yield %, payback years) and explains that canon is product-nominated to avoid devaluation. Data freshness or sourcing is left unstated, keeping it from 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core computation and return values, followed by an Args block and an English summary. The bilingual repetition and the closing note about zona núcleo add some bulk, but the structure is logical and nearly every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return-value burden and does so thoroughly. All four parameters are documented, including optionality and defaults. The one gap relevant to correct use is that it does not clarify how it differs from near-duplicate rent tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. However, the description adds real semantics by explaining that presupuesto_usd is distributed across hectares and by restating the aptitud options, going beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource: annual yield on invested capital for Argentine farmland, broken down by zone and three aptitudes, with a clear list of computed outputs. It is easy to tell what the tool does. It stops short of 5 because there is no differentiation from overlapping siblings such as calculate_farmland_rent or value_farmland_rent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers a target persona ('Para el comprador del exterior que evalúa entrar'), which implies usage context, but never states when to choose this tool over calculate_farmland_rent or value_farmland_rent. No exclusions or alternatives are named, so selection remains inferential.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_livestock_brokerBuscar consignatariaA
Read-onlyIdempotent
Inspect

Directorio de consignatarias/casas de remate de hacienda por nombre, razón social o localidad. Devuelve nombre, localidad/provincia, categoría, CUIT, un contacto (WhatsApp/teléfono/web) y el perfil en consignatarias.com.ar. Alcanza con el nombre O con la provincia: "¿qué consignatarias hay en Salta?" es una consulta válida sin término. Limite def 8, máx 25. NO da actividad de mercado: para cabezas/precio en el MAG usá broker_activity_ranking. [EN] Directory of Argentine livestock brokers and auction houses, by name, province or tax ID (CUIT).

NameRequiredDescriptionDefault
queryNoNombre, localidad o razón social (opcional si pasás provincia)
limiteNoMáximo de resultados (default 8)
provinciaNoProvincia (opcional si pasás query)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered. The description goes further by disclosing the return shape (name, locality/province, category, CUIT, one contact channel, profile URL) and the result limits (default 8, max 25), plus an explicit scope boundary that it does not return market activity. No auth/rate-limit context, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and its dimensions, then return fields, then the exclusion and alternative. Dense but each sentence carries information; the trailing [EN] gloss is partly redundant with the Spanish text, which is the only mild waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating returned fields, and it covers the cap on results and the no-term case. It stops short of describing what happens on zero matches or how far beyond 25 results the agent can page, which a directory tool of this size could reasonably state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: the hard cap of 25 on `limite` (the schema only mentions the default of 8) and the OR relationship between `query` and `provincia`. The English gloss also reframes `query` as including tax ID (CUIT).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource (directory lookup of consignatarias/casas de remate de hacienda) and lists the searchable axes (nombre, razón social, localidad). It explicitly separates itself from the sibling that covers market activity data, so an agent can route 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the condition that makes a call valid with no search term ("Alcanza con el nombre O con la provincia") and gives a concrete example query. It also gives a clear when-NOT-to-use plus the named alternative (broker_activity_ranking for cabezas/precio).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_meat_plantBuscar frigoríficoA
Read-onlyIdempotent
Inspect

Directorio de frigoríficos y plantas de faena habilitados MAGYP/SENASA (1.102). Buscá por nombre, CUIT o provincia. Por planta devuelve nombre, provincia, matrícula, CUIT y ciclo; marca las inactivas en SENASA. Requiere query (nombre/CUIT) o provincia (una alcanza); limite default 10, máx 30. No da precios ni faena — es directorio. [EN] Directory of Argentine meat plants and slaughterhouses licensed by SENASA/MAGYP, by name, tax ID or province.

NameRequiredDescriptionDefault
queryNoNombre o CUIT a buscar (opcional si se pasa provincia)
limiteNoMáximo de resultados (default 10)
provinciaNoFiltra por provincia

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower. The description usefully adds behavioral detail beyond them: the per-plant return fields, that inactive plants are flagged in SENASA, and the result cap (default 10, max 30). It does not mention pagination or error behavior, keeping it out of the top band.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and selectors, with the return fields and the exclusion follow. The Spanish/English duplication adds length, but each clause (requirements, limit, exclusions) carries distinct information, so waste is limited.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-value burden — and it does, enumerating name, province, matrícula, CUIT, ciclo and the inactive flag, plus the result cap. Nothing an agent needs to call this search tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the baseline is 3, but the description adds meaning beyond the schema: it states that query and provincia are alternatives where one suffices, and it documents the max limit of 30 that the schema only partly conveys (schema says default 10 only). This is incremental value over the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: a directory of SENASA/MAGYP-licensed meat plants and slaughterhouses searchable by name, tax ID (CUIT) or province. It explicitly carves itself away from price and slaughter-volume tools ('No da precios ni faena — es directorio'), so an agent can distinguish it from siblings like livestock_prices or value_cattle_lot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear invocation conditions: 'Requiere query (nombre/CUIT) o provincia (una alcanza)' — at least one selector is needed — and a when-not ('No da precios ni faena'). It stops short of naming a sibling alternative, but the context and exclusions are explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fmd_vaccination_calendarCalendario de vacunación antiaftosaA
Read-onlyIdempotent
Inspect

Calendario de vacunación antiaftosa 2026 de SENASA (Res. 711/2025) y estado de zona por provincia. Devuelve las ventanas de la 1ra campaña (todas las categorías) y 2da campaña (solo terneros/terneras), y si la provincia está en zona CON o SIN vacunación (Patagonia/Calingasta). El día exacto por distrito lo fija el Plan Local del Ente Sanitario — devuelve la ventana + la cita, nunca un día inventado. [EN] Foot-and-mouth disease vaccination calendar in Argentina, by region and period.

NameRequiredDescriptionDefault
provinciaNoProvincia para saber el estado de zona (opcional)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds non-obvious behavioral context: it will never fabricate an exact day and always returns the window plus the official citation, which is valuable for an agent reasoning about data reliability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are well front-loaded: the resource and regulatory basis come first, then the return contents and the caveat about exact days. The English translation is redundant but small; overall it is efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter, read-only lookup with a fully documented schema and annotations covering safety, the description is complete enough: it names the resource, the legal basis, the returned windows, the zone classification, and explicitly states what it will not return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is only one optional parameter whose semantics are already documented in the schema. The description adds context about zone status (Patagonia/Calingasta) but does not extend the parameter's meaning beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (FMD vaccination calendar for 2026, per SENASA Res. 711/2025) and exactly what it returns: first-campaign windows for all categories, second-campaign windows for calves only, and zone status (WITH/WITHOUT vaccination) per province. No sibling tool in the list covers this resource, so it is clearly distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly tells the agent to query by province for zone status, but never states when this tool should be used versus alternatives (e.g., animal_health_plan or livestock_movement_rules) or what an absent province argument yields. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

good_farming_practicesBuenas Prácticas Ganaderas (BPG)A
Read-onlyIdempotent
Inspect

Buenas Prácticas Ganaderas (BPG) para la producción de vacunos de carne, resumidas de la Guía de la Red BPA (2019). Sin argumento lista los 14 temas (organización, personal, establecimiento, instalaciones, suelo, agua, forrajes, estiércol, residuos, cambio climático, manejo de rodeo, alimentación, salud animal, bienestar animal). Con un tema, devuelve cómo implementarlo (secciones y prácticas). Son voluntarias — para lo sanitario OBLIGATORIO usá animal_health_plan / livestock_movement_rules. [EN] Argentine Good Livestock Farming Practices (Red BPA guide), 14 topics.

NameRequiredDescriptionDefault
temaNoSlug o nombre del tema (ej. "salud-animal", "manejo-rodeo", "agua"); sin este arg lista los 14

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is mostly covered. The description adds genuinely useful behavioral context beyond that: the argument-less call returns a 14-item list while a topic argument returns structured implementation guidance (sections and practices). No auth/rate-limit notes, but for an informational read tool this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and mode behavior are front-loaded, followed by the routing rule to the mandatory-sanitary siblings. A bilingual EN gloss is appended for accessibility; it is mildly redundant but earns its place for a Spanish-named resource. Dense but no filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-shape burden; it does so at a reasonable level ('cómo implementarlo (secciones y prácticas)' vs. a 14-topic list). Combined with the sibling routing and mode description, an agent has enough to invoke it correctly, though exact response fields are not enumerated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents the 'tema' slug with examples, so the baseline is 3. The description adds practical meaning on top: omitting the argument enumerates all 14 topics, while supplying one returns how to implement it (sections and practices), and it even lists the 14 valid topic names, which is richer than the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (Buenas Prácticas Ganaderas for beef cattle production, sourced from the 2019 Red BPA guide) and the two operating modes: no argument lists the 14 topics, with an argument returns implementation sections and practices. It also names the sibling tools it is NOT (animal_health_plan / livestock_movement_rules), so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use/when-not rule: these practices are voluntary, and for mandatory ('OBLIGATORIO') sanitary matters the agent should use animal_health_plan or livestock_movement_rules instead. The alternative tools are named alongside the condition that selects them, 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.

herd_liquidation_indexÍndice de Liquidación (% hembras)A
Read-onlyIdempotent
Inspect

Índice de Liquidación: participación de HEMBRAS (vacas + vaquillonas) en la hacienda operada en el Mercado Agroganadero (Cañuelas) — indicador ADELANTADO de liquidación (descarga de vientres) vs. retención (armado de rodeo). Sin args. Devuelve la lectura fresca de Cañuelas (mensual, 2026→), el ancla nacional actual (YTD, PDF mensual MAGyP) y el contexto histórico de la faena de hembras NACIONAL (1998-2025: mensual MAGyP + trimestral IPCVA). Ojo: Cañuelas corre estructuralmente por encima de la faena nacional — no comparar 1:1. [EN] Share of females in slaughter: tells whether the Argentine herd is liquidating or rebuilding.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, idempotent, non-destructive profile, so the bar is lower. The description still adds real value by disclosing the return payload (fresh Cañuelas monthly reading 2026→, YTD national anchor from MAGyP PDFs, historical national female-slaughter series 1998-2025) and the comparability caveat.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core definition before the data-source and caveat detail. Dense with parentheticals and em-dashes, but each clause (sources, periods, caveat, EN gloss) earns its place; only the bilingual gloss feels optional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden and does so: it names every returned component with its source and periodicity, plus the cross-series comparability warning. An agent can call and interpret it without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline of 4 applies. 'Sin args' explicitly confirms no inputs are needed, matching the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific metric — the share of females (cows + heifers) in cattle moved through the Cañuelas market — and frames it as a leading indicator of liquidation vs. retention. This is precise enough to distinguish it from sibling data tools like cattle_price_index or inmag_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives interpretive context (leading indicator of liquidation vs. rebuilding) and an important caution not to compare Cañuelas levels 1:1 with the national slaughter figure. However, it never states when to pick this tool over siblings like price_dispersion_history or macro_context; usage is implied rather than routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inmag_historyHistórico del Índice Novillo (INMAG)A
Read-onlyIdempotent
Inspect

Serie histórica del Índice Novillo (INMAG) — TENDENCIA. Serie diaria desde 2015-01-05: MAG/Cañuelas desde may-2022, antes era Mercado de Liniers (índice empalmado; la respuesta lo aclara cuando el rango cruza esa frontera). Devuelve valor inicial y final, variación %, mínimo, máximo, nº de ruedas y una muestra (~8 puntos). Índice DIARIO ponderado por volumen. Rango: dias (ventana atrás, default 30) o desde/hasta (YYYY-MM-DD, exacto — sirve para una fecha puntual: desde=hasta, GRATIS a cualquier profundidad). moneda: ars (default) o usd (dólar blue venta, último valor conocido a cada fecha). GRATIS y sin cupo a CUALQUIER profundidad, desde 2015-01-05: la consulta no tiene techo. Devuelve el análisis completo (inicio, fin, variación, mínimo, máximo) con una muestra de ~8 puntos. Si lo que necesitás es la serie fila por fila para cargarla en tu propio modelo, eso va por API key Enterprise o US$0,25 en USDC vía x402 (/api/x402/inmag-historico) — se cobra la descarga masiva y la redistribución, no la consulta. Valor de HOY → cattle_price_index; por categoría (semanal) → livestock_prices, no comparar 1:1. [EN] Historical Argentine cattle price series (INMAG) since 2015, in ARS or USD. Free, no cap, any window.

NameRequiredDescriptionDefault
diasNoVentana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Sin techo: cualquier ventana responde gratis. Ignorado si se pasa desde/hasta.
desdeNoFecha inicial YYYY-MM-DD (opcional; la serie arranca 2015-01-05)
hastaNoFecha final YYYY-MM-DD (opcional; default hoy). desde=hasta consulta una fecha puntual.
monedaNoars (default) o usd — conversión por dólar blue venta, último valor conocido a cada fecha (regla de /mercado/inmag-dolares)
api_keyNoAPI key Enterprise (cnsg_live_...). Opcional y ya no necesaria para la consulta: sirve para la descarga masiva fila por fila y los exports. Si ya va por el header Authorization: Bearer, no hace falta acá.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, and the description adds substantial context beyond them: no rate cap at any depth, the data-lineage caveat that pre-May-2022 values come from Mercado de Liniers and the response flags range crossings, the USD conversion rule (blue venta, last known value per date), and what is actually monetized (mass download/redistribution, not the query).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and information-packed, but redundant: the return payload (inicio/fin/variación/min/máx/~8 points) and the free/no-cap claim are each stated two or three times, and the [EN] one-liner duplicates the opening sentence. Editing out the repetition would tighten it without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description rightly describes the returned fields and sample size, and it covers cost, depth and the provenance boundary an agent needs to interpret results. Only minor gaps remain (e.g. exact behavior on out-of-range dates), but the essential picture is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents dias (default 30, max 5000), desde/hasta (default today, desde=hasta = single date) and moneda (blue venta rule). The description restates these but adds negligible new syntax or edge-case meaning beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Serie histórica del Índice Novillo (INMAG)'), its cadence and depth (daily since 2015-01-05, spline-spliced market switch in May-2022), and explicitly disambiguates from siblings: today's value goes to cattle_price_index, weekly by-category to livestock_prices. An agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use-this vs alternatives ('Valor de HOY → cattle_price_index; por categoría (semanal) → livestock_prices, no comparar 1:1'), plus the row-by-row case routed to Enterprise API key or x402. Also clarifies fresh-vs-historical and warns against a naive 1:1 comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

international_price_gapBrecha del novillo contra EE.UU., Uruguay y AustraliaA
Read-onlyIdempotent
Inspect

La brecha: cuánto más barato (o más caro) está el novillo argentino contra Estados Unidos, Uruguay y Australia, en dólares por kilo VIVO. Es la pregunta del que mira el país desde afuera para comprar hacienda o campos, y no la publica nadie armada. ⚠️ Argentina NO es la más barata de la región: opera por ENCIMA de Brasil, así que la brecha defendible es contra el hemisferio norte y Uruguay, no contra el vecino. No se estima rendimiento de carcasa en ningún país: sólo entran fuentes que publican peso vivo. [EN] How much cheaper (or dearer) Argentine cattle is versus the US, Uruguay and Australia, in USD per live kilogram. Live weight everywhere — no carcass yield assumptions.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description goes beyond that with real methodological disclosure: live weight only in every country, no carcass-yield estimation, and only sources that publish live weight are admitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core definition is front-loaded and the warning about Brazil is well placed, but the full Spanish text is then repeated in English, and phrases like 'no la publica nadie armada' add flavor rather than information. Roughly half the length is duplication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Good on units (USD per live kg) and country coverage, but there is no output schema and the description never says what the response looks like or what period it covers — current snapshot versus a historical series. For a remote data tool with openWorldHint, that is a meaningful gap for correctly framing the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, so there is nothing for the description to disambiguate beyond the implicit unit and country scope, which it does state. Baseline for a zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact metric: the Argentine steer price gap versus the US, Uruguay and Australia, expressed in USD per live kilogram. The resource and unit are unambiguous, but no sibling tool (e.g. livestock_prices, cattle_price_index) is ever named, so the separation from those is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Frames the use case clearly as the question asked by someone outside the country looking to buy cattle or farmland, and adds a concrete scope caveat that the gap is defensible against the northern hemisphere and Uruguay but not against Brazil. No explicit when-not-to-use or alternative-tool routing is given, though.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

livestock_movement_rulesRequisitos sanitarios de movimientoA
Read-onlyIdempotent
Inspect

Requisitos sanitarios de SENASA para mover hacienda bovina (RENSPA, DT-e, aftosa al día, serología de brucelosis, barrera de garrapata, transporte habilitado), con la resolución fuente de cada uno. Si pasás provincia de origen y destino, señala si el movimiento cruza la barrera de aftosa (zona con↔sin vacunación). No emite el DT-e (eso es SIGSA, requiere clave fiscal ARCA); informa qué se exige. [EN] What is required to move cattle between Argentine provinces or regions.

NameRequiredDescriptionDefault
provincia_origenNoProvincia de origen (opcional)
provincia_destinoNoProvincia de destino (opcional)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so safety is covered; the description adds useful non-annotation context: it does not emit the DT-e, that requires a SIGSA fiscal key (ARCA), and it returns each requirement with its source resolution. That said, it does not describe response shape or enumeration format, so the added behavioral value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and requirement list, then the conditional behavior, then the boundary note and an English gloss. Every sentence earns its place, though the [EN] translation is mild redundancy that slightly dilutes density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and largely does so: it states it reports the required documents/conditions with each one's source resolution ('con la resolución fuente de cada uno'). For a read-only lookup tool this is sufficient, missing only minor detail on output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both params are optional, giving a baseline of 3, but the description goes further by explaining what passing origin/destination actually does — it determines whether the movement crosses the aftosa vaccination barrier — adding semantics beyond the schema's bare '(opcional)'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it enumerates the SENASA sanitary requirements (RENSPA, DT-e, aftosa, brucelosis serology, tick barrier, habilitated transport) for moving cattle between Argentine provinces/regions. It distinguishes itself from siblings by clarifying it informs requirements rather than emitting documents, unlike dte_lookup/renspa_lookup. An agent can identify its scope without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the conditional behavior (passing origin/destination provinces triggers a barrier-crossing determination) and draws a clear boundary against the DT-e issuance process (SIGSA/ARCA), telling the agent what this tool will NOT do. It lacks an explicit 'use X instead' pointer to the dte_lookup sibling, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

livestock_pricesPrecios de hacienda por categoríaA
Read-onlyIdempotent
Inspect

Precios de hacienda por categoría (novillos, novillitos, vaquillonas, vacas, toros, terneros) del Mercado Agroganadero: observación SEMANAL del SIO, ARS/kg vivo. Cada una: precio actual, cabezas y aviso si <200 cab (pocos datos). categoria (enum) filtra una; sin arg, todas. NO es el INMAG diario (cattle_price_index, no comparar 1:1) ni subcategorías (livestock_prices_detailed). [EN] Argentine cattle prices by category (steer, young steer, heifer, cow, bull, calf), ARS per live kilogram.

NameRequiredDescriptionDefault
categoriaNo

Output Schema

NameRequiredDescription
weekYes
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
metricYes
pricesYesPor categoría: precio ARS/kg vivo y cabezas de la observación.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: weekly rather than daily data, ARS per live kilogram, SIO as the source, and a low-data warning threshold of fewer than 200 head per category. It does not discuss latency, auth, or pagination, but those are low-relevance for a public read-only price endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with the core purpose, then exclusions, then parameter behavior, which is the right order. It is dense and somewhat telegraphic (SIO, ARS/kg vivo, cab) and the bilingual duplication adds length, though that duplication genuinely helps an English-speaking agent parse an otherwise Spanish-only definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A single optional parameter read tool with an output schema and safety annotations needs exactly this: what data is returned, at what cadence, in what units, from what source, with what caveat about thin categories, and which siblings it must not be confused with. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 semantics. It identifies 'categoria' as an enum that filters to a single category and states that omitting it returns all categories, which is the key invocation behavior. The enum values themselves are already in the schema, so the description does not need to repeat them, but its first-sentence listing reinforces them in human terms.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (Argentine cattle prices by category from the Mercado Agroganadero), the unit (ARS/kg live), the cadence (weekly SIO observation), and the exact categories covered. It also names the siblings it is NOT (cattle_price_index for daily INMAG, livestock_prices_detailed for subcategories), so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-not guidance is present: 'NO es el INMAG diario (cattle_price_index, no comparar 1:1) ni subcategorías (livestock_prices_detailed)'. The default behavior ('sin arg, todas') and the filter behavior ('categoria (enum) filtra una') are both stated, leaving no inference needed about when to call this versus its alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

livestock_prices_detailedPrecios por subcategoríaA
Read-onlyIdempotent
Inspect

Precios por SUBCATEGORÍA del Mercado Agroganadero (MAG/Cañuelas), último día hábil: ej. "NOVILLOS Regular +430", "VACAS Conserva Buena" — mín/prom/máx en ARS/kg vivo + cabezas. Más granular que livestock_prices (categorías); NO es el índice INMAG diario (cattle_price_index). Param opcional grupo (novillos/novillitos/vaquillonas/vacas/toros); sin filtro, todas. [EN] Argentine cattle prices by sub-category with min/avg/max and head count.

NameRequiredDescriptionDefault
grupoNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds useful behavior the annotations don't: data freshness ('último día hábil'), units (ARS/kg vivo), and the payload shape (min/avg/max plus head count). It stops short of rate limits or caching behavior, so not 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: purpose, then the disambiguating comparisons, then the parameter note, then an English gloss. Uses compressed notation, but every clause carries information; slightly long for a one-parameter read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return-value burden — and it does, specifying min/avg/max, units, live-weight basis, and head counts, plus the optional filter. Nothing needed to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the single enum parameter is fully explained: the description lists the grupo values and defines the no-filter default ('sin filtro, todas'), which the schema does not state. Adds real meaning about default behavior beyond the enum list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (precios por SUBCATEGORÍA del Mercado Agroganadero) with concrete example categories ('NOVILLOS Regular +430'), the returned measures (mín/prom/máx en ARS/kg vivo + cabezas) and the data recency (último día hábil). It also explicitly names the siblings it is not (livestock_prices, cattle_price_index), so an agent can disambiguate without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the exact selection rule against both nearest alternatives: more granular than livestock_prices (categorías), and explicitly NOT the daily INMAG index (cattle_price_index). Both when-to-use and when-not-to-use are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

macro_contextContexto macro ganaderoA
Read-onlyIdempotent
Inspect

Contexto macro del mercado ganadero argentino, sin parámetros: dólar blue y oficial (ARS), maíz FOB (USD/tn y ARS/kg), novillo INMAG (ARS/kg) y el spread novillo/maíz (kg de maíz que compra 1 kg novillo; proxy de rentabilidad de feedlot); y, si hay, índice de arrendamiento MAG (ARS/kg). NO da la serie INMAG (→cattle_price_index) ni precios por categoría (→livestock_prices). [EN] Argentine macro context for cattle trading: parallel and official USD rates, FOB corn, and the steer/corn spread.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
usd_blueYes
maiz_ars_kgYes
maiz_usd_tnYes
usd_oficialYes
novillo_ars_kgYes
kg_maiz_por_kg_novilloYes
indice_arrendamiento_oficialYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuine context beyond them: the zero-argument nature of the call and the conditional availability of the MAG lease index ("si hay"), which warns the agent a field may be absent. Return shape is covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and scoping, and every clause contributes content or routing. The main body is a single long sentence stacked with parentheticals and unit annotations, which is dense but still parseable; a bulleted or slightly split structure would read faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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, yet the description still enumerates the key metrics and their units, which is exactly the right amount of detail. The sibling disambiguation and the optional-field caveat close the remaining gaps for a zero-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The description reinforces this with "sin parámetros", preventing an agent from inventing inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the exact resource (macro context for the Argentine cattle market) and enumerates its contents: blue/official USD rates, FOB corn, steer INMAG, the steer/corn spread and an optional MAG lease index. It explicitly disclaims two neighboring capabilities and routes them to cattle_price_index and livestock_prices, so an agent can distinguish it from siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States "sin parámetros" up front, which tells the agent this is a zero-input call, and gives explicit exclusions with named alternatives ("NO da la serie INMAG (→cattle_price_index) ni precios por categoría (→livestock_prices)"). Both when-it-applies and when-to-go-elsewhere are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_match¿Hay compradores o vendedores? (anónimo)AInspect

"¿Hay compradores para mis 80 terneros en Entre Ríos?" / "¿Quién vende vacas en el NEA?" / "¿Hay campos para arrendar en Buenos Aires?" → si hay contrapartes ABIERTAS hoy en la mesa de consignatarias.com para esa categoría, en rangos por región ("2 a 4 en el NEA"), sin volumen y sin identificar a nadie. Usala cuando la persona quiere OPERAR (vender, comprar, arrendar), no solo saber el precio: para el precio usá value_cattle_lot o livestock_prices. Si la persona quiere que la contacten para armar la operación, pedile permiso y repetí la llamada con registrar: true, nombre, email o telefono y consentimiento: true: queda en la mesa y la contacta una persona. GRATIS, sin comisión para el productor por consultar. Params: quiere (vender|comprar|arrendar_busco|arrendar_ofrezco|tasar), categoria, cabezas, hectareas, provincia. [EN] Anonymous, aggregated buyers/sellers matching a cattle or farmland request in Argentina; optional consented lead registration.

NameRequiredDescriptionDefault
emailNoEmail (solo con registrar; email o telefono)
nombreNoNombre de la persona (solo con registrar)
quiereYesQué quiere hacer la persona
cabezasNoCuántas cabezas (hacienda)
telefonoNoTeléfono (solo con registrar; email o telefono)
categoriaNoHacienda: terneros, novillitos, novillos, vaquillonas, vacas, toros
hectareasNoSuperficie (campos)
provinciaNoProvincia (ej. "Entre Ríos")
registrarNotrue para dejar el pedido en la mesa (requiere consentimiento)
consentimientoNotrue SOLO si la persona aceptó que consignatarias.com la contacte para esta operación

Output Schema

NameRequiredDescription
hayNo
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
gruposNo
verticalNo
registradoNo
ladoBuscadoNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=false; the description goes much further, disclosing that results are aggregated and anonymous with no volume or identity, that the lookup is free with no commission, and that setting registrar:true with consentimiento creates a persistent request on the 'mesa' that a human will follow up on. That conditional-write and consent context is information the structured fields cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Scoping examples are front-loaded and each one disambiguates a real use case, so they earn their space; the closing bilingual one-line summary is mildly redundant with the opening. The inline parameter list duplicates the schema, which is the only real waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, open-world, conditionally-writing tool with an output schema and annotations, the description covers anonymity, consent, cost, and sibling routing. It stops short of explaining what 'tasar' returns or what the aggregated ranges look like structurally, but the output schema carries that load.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameter list restatement (quiere/categoria/cabezas/hectareas/provincia) adds little, but the description does clarify the registrar + consentimiento pairing and the email-or-telefono alternative beyond the schema text. Good added value on the mutation-related params, baseline behavior on the rest.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with three concrete user questions and then states exactly what the tool returns: open counterparties today for that category, in per-region ranges ("2 a 4 en el NEA"), anonymous and without volume. It also names the pricing siblings it is not (value_cattle_lot, livestock_prices), so an agent can separate it from the valuation tools without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit selection rule: use this when the person wants to OPERATE (sell, buy, lease), and use value_cattle_lot or livestock_prices when they only want the price. It further spells out the escalation path — ask permission, then repeat the call with registrar, nombre, email/telefono and consentimiento — which is exactly the when-to-use guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_dispersion_historyHistórico de la dispersión de preciosA
Read-onlyIdempotent
Inspect

¿Se está abriendo o cerrando la dispersión de precios? Serie histórica de la BANDA observada (VR v1.0): cómo evolucionó el rango P10–P90 por categoría en el Mercado Agroganadero. Es la pregunta que el precio puntual NO puede contestar — amplitud y mediana se mueven independientemente, así que una dispersión que se abre mientras el precio hace otra cosa es señal de riesgo que no se deriva del precio. GRATIS los últimos 30 días y también hacia atrás sin techo, gratis y sin cupo (la ventana publicada en /mercado y /vr es solo el default). Params: dias (default 30), categoria (opcional). Valor de HOY → livestock_prices; valuar una tropa → value_cattle_lot. [EN] Is the market widening or tightening? Historical series of the observed P10-P90 price band by category in the Argentine reference market.

NameRequiredDescriptionDefault
diasNoVentana en días hacia atrás (default 30, máx 3650). Sin techo: cualquier ventana responde gratis.
api_keyNoAPI key Enterprise (cnsg_live_...). Opcional: la serie va completa sin key; la key es para la descarga masiva y los exports.
categoriaNoCategoría a filtrar (opcional). Con serie: novillos, novillitos, vaquillonas, vacas, toros, terneros, novillo, novillito, vaquillona, vaca, toro, mej. Sin filtro devuelve todas.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real context beyond them: full-series delivery without an API key, the key being needed only for bulk export, and no cap on historical windows. It stops short of describing the response structure or granularity, so it is strong but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The rhetorical opening question front-loads intent well, but the text repeats the free/no-quota claim three times and carries a full bilingual restatement plus a '(VR v1.0)' tag. Several sentences could be trimmed without losing guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, alternatives, cost model, and parameter guidance for a three-parameter, zero-required tool with no output schema. The main gap is what the returned series looks like (granularity, units, date alignment), which the agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds that the window published in /mercado and /vr is only a default and that any window is free, which changes how an agent should set dias. It restates default 30 and optional categoria, which is redundant but harmless.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: a historical series of the observed P10–P90 price band by category, framed around whether dispersion is widening or tightening. It explicitly contrasts with point-price tools, so an agent can distinguish it from livestock_prices and value_cattle_lot without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: 'Valor de HOY → livestock_prices' and 'valuar una tropa → value_cattle_lot', leaving this tool for the historical-band question. Also states access conditions (free last 30 days, unlimited backward, no quota), so the agent knows there is no cost penalty for large windows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_seasonalityEstacionalidad del novillo en dólaresA
Read-onlyIdempotent
Inspect

En qué mes del año la hacienda está típicamente cara o barata, y dónde está HOY contra esa norma. Índice estacional del INMAG EN DÓLARES desde 2015 (razón sobre media móvil centrada de 12 meses, mediana entre años, normalizado a 1,00). Contesta "¿conviene comprar ahora o esperar?" — que es lo que el precio del día NO contesta. Args: mes (YYYY-MM, opcional; default el último con índice). Se calcula en dólares a propósito: en pesos mediría la inflación, no el ciclo. [EN] Which month Argentine cattle is typically cheap or expensive, and where it stands today against that norm. Seasonal index on the USD series since 2015.

NameRequiredDescriptionDefault
mesNoMes a evaluar, YYYY-MM (opcional)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnly/idempotent/openWorld, so the bar is lower; the description still adds real context: data starts 2015, methodology (ratio over centered 12-month moving average, median across years, normalized to 1.00), and the deliberate USD-vs-pesos choice. It also discloses the default month behavior. Missing only coverage of edge cases or compute cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core question, then methodology, then args, then rationale — a sensible order. The bilingual restatement adds length that partially duplicates the Spanish, but it is functionally tight and each substantive sentence (methodology, USD rationale) earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully tells the agent what the returned index means (normalized to 1.00, ratio vs 12-month moving average), which enables correct interpretation of results. Complete for a single-optional-param read tool, though it doesn't describe the exact output fields/shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds value beyond the schema by stating the default for `mes` ('default el último con índice'), which the schema only labels 'opcional'. Format YYYY-MM is already in the schema, so no extra credit there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States precisely what it computes: a seasonal index of Argentine cattle prices in USD by month (since 2015), plus where today sits against that norm. It implicitly distinguishes itself from daily-price tools by contrasting 'que es lo que el precio del día NO contesta', though it doesn't name the specific sibling (livestock_prices / cattle_price_index).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear decision context ('¿conviene comprar ahora o esperar?') and frames it against the daily price tool as the alternative for a different question. Lacks an explicit 'when-not' or prerequisites statement, but the use case is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

renspa_lookupValidar / decodificar RENSPAA
Read-onlyIdempotent
Inspect

Valida y decodifica un código RENSPA (Registro Nacional Sanitario de Productores Agropecuarios): 17 caracteres, formato 00.000.0.00000.00. Devuelve los segmentos (provincia, departamento, jurisdicción de oficina local, establecimiento y productor) y explica qué identifica. NO consulta la vigencia en vivo (la base de SENASA está tras clave fiscal ARCA); para verificar vigencia remite a la consulta pública oficial. [EN] Validate and decode a RENSPA, the Argentine farm registration number.

NameRequiredDescriptionDefault
renspaYesCódigo RENSPA, con o sin puntos (ej. 01.234.5.67890.12)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive, and the description adds real value on top: it discloses the input length/format, what fields are decoded, and the important limitation that it cannot verify live vigencia because SENASA sits behind ARCA fiscal keys. That scope boundary is the kind of behavioral context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb, resource and format before the caveats, and each sentence earns its place. The appended English translation is mildly redundant for an agent but does not harm routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden well by listing the decoded segments (provincia, departamento, jurisdicción, establecimiento, productor). Combined with the format and the vigencia limitation, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter with 100% schema coverage, so baseline is 3. The description adds meaning beyond the schema by specifying the 17-character structure and format mask (00.000.0.00000.00), reinforcing the segment layout the schema's example only implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (valida/decodifica) and resource (código RENSPA), defines the resource, gives the exact format (17 caracteres, 00.000.0.00000.00), and enumerates the returned segments. No sibling tool overlaps with RENSPA decoding, so it is easily distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states a when-not: it does NOT check live validity ('NO consulta la vigencia en vivo') and routes the agent to the official public source for that purpose. Strong context, though it does not name a sibling tool alternative, so not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subscribe_broker_proPRO Consignataria: cotizar y activar en USDCA
Read-onlyIdempotent
Inspect

Cotiza y explica cómo activar PRO Consignataria pagando en USDC (x402): sello ★ PRO; primera en el directorio y en el muro de la home; remates resaltados en el calendario y en sus fichas; primera en el newsletter semanal con registro de envíos; primera en el directorio que consultan los agentes de IA (este MCP); leads con nombre y contacto; panel con quién mira el perfil, cuándo y desde dónde (incluidas visitas desde IAs); cruce contra el Mercado de Cañuelas si opera ahí. Mismo producto que en /planes (ARS 45.000/mes), cotizado al dólar blue del día. Esta tool NO cobra: devuelve el monto exacto y el endpoint x402 para pagar. Params: slug (consignataria del directorio, usá find_livestock_broker si no lo sabés), meses (1-12, default 1). [EN] Quote and subscribe to the PRO plan for a livestock broker profile, payable in USDC.

NameRequiredDescriptionDefault
slugYesSlug de la consignataria en el directorio
mesesNoMeses a contratar (1-12, default 1)

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by resolving the apparent write-vs-read tension: it states it does not charge, returns an exact amount plus an x402 endpoint, and prices at the blue-dollar rate of the day against the ARS 45.000/mes list price. That is exactly the behavioral context an agent needs to avoid assuming a payment is executed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the no-charge caveat are front-loaded, but the middle is a long semicolon-chained list of PRO benefits (sello ★, remates resaltados, newsletter, panel de visitas, cruce Cañuelas) that mostly sells rather than informs tool selection. Two sentences carried by that list do the work of one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully says what comes back (amount and x402 endpoint), what the pricing basis is, and what the two parameters mean. It does not say what happens on an invalid slug, or whether a follow-up call completes activation after payment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds the provenance of 'slug' (directorio entry) and the sibling tool to resolve it, which the schema does not say. The 'meses' range and default merely restate the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Cotiza y explica cómo activar PRO Consignataria pagando en USDC'), and the key sentence 'Esta tool NO cobra: devuelve el monto exacto y el endpoint x402 para pagar' pins down what the call actually does versus what its name implies. The long benefits enumeration occupies most of the text and slightly blurs whether this is a marketing blurb or a transactional quote tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit routing rule for the required parameter ('usá find_livestock_broker si no lo sabés'), which is the most likely failure mode for an agent. No guidance on when *not* to use it, or on how it relates to the /planes web page beyond the price equivalence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upcoming_auctionsPróximos remates de haciendaA
Read-onlyIdempotent
Inspect

Calendario de próximos remates de hacienda en Argentina: solo programados, fecha ≥ hoy, ordenados por fecha. Devuelve fecha, hora, consignataria, localidad/provincia, categoría principal y si hay transmisión en vivo. Params: provincia (subcadena, opcional), limite (default 10, máx 50). No da precios ni INMAG: usá livestock_prices/cattle_price_index. [EN] Calendar of upcoming Argentine cattle auctions, filterable by province.

NameRequiredDescriptionDefault
limiteNoMáximo de remates (default 10)
provinciaNoFiltra por provincia (ej. "Buenos Aires")

Output Schema

NameRequiredDescription
corteNoPresente solo si el listado se cortó por el techo de consultas.
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
regionNoSolo cuando la provincia pedida no tiene remates: los más cercanos, de su región.
rematesYes
sugerenciaNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/openWorld/non-destructive, so the safety profile is free. The description then adds genuine behavioral context beyond them: only future scheduled auctions, date-ascending ordering, default 10 with a hard cap of 50, and live-broadcast flag in the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and scope, then return fields, then params, then exclusions — a sensible ordering with no filler. The trailing [EN] one-liner is mildly duplicative of the opening sentence but aids routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Two-parameter, read-only tool with an output schema and full schema coverage. The description covers scope, ordering, defaults, caps, filter semantics, and the nearest alternatives — nothing an agent needs for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: provincia is a substring match (not exact) and is optional, and limite has a maximum of 50 that the schema description omits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource and scope: a calendar of upcoming Argentine cattle auctions, restricted to future-dated scheduled events, ordered by date. It also enumerates the returned fields, so an agent knows exactly what it is getting without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the negative case and routes elsewhere: no prices or INMAG here, use livestock_prices/cattle_price_index. Combined with the 'solo programados, fecha ≥ hoy' constraint, an agent can decide between this and the price siblings without inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

value_cattle_lotValuar una tropa de haciendaA
Read-onlyIdempotent
Inspect

¿Cuánto valen 350 novillos en Formosa? Valúa una tropa de hacienda con la BANDA de precio realmente observada en las operaciones de lote del MAG (VR v1.0): conservador (P10), central (mediana) y optimista (P90), con la cantidad de lotes y cabezas que la sostiene, más el total en USD (blue y oficial) y la fuente fechada. Cuando una categoría no tiene base suficiente de lotes cae a la referencia nacional del MAG y lo declara — nunca inventa un rango. Metodología: https://www.consignatarias.com.ar/metodologia/vr. GRATIS y sin cupo. Params: categoria, cabezas, kg_promedio (opcional, si no se asume el peso típico de venta), provincia (opcional). [EN] Value a lot of cattle in Argentina: returns the observed P10/median/P90 price band, not a single point.

NameRequiredDescriptionDefault
cabezasYesCantidad de animales (1 a 100.000)
categoriaYesCategoría MAG
provinciaNoProvincia (opcional; la referencia de precio es nacional MAG)
kg_promedioNoPeso vivo promedio en kg (opcional; default: peso típico de venta de la categoría)

Output Schema

NameRequiredDescription
fuenteYesCita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).
origenNoDe dónde salen los precios (MAG + dolarapi.com).
cabezasYes
usd_blueNo
categoriaYes
provinciaNo
total_arsYes
valuacionYes
kg_asumidoNo
referenciaNoReferencia VR v1.0: banda observada, ventana y límites.
kg_promedioYes
usd_oficialNo
fecha_indiceNo
precio_kg_arsYes
precio_kg_magYes
total_usd_blueYes
brecha_vs_mag_pctNo
total_usd_oficialYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly/openWorld/idempotent, non-destructive), it discloses meaningful behavior: never invents a range, degrades to national reference and says so, reports the sample size behind the band, includes both blue and official USD rates, and is free with no quota. That is substantive, though the return details partially overlap with the existing output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The hook question is front-loaded and earns its place by demonstrating the input shape, and the fallback/methodology notes are relevant. Some waste remains: the trailing parameter list duplicates the schema and the [EN] sentence repeats already-covered meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only valuation tool with four params, full schema coverage and an output schema, the description covers what an agent needs: what it returns, what happens when data is thin, and how to call it. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with an enum on categoria, so the schema already carries the parameter burden. The description only restates the params and the kg_promedio default, adding little beyond what the schema and its descriptions already say.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (valúa una tropa de hacienda) plus the exact output shape: P10/median/P90 band from observed MAG lot operations, with lot/head backing, USD totals and dated source. The quantity-based scoping ('¿Cuánto valen 350 novillos?') makes it clearly distinct from index-style siblings like livestock_prices, cattle_price_index or price_dispersion_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The leading example establishes the use case concretely, and the description gives an explicit fallback rule (falls back to MAG national reference and declares it when a category lacks lot depth) plus notes which params are optional and what happens when kg_promedio is omitted. It does not name a competing sibling to route away from, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

value_farmlandValor de la hectárea por zonaA
Read-onlyIdempotent
Inspect

¿Cuánto vale la hectárea en Corrientes? ¿Cuánto vale un campo de 800 has en la cuenca del Salado? Valor de la tierra en dólares por hectárea, con el rango real de la zona, el arrendamiento típico en kg de novillo y la fuente de cada dato. Relevamiento propio: 15 provincias y 52 zonas, cruzando tasadores con serie publicada, catastro provincial y avisos de venta. Distingue campo ganadero de agrícola y valúa cada uno en SU moneda: el ganadero en kg de novillo por ha por mes, el agrícola en quintales de soja por ha por año. GRATIS, sin cupo. Params: provincia (obligatoria), hectareas (opcional), zona (opcional — acepta el nombre de la zona o el partido), kg_ha_mes (opcional, canon pactado). [EN] Value Argentine farmland by province and zone, with the observed range and the survey date.

NameRequiredDescriptionDefault
zonaNoZona o partido (opcional). Ej: "Cuenca del Salado", "Pergamino", "Marcos Juárez". Precisa mucho el número.
hectareasNoSuperficie en hectáreas (opcional; sin ella responde solo el valor por hectárea)
kg_ha_mesNoCanon ganadero pactado, en kg de novillo por ha por mes (opcional). Si el dato que tenés es anual, dividilo por 12.
provinciaYesProvincia. Con dato propio: Buenos Aires, Córdoba, Santa Fe, Entre Ríos, Corrientes, Chaco, Formosa, Santiago del Estero, La Pampa, San Luis, Salta, Catamarca, La Rioja, Río Negro, Chubut
qq_soja_ha_anioNoCanon agrícola pactado, en quintales de soja por ha por año (opcional). Es la unidad del arrendamiento agrícola.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description adds value on other axes: it discloses data provenance (own survey of 15 provinces and 52 zones, cross-referencing appraisers, published series, cadastral records, and sale listings) and states there is no quota or cost ('GRATIS, sin cupo'). It does not detail coverage limits or how partial data is handled when a zone is unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, but the body is padded with marketing questions, a 'GRATIS, sin cupo' pitch, a recitation of parameters already fully described in the schema (including an omission of qq_soja_ha_anio while listing the others), and then an English restatement. Several sentences do not earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with a fully documented schema and no output schema, the description supplies what is otherwise missing: data provenance, geographic coverage, dual valuation methodology, and the fact that results come with a source. The one thing an agent still cannot resolve from the description is when to prefer this tool over the rent-calculation siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter including the zona/partido flexibility and the kg/ha/month canon. The description reinforces the two canon regimes (kg of steer per ha per month vs. quintales of soy per ha per year) but adds little beyond what the schema states, and it recites parameters rather than enriching them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and output: value of Argentine farmland per hectare in USD, per province and zone, with observed range, typical lease in kg of steer, and source per data point. It notes the cattle-vs-agricultural distinction and each one's unit. It never names the closely related siblings (value_farmland_rent, calculate_farmland_rent) that an agent would have to choose between, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Use context is only implied through rhetorical questions ('¿Cuánto vale la hectárea en Corrientes?'), which sketch a scenario but give no explicit when-to-use/when-not or alternative. With overlapping siblings like value_farmland_rent and calculate_farmland_rent in the same namespace, the absence of any routing rule is a meaningful gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

value_farmland_rentArrendamiento de un campo al índice oficialA
Read-onlyIdempotent
Inspect

¿Cuánto cuesta arrendar un campo de 3.500 has en Corrientes? Canon de arrendamiento ganadero al índice oficial del MAG (haciinfo000013): anual y mensual, en ARS y USD. Con kg_ha_anio pactado da el canon exacto; sin él, escenarios de 40 a 100 kg/ha/año. GRATIS y sin cupo. Params: hectareas, kg_ha_anio (opcional), provincia (opcional). [EN] Cost of renting Argentine farmland, quoted the way it is actually contracted: in kilograms of steer per hectare per year.

NameRequiredDescriptionDefault
hectareasYesSuperficie en hectáreas (1 a 1.000.000)
provinciaNoProvincia (opcional; el canon por zona/aptitud se pacta, no hay valor oficial provincial)
kg_ha_anioNoCanon pactado en kg de novillo por ha por año (opcional; sin él se responden escenarios)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the bar is lower; the description nonetheless adds real context: the index source by code, the fact it is free and uncapped, the currency and period granularity of the answer, and fallback behavior when a parameter is absent. It does not describe response shape in detail, but the added behavioral traits are substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with a concrete user question that anchors the use case, followed by method, units, and parameter behavior in a compact sequence. The [EN] translation and the explicit 'Params:' enumeration duplicate what follows in the schema, costing a little economy, but overall it is dense rather than padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so: it specifies annual and monthly figures, ARS and USD, exact canon versus scenarios, and names the official index used. The only remaining ambiguity an agent must resolve is the overlap with the closely named sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns one more by explaining the consequence of each optional parameter — kg_ha_anio switches from exact canon to 40–100 kg/ha/year scenarios — which sharpens what the schema only sketches ('se responden escenarios'). The restated param list is redundant but the scenario range adds genuine meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource — valuing farmland rent against the official MAG index (haciinfo000013) — with concrete output units (ARS/USD, annual/monthly). It is clear on its own, but it never differentiates itself from the sibling 'calculate_farmland_rent', which sounds functionally identical, nor from 'value_farmland' (land value vs. rent).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit branch condition: providing kg_ha_anio yields the exact canon, omitting it returns 40–100 kg/ha/year scenarios. That is clear usage context. However, there are no exclusions or sibling routing (e.g., when to prefer 'calculate_farmland_rent' or 'value_farmland' instead), so the guidance stops short of the top band.

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.

  1. 1 tool update
    • Changedcattle_buying_request1 field changed
      • addedInput schema / properties / contacto_para_operar
        Added value: +{
        +  "description": "true SOLO si la persona dijo \"acepto que me contacten para armar la operación\". Sin esto el pedido solo genera avisos de remates.",
        +  "type": "boolean"
        +}
  2. 6 tool updates
    • Changedcattle_price_index1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "avg_5_ruedas": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "change_dia_pct": {
        +      "type": "number"
        +    },
        +    "change_vs_avg5_pct": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "date": {
        +      "type": "string"
        +    },
        +    "fuente": {
        +      "description": "Cita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).",
        +      "properties": {
        +        "consultado": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "url",
        +        "consultado"
        +      ],
        +      "type": "object"
        +    },
        +    "inmag": {
        +      "type": "number"
        +    },
        +    "metric": {
        +      "type": "string"
        +    },
        +    "prev": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "prev_date": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "prev_low_volume": {
        +      "type": "boolean"
        +    },
        +    "unit": {
        +      "type": "string"
        +    },
        +    "volume": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "inmag",
        +    "date",
        +    "change_dia_pct",
        +    "unit",
        +    "metric",
        +    "fuente"
        +  ],
        +  "type": "object"
        +}
    • Changedlivestock_prices1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "fuente": {
        +      "description": "Cita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).",
        +      "properties": {
        +        "consultado": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "url",
        +        "consultado"
        +      ],
        +      "type": "object"
        +    },
        +    "metric": {
        +      "type": "string"
        +    },
        +    "prices": {
        +      "additionalProperties": {
        +        "properties": {
        +          "head": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "price": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "price",
        +          "head"
        +        ],
        +        "type": "object"
        +      },
        +      "description": "Por categoría: precio ARS/kg vivo y cabezas de la observación.",
        +      "type": "object"
        +    },
        +    "week": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "metric",
        +    "week",
        +    "prices",
        +    "fuente"
        +  ],
        +  "type": "object"
        +}
    • Changedmacro_context1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "fuente": {
        +      "description": "Cita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).",
        +      "properties": {
        +        "consultado": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "url",
        +        "consultado"
        +      ],
        +      "type": "object"
        +    },
        +    "indice_arrendamiento_oficial": {
        +      "properties": {
        +        "date": {
        +          "type": "string"
        +        },
        +        "index": {
        +          "type": "number"
        +        }
        +      },
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "kg_maiz_por_kg_novillo": {
        +      "type": "number"
        +    },
        +    "maiz_ars_kg": {
        +      "type": "number"
        +    },
        +    "maiz_usd_tn": {
        +      "type": "number"
        +    },
        +    "novillo_ars_kg": {
        +      "type": "number"
        +    },
        +    "usd_blue": {
        +      "type": "number"
        +    },
        +    "usd_oficial": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "usd_blue",
        +    "usd_oficial",
        +    "maiz_usd_tn",
        +    "maiz_ars_kg",
        +    "novillo_ars_kg",
        +    "kg_maiz_por_kg_novillo",
        +    "indice_arrendamiento_oficial",
        +    "fuente"
        +  ],
        +  "type": "object"
        +}
    • Addedmarket_match
    • Changedupcoming_auctions1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "corte": {
        +      "description": "Presente solo si el listado se cortó por el techo de consultas.",
        +      "type": "string"
        +    },
        +    "fuente": {
        +      "description": "Cita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).",
        +      "properties": {
        +        "consultado": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "url",
        +        "consultado"
        +      ],
        +      "type": "object"
        +    },
        +    "region": {
        +      "description": "Solo cuando la provincia pedida no tiene remates: los más cercanos, de su región.",
        +      "properties": {
        +        "codigo": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "nombre": {
        +          "type": "string"
        +        },
        +        "remates": {
        +          "items": {
        +            "properties": {
        +              "categoria": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "consignataria": {
        +                "type": "string"
        +              },
        +              "consignataria_slug": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "date": {
        +                "type": "string"
        +              },
        +              "en_vivo": {
        +                "type": "boolean"
        +              },
        +              "lugar": {
        +                "type": "string"
        +              },
        +              "provincia": {
        +                "type": "string"
        +              },
        +              "time": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "date",
        +              "time",
        +              "consignataria",
        +              "lugar",
        +              "provincia",
        +              "categoria",
        +              "en_vivo"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "codigo",
        +        "nombre",
        +        "remates"
        +      ],
        +      "type": "object"
        +    },
        +    "remates": {
        +      "items": {
        +        "properties": {
        +          "categoria": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "consignataria": {
        +            "type": "string"
        +          },
        +          "consignataria_slug": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "date": {
        +            "type": "string"
        +          },
        +          "en_vivo": {
        +            "type": "boolean"
        +          },
        +          "lugar": {
        +            "type": "string"
        +          },
        +          "provincia": {
        +            "type": "string"
        +          },
        +          "time": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "date",
        +          "time",
        +          "consignataria",
        +          "lugar",
        +          "provincia",
        +          "categoria",
        +          "en_vivo"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sugerencia": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "remates",
        +    "fuente"
        +  ],
        +  "type": "object"
        +}
    • Changedvalue_cattle_lot1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "brecha_vs_mag_pct": {
        +      "type": "number"
        +    },
        +    "cabezas": {
        +      "type": "number"
        +    },
        +    "categoria": {
        +      "type": "string"
        +    },
        +    "fecha_indice": {
        +      "type": "string"
        +    },
        +    "fuente": {
        +      "description": "Cita: página de consignatarias.com.ar que respalda el dato (utm_source=mcp) y fecha de consulta ISO (hora argentina).",
        +      "properties": {
        +        "consultado": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "url",
        +        "consultado"
        +      ],
        +      "type": "object"
        +    },
        +    "kg_asumido": {
        +      "type": "boolean"
        +    },
        +    "kg_promedio": {
        +      "type": "number"
        +    },
        +    "origen": {
        +      "description": "De dónde salen los precios (MAG + dolarapi.com).",
        +      "type": "string"
        +    },
        +    "precio_kg_ars": {
        +      "type": "number"
        +    },
        +    "precio_kg_mag": {
        +      "type": "number"
        +    },
        +    "provincia": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "referencia": {
        +      "description": "Referencia VR v1.0: banda observada, ventana y límites.",
        +      "type": "object"
        +    },
        +    "total_ars": {
        +      "type": "number"
        +    },
        +    "total_usd_blue": {
        +      "type": "number"
        +    },
        +    "total_usd_oficial": {
        +      "type": "number"
        +    },
        +    "usd_blue": {
        +      "type": "number"
        +    },
        +    "usd_oficial": {
        +      "type": "number"
        +    },
        +    "valuacion": {
        +      "properties": {
        +        "central_ars": {
        +          "type": "number"
        +        },
        +        "conservador_ars": {
        +          "type": "number"
        +        },
        +        "optimista_ars": {
        +          "type": "number"
        +        },
        +        "uso_banda": {
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "conservador_ars",
        +        "central_ars",
        +        "optimista_ars",
        +        "uso_banda"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "categoria",
        +    "cabezas",
        +    "kg_promedio",
        +    "precio_kg_ars",
        +    "precio_kg_mag",
        +    "total_ars",
        +    "total_usd_blue",
        +    "total_usd_oficial",
        +    "valuacion",
        +    "fuente"
        +  ],
        +  "type": "object"
        +}
  3. 52 tool updates
    • Removedactividad_consignatarias
    • Addedanimal_health_plan
    • Addedbroker_activity_ranking
    • Removedbuenas_practicas
    • Removedbuscar_consignataria
    • Removedbuscar_frigorifico
    • Removedcalcular_arrendamiento
    • Addedcalculate_farmland_rent
    • Addedcattle_buying_request
    • Addedcattle_price_index
    • Addedconsignatarias_band
    • Removedcontratar_pro_consignataria
    • Removedcrear_alerta_precio
    • Addedcreate_price_alert
    • Addeddte_lookup
    • Addedfarmland_yield
    • Addedfind_livestock_broker
    • Addedfind_meat_plant
    • Addedfmd_vaccination_calendar
    • Removedget_contexto_macro
    • Removedget_indice_liquidacion
    • Removedget_indice_novillo
    • Removedget_inmag_historico
    • Removedget_precios_detallados
    • Removedget_precios_hacienda
    • Removedget_vr_historico
    • Addedgood_farming_practices
    • Addedherd_liquidation_index
    • Addedinmag_history
    • Addedinternational_price_gap
    • Removedlist_remates
    • Addedlivestock_movement_rules
    • Addedlivestock_prices
    • Addedlivestock_prices_detailed
    • Addedmacro_context
    • Addedprice_dispersion_history
    • Addedprice_seasonality
    • Removedquiero_comprar
    • Addedrenspa_lookup
    • Removedsanidad_calendario_aftosa
    • Removedsanidad_dte_tropa
    • Removedsanidad_plan
    • Removedsanidad_renspa
    • Removedsanidad_requisitos_movimiento
    • Addedsubscribe_broker_pro
    • Addedupcoming_auctions
    • Removedvaluar_arrendamiento_campo
    • Removedvaluar_campo
    • Removedvaluar_tropa
    • Addedvalue_cattle_lot
    • Addedvalue_farmland
    • Addedvalue_farmland_rent
  4. 2 tool updates
    • Changedget_inmag_historico2 fields changed
      • changedInput schema / properties / api_key / description
        Previous value: -"API key Enterprise (cnsg_live_...) para la serie completa sin el techo de 365 días. Opcional si ya va por el header Authorization: Bearer."New value: +"API key Enterprise (cnsg_live_...). Opcional y ya no necesaria para la consulta: sirve para la descarga masiva fila por fila y los exports. Si ya va por el header Authorization: Bearer, no hace falta acá."
      • changedInput schema / properties / dias / description
        Previous value: -"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Más de 365 se recorta salvo con API key. Ignorado si se pasa desde/hasta."New value: +"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Sin techo: cualquier ventana responde gratis. Ignorado si se pasa desde/hasta."
    • Changedget_vr_historico2 fields changed
      • changedInput schema / properties / api_key / description
        Previous value: -"API key Enterprise (cnsg_live_...) para la serie completa. Opcional si ya va por el header Authorization: Bearer."New value: +"API key Enterprise (cnsg_live_...). Opcional: la serie va completa sin key; la key es para la descarga masiva y los exports."
      • changedInput schema / properties / dias / description
        Previous value: -"Ventana en días hacia atrás (default 30, máx 3650). Más allá de la ventana gratis se recorta salvo con API key Enterprise."New value: +"Ventana en días hacia atrás (default 30, máx 3650). Sin techo: cualquier ventana responde gratis."
  5. 1 tool update
    • Addedget_vr_historico
  6. 1 tool update
    • Changedget_inmag_historico2 fields changed
      • addedInput schema / properties / api_key
        Added value: +{
        +  "description": "API key Enterprise (cnsg_live_...) para la serie completa sin el techo de 365 días. Opcional si ya va por el header Authorization: Bearer.",
        +  "type": "string"
        +}
      • changedInput schema / properties / dias / description
        Previous value: -"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Ignorado si se pasa desde/hasta."New value: +"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Más de 365 se recorta salvo con API key. Ignorado si se pasa desde/hasta."
  7. 1 tool update
    • Changedcrear_alerta_precio3 fields changed
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "Email al que avisar cuando cruce el umbral. Es la opción para una persona: pedíselo al usuario. Alternativa a webhook_url.",
        +  "type": "string"
        +}
      • changedInput schema / properties / webhook_url / description
        Previous value: -"URL https pública que recibe el POST cuando cruza"New value: +"URL https pública que recibe el POST cuando cruza. Para integraciones; para una persona usá email."
      • changedInput schema / required
        Previous value: -[
        -  "categoria",
        -  "umbral",
        -  "webhook_url"
        -]New value: +[
        +  "categoria",
        +  "umbral"
        +]
  8. 1 tool update
    • Changedvaluar_campo2 fields changed
      • changedInput schema / properties / kg_ha_mes / description
        Previous value: -"Canon pactado en kg de novillo por ha por mes (opcional). Si el dato que tenés es anual, dividilo por 12."New value: +"Canon ganadero pactado, en kg de novillo por ha por mes (opcional). Si el dato que tenés es anual, dividilo por 12."
      • addedInput schema / properties / qq_soja_ha_anio
        Added value: +{
        +  "description": "Canon agrícola pactado, en quintales de soja por ha por año (opcional). Es la unidad del arrendamiento agrícola.",
        +  "type": "number"
        +}
  9. 2 tool updates
    • Changedcalcular_arrendamiento2 fields changed
      • changedInput schema / properties / kg_ha / description
        Previous value: -"Kg de novillo por hectárea por mes (típico 3-6)"New value: +"Kg de novillo por hectárea. Por MES salvo que se pase periodo=\"anio\" (típico 3-6 por mes, o 36-72 por año). Los avisos suelen publicarlo por año."
      • addedInput schema / properties / periodo
        Added value: +{
        +  "description": "Unidad de kg_ha. Por defecto \"mes\".",
        +  "enum": [
        +    "mes",
        +    "anio"
        +  ],
        +  "type": "string"
        +}
    • Addedvaluar_campo
  10. 4 tool updates
    • Addedcontratar_pro_consignataria
    • Addedquiero_comprar
    • Addedvaluar_arrendamiento_campo
    • Addedvaluar_tropa
  11. 1 tool update
    • Changedget_inmag_historico4 fields changed
      • addedInput schema / properties / desde
        Added value: +{
        +  "description": "Fecha inicial YYYY-MM-DD (opcional; la serie arranca 2015-01-05)",
        +  "type": "string"
        +}
      • changedInput schema / properties / dias / description
        Previous value: -"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05)"New value: +"Ventana en días hacia atrás (default 30, máx 5000; la serie arranca 2015-01-05). Ignorado si se pasa desde/hasta."
      • addedInput schema / properties / hasta
        Added value: +{
        +  "description": "Fecha final YYYY-MM-DD (opcional; default hoy). desde=hasta consulta una fecha puntual.",
        +  "type": "string"
        +}
      • addedInput schema / properties / moneda
        Added value: +{
        +  "description": "ars (default) o usd — conversión por dólar blue venta, último valor conocido a cada fecha (regla de /mercado/inmag-dolares)",
        +  "enum": [
        +    "ars",
        +    "usd"
        +  ],
        +  "type": "string"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Real-time Argentine exchange rates for AI agents. Dollar blue, oficial, MEP, CCL, crypto rates plus currency conversion and spread calculator.
    6
    8 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for querying real-time Argentine economic data, including dollar exchange rates, inflation, country risk, foreign currencies, and more.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.