Andes Protocol
Server Details
Public procurement for AI agents: Chile tenders and Compra Ágil, fit, buyer and supplier history.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
Each tool targets a distinct object or action: search_tenders (discovery), get_tender_detail (facts), assess_fit (scored judgment), buyer_history/supplier_history (entity intel), market_signals (market-level), prepare_quote (output). The only mild overlaps are assess_fit vs get_tender_detail (both framed as 'before deciding') and assess_fit's competition context vs buyer_history, but descriptions explicitly sequence them ('Call get_tender_detail before deciding anything').
Six of seven names follow a readable snake_case verb_noun or entity_noun pattern (search_tenders, get_tender_detail, prepare_quote, assess_fit, buyer_history, supplier_history). market_signals is the only pure noun with no verb, a minor deviation but still unambiguous.
Seven tools is well-scoped for a procurement-advisory server: one entry point, one detail fetch, two history lookups, one market view, one assessment and one output builder. Each earns its place with no redundant tools.
The surface covers the full advisory lifecycle: find tenders, inspect details, assess fit, research buyer/supplier/market, and draft a quote. Gaps are acknowledged rather than hidden (no document reading, no submission, no question-asking or watch/notification tool), which an agent can work around via source_url and manual steps.
Available Tools
7 toolsassess_fitAssess tender fit for a supplierARead-onlyIdempotentInspect
Use this to decide whether a tender is worth your user's time. Pass tender_id plus company_profile (sector, capabilities, brands, certifications, in the user's words) and/or supplier_id (the user's tax id, e.g. Chilean RUT). Andes checks evidence it holds: the company's terms (with procurement synonyms) in the tender's title, items and description; the supplier's past awards in the same UNSPSC product category; the estimated amount against the supplier's usual award; and whether it already sold to this buyer. Returns fit (strong, possible, weak, insufficient_evidence), relevance_score 0-1, signals (each with status, strength, evidence and source), gaps (what would improve the judgment), the buyer's competition context (average bidders, usual winners) and agent_guidance. Without supplier_id the score is capped: text cannot prove capability. It does not read tender documents yet. Treat it as evidence; the decision is your user's. Access: needs an identified agent key (free, self-service at https://pass.andesprotocol.com).
| Name | Required | Description | Default |
|---|---|---|---|
| tender_id | Yes | ||
| supplier_id | No | ||
| company_profile | No | ||
| preferred_language | No | en-US | |
| include_original_evidence | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Well beyond the readOnly/idempotent annotations, it discloses the evidence methodology, the capping rule when supplier_id is absent, a known limitation (tender documents not read), the epistemic framing ("treat it as evidence; the decision is your user's"), and an access prerequisite with a self-service URL. That is the behavioral context an agent needs before trusting or gating the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence front-loads the decision use case, followed by inputs, method, output, limitations and access in a logical order with almost no filler. It is dense and somewhat run-on, packing evidence sources into one long sentence, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with an output schema, the description still explains the verdict vocabulary, the 0-1 score, signals, gaps, competition context and agent_guidance, plus auth and limitations — more than enough to call it correctly. The only gap is the unexplained preferred_language and include_original_evidence flags, which affect output shaping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden: it explains tender_id, supplier_id (tax id, e.g. Chilean RUT) and company_profile (sector, capabilities, brands, certifications, in the user's own words) with useful format guidance. However, preferred_language and include_original_evidence are never mentioned, leaving two of five parameters with no semantics anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete decision task ("decide whether a tender is worth your user's time") and enumerates the evidence classes it evaluates: title/items/description matching, prior awards in the same UNSPSC category, amount versus the supplier's usual award, and prior sales to the buyer. That scope is clearly distinct from the sibling tools buyer_history, supplier_history, market_signals and get_tender_detail, which surface raw data rather than a synthesized fit verdict.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ("use this to decide whether a tender is worth your user's time") plus a key conditional: without supplier_id the score is capped because text alone cannot prove capability, which tells the agent when the weaker mode is acceptable. It also sets a boundary ("does not read tender documents yet"). It stops short of naming sibling tools as alternatives for the sub-questions it can't answer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buyer_historyBuyer historyARead-onlyIdempotentInspect
Use this to learn how a buyer behaves before bidding: what it awarded, to which suppliers, how many bidders its tenders draw (median_bidders, single_bidder_share) and how awards compare with the estimate (median_award_to_estimate). Pass tender_id from search_tenders, or buyer_name, or buyer_id. Built from the buyer's awarded tenders in Open Contracting (OCDS) data; period, sources and computed_at are in each match. An empty matches list comes with a note saying why. Access: needs an identified agent key (free, self-service at https://pass.andesprotocol.com).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| buyer_id | No | ||
| tender_id | No | ||
| buyer_name | No | ||
| preferred_language | No | en-US |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds genuinely new context: data provenance (OCDS awarded tenders), per-match period/sources/computed_at fields, and the notable behavior that an empty matches list is accompanied by a note explaining why. The auth requirement (identified agent key with self-service URL) is also disclosed, which annotations do not capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph that front-loads the purpose, then metrics, then input routing, then provenance and auth. Every clause carries information, though the runway of parenthetical metric names makes it slightly hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be re-explained, and the description still covers provenance, empty-result handling, and access requirements. The gaps are the undocumented limit and preferred_language parameters and the lack of a precedence rule among the identifier inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load; it explains where tender_id comes from and that buyer_name or buyer_id are alternatives, but says nothing about limit or preferred_language, nor whether the three identifiers are mutually exclusive or which takes precedence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a concrete verb-plus-resource framing ('learn how a buyer behaves before bidding') and enumerates the specific metrics returned (median_bidders, single_bidder_share, median_award_to_estimate), so an agent can distinguish this from supplier_history or assess_fit 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the timing of use ('before bidding') and routes the agent by naming search_tenders as the source of tender_id, plus the alternative buyer_name/buyer_id lookups. It does not explicitly exclude or contrast with the sibling supplier_history tool, keeping it 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.
get_tender_detailGet tender detailARead-onlyIdempotentInspect
Use this before deciding whether a tender is worth pursuing. Pass a tender_id from search_tenders. Returns buyer, description, dates, estimated amount, items, documents, the question deadline and the official source_url, plus agent_guidance: deadlines, questions to ask your user, a checklist of market rules and suggested next calls. If the id is unknown it returns error.code 'not_found': retry with search_tenders using the tender name. Access: open to anonymous agents (rate-limited); a free AndesPass key raises the limit.
| Name | Required | Description | Default |
|---|---|---|---|
| tender_id | Yes | ||
| preferred_language | No | en-US | |
| include_original_evidence | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds value beyond that: access model (anonymous, rate-limited, free AndesPass key raises the limit), the specific error code 'not_found' and its remedy, and a preview of the returned payload including agent_guidance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the decision context and the required input, then the return contents, then error handling and access notes. Dense but every sentence carries information; the return-value enumeration is slightly long given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only detail lookup with an output schema, the description covers purpose, input source, return shape, error recovery, and access constraints. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains tender_id well (source and error behavior) but says nothing about preferred_language or include_original_evidence, leaving two of three parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get_tender_detail' / tender detail) and frames its role relative to search_tenders by requiring a tender_id from that tool. An agent can distinguish it from search_tenders and the other siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it ('before deciding whether a tender is worth pursuing') and where the input comes from ('Pass a tender_id from search_tenders'). It also gives a recovery path for the not_found case, pointing back to search_tenders with the tender name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signalsMarket signalsARead-onlyIdempotentInspect
Use this to understand a public procurement market before choosing where to bid: the largest awards, supplier concentration (top-3 share, HHI), fastest-growing categories, award versus estimate, single-bidder and direct-award shares, and live open Compras Ágiles with no quote yet, plus amount_anomalies: awards whose recorded amount is out of range (left out of totals, listed to verify at the source). Each signal has a neutral statement, its number, the change against the previous period, an implication for a supplier and suggested_next_calls. Pass category as a UNSPSC code ('42', '4213') or a name ('equipamiento medico'), and period as last_12m (default), a year ('2025') or a quarter ('2025-Q3'). Built from awarded tenders (OCDS), which lag months: every signal states data_as_of. Anonymous agents get one market-wide signal per call. Access: open to anonymous agents (rate-limited); a free AndesPass key raises the limit.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| period | No | last_12m | |
| signals | No | ||
| category | No | ||
| preferred_language | No | en-US |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, it discloses important behavior: data lags months and every signal carries data_as_of, anomalous awards are excluded from totals and listed separately for verification, and anonymous access is limited to one market-wide signal per call with a free key raising the limit. This is exactly the kind of operational 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the bid-selection use case are front-loaded, then the signal inventory, then parameter syntax, then access constraints — a logical order with no filler sentences. It is dense and the long signal enumeration runs on, but nearly every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the description still explains the shape of each signal (neutral statement, number, period-over-period change, supplier implication, suggested_next_calls), plus data provenance (OCDS) and freshness caveats. For a five-parameter, multi-signal analytics tool this is sufficient to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so well for 'category' (UNSPSC code vs. name, with examples) and 'period' (last_12m default, year, quarter formats), and implicitly for 'signals' via the enumerated signal list. 'limit' and 'preferred_language' are never explained, leaving part of the five-parameter surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('understand a public procurement market') and enumerates the concrete outputs (supplier concentration, HHI, single-bidder share, live Compras Ágiles, amount_anomalies). This is clearly distinct from siblings like search_tenders or assess_fit, which operate on individual tenders rather than market-level aggregates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use framing: 'before choosing where to bid', which positions it upstream of assess_fit and search_tenders. It does not explicitly state when NOT to use it or name sibling tools as alternatives, so guidance is strong but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_quotePrepare a quoteARead-onlyIdempotentInspect
Use this when your user decided to quote: it builds the kit their person needs to submit, ready for one last click in Mercado Público (Andes cannot submit it). Pass tender_id and the prices: unit_prices per line ([{"line": 1, "unit_price": 12500}], net unless prices_include_vat) or quote_total (VAT included); optionally delivery_days and supplier_id (the user's RUT). Returns the requested lines with the draft (net, IVA 19%, total), readiness checks with their evidence (open, registered supplier, within the buyer's budget, quotes received and their range, delivery, documents to attach), the deadline and the link to submit. It never invents prices: unpriced lines stay unpriced. Needs a mandate from the person you act for (procurement.quote.prepare, ceiling covering the total): if there is none, the answer is mandate_required with approval_url and ask_user, a sentence to give your person; after they approve, call again with the same arguments. Access: needs an identified agent key (free, self-service at https://pass.andesprotocol.com).
| Name | Required | Description | Default |
|---|---|---|---|
| tender_id | Yes | ||
| quote_total | No | ||
| supplier_id | No | ||
| unit_prices | No | ||
| delivery_days | No | ||
| preferred_language | No | en-US | |
| prices_include_vat | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/idempotentHint/non-destructive, so the description carries the real behavioral load and does: mandate scope (procurement.quote.prepare with a ceiling covering the total), the structured mandate_required response, the guarantee that it never invents prices, and the identified-agent-key access requirement. None of that is recoverable from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense paragraph, correctly front-loaded with the trigger, then arguments, then returns, then the mandate and access preconditions. Every clause is load-bearing, though the length and the trailing self-service signup URL make it heavier than ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-stakes, precondition-gated action tool, the definition covers what the agent must know before calling: mandate and ceiling, access key, input encoding, the readiness checks returned, and how to recover from mandate_required. An output schema exists, so the brief description of returned fields is bonus rather than padding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description does most of the work: tender_id, unit_prices with a concrete shape example and 'net unless prices_include_vat', quote_total as the VAT-included alternative, delivery_days, and supplier_id as the user's RUT. It still leaves preferred_language unexplained and doesn't state whether unit_prices and quote_total are mutually exclusive or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact: it builds the quote kit the user's person needs to submit in Mercado Público, and explicitly scopes the boundary ('Andes cannot submit it'). This is unambiguously distinct from the research-oriented siblings (search_tenders, get_tender_detail, assess_fit).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger ('Use this when your user decided to quote') and defines the blocked path: if no mandate exists the answer is mandate_required with approval_url and ask_user, and after approval you call again with the same arguments. It also states the fallback behavior for unpriced lines. The only omission is naming a sibling, which isn't needed here since no sibling overlaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tendersSearch public tendersARead-onlyIdempotentInspect
Use this first to find ChileCompra public tenders matching a need. Pass Spanish keywords for best results (e.g. 'firewall', 'notebook', 'ciberseguridad'). Returns only tenders still open for bids (set include_closed=true for history), ordered by match score and then the soonest closing date, each with tender_id, retrieved_at and source_url. Andes adds the synonyms Chilean buyers use (e.g. 'ciberseguridad' also finds 'seguridad informática', 'firewall', 'SOC'): audit.expanded_terms lists them and each result's matched_terms says which term hit. One concept per word is best; accents do not matter. audit.index_last_synced_at and audit.index_open_tenders describe the whole index: zero results with a recent sync means nothing open matches today. Call get_tender_detail before deciding anything. Access: open to anonymous agents (rate-limited); a free AndesPass key raises the limit.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| response_mode | No | structured | |
| include_closed | No | ||
| preferred_language | No | en-US | |
| include_original_evidence | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real context beyond them: default open-only filtering, match-score-then-closing-date ordering, anonymous access with rate limits raised by a free AndesPass key. However, it never explains what the audit block, retrieved_at or include_original_evidence actually return, and the rate-limit magnitude is left vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and the query-language advice, and the sentences are dense with operational detail rather than filler. It runs long and drifts into return-value and audit-field explanation, but nearly every sentence carries actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the workflow role, query construction, synonym behavior, empty-result interpretation via audit.index_last_synced_at, and auth/rate-limit posture — a lot for a search tool. The gap is the four undocumented parameters, which matter for response shaping and limit control.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load: it does well for query (Spanish keywords, one concept per word, accent-insensitive, synonym expansion via Andes) and include_closed. But limit, response_mode, preferred_language and include_original_evidence go entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("find ChileCompra public tenders matching a need") plus scope (only open tenders by default). It distinguishes itself from siblings by naming get_tender_detail as the required follow-up, so an agent knows this is the discovery step rather than the detail step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says "Use this first" and "Call get_tender_detail before deciding anything," giving both the entry-point role and the downstream handoff. It also gives the condition for the closed-tender variant ("set include_closed=true for history") and warns that "one concept per word is best" with accents irrelevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supplier_historySupplier historyARead-onlyIdempotentInspect
Use this to size up a supplier, your user's own company or a competitor: what it won, from which buyers, in which categories, how many bidders it beat (competition_when_winning: read median_bidders first, framework agreements with hundreds of bidders skew the average), and, when bidder lists are published, its win rate and most frequent competitors. Pass supplier_id (tax id such as a Chilean RUT, or the supplier_id seen in buyer_history) or supplier_name. Suppliers are grouped by legal identifier; built from awarded tenders in Open Contracting (OCDS) data. An empty matches list comes with a note saying why. Access: needs an identified agent key (free, self-service at https://pass.andesprotocol.com).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| supplier_id | No | ||
| supplier_name | No | ||
| preferred_language | No | en-US |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and non-destructive annotations, it discloses that suppliers are grouped by legal identifier, results are built from awarded OCDS tenders, and win-rate and competitor insights depend on published bidder lists. It also warns that framework agreements skew average bidder counts, explains that empty matches include an explanatory note, and states the identified-agent-key requirement with free self-service enrollment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the description contains little filler, with each caveat supplying practical operational or interpretive context. However, the long opening sentence and nested parentheticals make it dense; separating invocation, metric interpretation, data behavior, and access into shorter sentences or bullets would improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only analytical tool with an output schema, it covers the essential data source, award-based scope, identity grouping, conditional metrics, statistical caveat, empty-match behavior, and authentication prerequisite. The main remaining gaps are the behavior of limit and preferred_language, identifier and name-matching rules, and explicit routing relative to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description substantially compensates for the key inputs: supplier_id may be a tax identifier such as a Chilean RUT or an identifier seen in buyer_history, supplier_name is an alternative, and legal-identifier grouping clarifies identity resolution. It does not explain what limit caps, how preferred_language affects results, how names are matched, or which identifier takes precedence if both are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening identifies a specific supplier-analysis task and enumerates wins, buyers, categories, competition when winning, win rate, and frequent competitors. Its supplier focus implicitly separates it from buyer_history, but it does not explicitly contrast itself with that or other siblings, so it falls just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this to size up a supplier, your user's own company or a competitor" gives clear use cases, while the identifier guidance and instruction to read median_bidders first support correct invocation and interpretation. It does not explain when not to use the tool or route buyer, tender-search, or market-analysis questions to a sibling.
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 tool update
- Added
prepare_quote
6 tool updates
- First observed
assess_fit - First observed
buyer_history - First observed
get_tender_detail - First observed
market_signals - First observed
search_tenders - First observed
supplier_history
Publisher details
- Operator
- Andes Protocol · Publisher source
- Operator website
- https://www.andesprotocol.com
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://www.andesprotocol.com/llms.txt
- Trust center
- Not available
- Restrictions
- Anonymous agents: search_tenders, get_tender_detail and one market_signals signal per call, 20 calls per IP per hour. All six tools (1,000 calls/day) require a free sign-in through AndesPass (OAuth 2.1 with Google) or a free AndesPass agent key. assess_fit is paid per call with x402 (0.02 USDC) on Base Sepolia testnet during the public beta; OAuth agents get 20 free calls a day. Data covers Chile (ChileCompra) only.
Related MCP Connectors
UK public procurement data for AI agents: tenders, contracts, buyer and supplier profiles.
Government tender search for AI agents. UK, EU and US procurement opportunities.
Chile Government Procurement MCP — Mercado Público / ChileCompra (keyless-ish).
EU public tenders for AI agents: open tenders, award history, competitors and bid intelligence.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI agents to query, filter, and audit Chilean government procurement processes by integrating with the Compra Ágil v2 and Purchase Orders APIs. Provides tools for searching tender opportunities, tracking high-value bids with zero bidders, and enriching purchase order details.2479 npm2MIT
- AlicenseAqualityDmaintenanceAllows AI assistants to query public procurement opportunities, purchase orders, and government entities from Chile's Mercado Público (ChileCompra) API in real time.61242 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables access to Chile's government procurement data (Mercado Público / ChileCompra) via MCP, allowing AI agents to query public procurement information.388 npmMIT
- AlicenseAqualityAmaintenanceConnects AI assistants and agents with the Dominican Republic's public procurement transactional portal and open data API, enabling searches of tenders, contracts, bids, and suppliers, plus legal threshold calculations, proposal drafting, scoring simulations, collusion auditing, and institutional scorecards.17MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.