search_opportunities

shallow

com.victano/victano · Verify this server

Hybrid keyword and semantic search across the corpus. Lithuanian queries work: viešieji pirkimai, skelbimas apie pirkimą. query optional — without one, order is soonest deadline. Works cross-language: the search is WIDENED with the buyer-language wording for the closest CPV categories, and the response carries `widened_search` saying which terms were added. Pass expand_languages=false to search exactly as typed. Results carry cpv_label/cpv_labels and nuts_names — use the labels with a person, not the raw codes. Returns ranked cards, not full records. Follow a promising card with get_opportunity, then read_document. Scope by country when you can: EU-wide costs ~10x one country. Filters: countries (ISO3 'LTU', or 'LT'), cpv (any prefix: '45', '452' or a full code), status ('open' by default; 'forthcoming' for calls not yet open, 43% of the grant corpus; 'any' adds expired), deadline_after / deadline_before (ISO dates), min_value / max_value (in EUR, converted from the buyer's currency; notices we cannot price in euros are excluded from a value filter rather than guessed at). Two filters are worth knowing about because no keyword tool has them: criteria_stated=true returns only notices whose SELECTION CRITERIA the buyer published, so you can answer 'may this company bid' rather than guess - about half of TED; and no_guarantee=true returns only notices that state no bid bond is required, which is cash a small company has to find before it can bid at all. NOTE on cpv and contract_nature: sources that publish neither (Lithuanian CVP notices, EU grant calls) are INCLUDED alongside those filters and ranked rather than dropped; pass cpv_strict=true or nature_strict=true to exclude them. Results that are lots of one procurement are collapsed into a single entry carrying `lots` and `lot_ids`; report those as one opportunity, not several. Cards are COMPACT by default: a field that repeats another is omitted (the original title when the English one contains it, the raw CPV codes beside their labels). Pass fields='full' for the raw codes or 600 characters of summary rather than 400 — neither is the whole text, and a cut one carries `summary_cut` saying so. Filters beyond the obvious: source ('ted', 'cvp', 'ft'), type ('tender' or 'grant' — use it when the user asks specifically for grant calls), contract_nature ('works', 'supplies', 'services'), lang, and exclude_results=true to drop award notices for things already decided. nuts narrows BELOW country level to a NUTS2 region ('DE30', 'LT01') — the granularity that decides whether a site is reachable, which country-level filtering cannot express. Not every notice publishes one, so a region filter excludes notices whose location is unstated. Call explore_slice first if you are unsure which values exist. RECALL DEPENDS ON THE LANGUAGE YOU ASK IN. Notices carry the buyer's own wording and no English translation of it: 99.6% of foreign-language notices have an English title that is only 'Country - sector - <the original title>'. Queries in the notice's language find their target 75% of the time against 25% for English ones (36 known-item probes, measured 2026-08-28). So TRANSLATE THE QUERY YOURSELF and pass the translations in `queries`, one per country in scope: queries=['<in Spanish>', '<in Italian>']. Keep `query` as the user typed it - phrasings are ADDED, not substituted, each fused as its own ranking. Translate the DISTINCTIVE TERMS, not the sentence: a native phrasing of common words measures WORSE than the English one. Send the trade term. This tool aims for RECALL rather than a tidy shortlist: expect candidates worth filtering, and do that filtering yourself. Every response carries a `coverage` block with matching_your_filters - how many notices the filters admit in total, all of which were ranked rather than sampled. Tell the user that number: ten results mean something different out of twelve than out of four hundred.

100.0/100

1 trials · measured 2 days ago

search_opportunities scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against com.victano/victano, measured 31 Aug 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote
Credential class
open
Category
Communication
Input schema
not declared
Output schema
not declared
Side-effect classification
unclassified

Score history

DayScoreTierMethodology
2026-08-31100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: search_opportunities
[![Vouch score](https://vouch.tools/api/tools/3d875a2c-975c-4823-a6a2-cb59d125e396/badge.svg)](https://vouch.tools/tools/3d875a2c-975c-4823-a6a2-cb59d125e396)
search_opportunities — Vouch