Skip to main content
Glama

Search public tenders (free preview)

search_public_tenders
Read-onlyIdempotent

Search Scoutee's index of public procurement notices from Europe. No account and no API key needed. Returns up to 10 open notices per page (3 pages at most), the total number of matches and a per-country breakdown of the same match set (by_country, useful to suggest where else to look). Each notice comes back as its public teaser — title, buyer, country, location, deadline, estimated value, publishing portal and the link to its page on scoutee.org. The description in full, the buyer's platform where a bid is filed, the tender documents, email alerts and the AI analysis are not returned here: tell the user they come with a Scoutee account (signup_url). Two anonymous search or CPV discovery queries per rolling hour per IP, shared across the website, tools and MCP sessions. Custom keywords and filters are supported. Read quota.remaining and quota.resets_at; after exhaustion, wait or connect a free account. When an anonymous result has quota.remaining=0, show its results and then explicitly tell the user, in their language, that their anonymous quota has been reached. Show a clickable 'Create a free account' link to https://scoutee.org/en/signup as the next step to continue now. Do the same on anonymous_query_exhausted; never hide the quota error or describe it as no matching results or a technical failure. Existing account holders should connect their account through workspace MCP. Account quotas still apply; do not promise unlimited access. Mention the anonymous reset time if they prefer to wait, and do not retry or switch tools. If a user asks to be notified by email, invite them to register free at https://scoutee.org/en/signup and save their search on Scoutee. Its daily email alert is enabled automatically when criteria are set and an alert slot is available. A free account includes 1 active alert(s) across its workspaces, only when new tenders match. Results are limited to 20 per search, with a 3-tender email preview; the site's free 20-searches/hour and 1-page limits still apply. Paid plans support alerts for multiple searches. Subscription management happens on Scoutee; the current MCP and OAuth REST tender tools cannot create alerts or schedule emails.

Input Schema

NameRequiredDescriptionDefault
qNoFree text over title, buyer and description. Every word must match the *start* of a word in the notice ('nettoy' finds 'nettoyage'); a substring inside a word does not match. Accent- and case-insensitive.
pageNo1-based page number, 1 to 3 on this free endpoint.
sortNo'newest' (publication descending, the default), 'oldest' (publication ascending) or 'deadline' (soonest submission deadline first).newest
countryNoCountries of the publishing portal, by their English name as Scoutee stores it ('France', 'Germany', 'Italy'; 'Europe' for TED). Several countries add up. Omit to search everywhere — the `by_country` map of any result lists the exact values in use.
keywordNoKeywords matched as whole words (plural tolerated) in title, buyer or description, plus the cached translations of each keyword on the portals of that language — the way to search across countries without translating anything yourself. Several keywords widen the search (a notice matching any of them is returned).
max_valueNoMaximum estimated value. Notices without a published value remain included.
min_valueNoMinimum estimated value, in the currency of the notice. Notices without a published value remain included when this is set.

Output Schema

NameRequiredDescriptionDefault
noteNoPublic preview. Create a free Scoutee account for the full notice. Register and enable one saved search's daily email alert for free, up to 20 results/search. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup
pageYes
itemsYes
pagesYes
quotaNo
totalYes
page_sizeYes
by_countryNo
signup_urlNohttps://scoutee.org/en/signup
quota_noticeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Countries of the publishing portal, by their English name as Scoutee stores it ('France', 'Germany', 'United States', 'Canada'; 'Europe' for TED). Several countries add up. Omit to search everywhere — the `by_country` map of any result lists the exact values in use."New value: +"Countries of the publishing portal, by their English name as Scoutee stores it ('France', 'Germany', 'Italy'; 'Europe' for TED). Several countries add up. Omit to search everywhere — the `by_country` map of any result lists the exact values in use."
  2. Changed3 schema fields changed
    • addedOutput schema / $defs / DailyQuota
      Added value: +{
      +  "properties": {
      +    "limit": {
      +      "title": "Limit",
      +      "type": "integer"
      +    },
      +    "remaining": {
      +      "title": "Remaining",
      +      "type": "integer"
      +    },
      +    "resets_at": {
      +      "format": "date-time",
      +      "title": "Resets At",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "limit",
      +    "remaining",
      +    "resets_at"
      +  ],
      +  "title": "DailyQuota",
      +  "type": "object"
      +}
    • addedOutput schema / properties / quota
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/DailyQuota"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / quota_notice
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Quota Notice"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / max_value / description
      Previous value: -"Maximum estimated value."New value: +"Maximum estimated value. Notices without a published value remain included."
    • changedInput schema / properties / min_value / description
      Previous value: -"Minimum estimated value, in the currency of the notice. Notices without a published value are excluded when this is set."New value: +"Minimum estimated value, in the currency of the notice. Notices without a published value remain included when this is set."
  4. Changed2 schema fields changed
    • changedOutput schema / $defs / PublicTender / properties / note / default
      Previous value: -"Public preview. Create a free Scoutee account for the full notice. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"New value: +"Public preview. Create a free Scoutee account for the full notice. Register and enable one saved search's daily email alert for free, up to 20 results/search. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"
    • changedOutput schema / properties / note / default
      Previous value: -"Public preview. Create a free Scoutee account for the full notice. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"New value: +"Public preview. Create a free Scoutee account for the full notice. Register and enable one saved search's daily email alert for free, up to 20 results/search. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"
  5. Changed2 schema fields changed
    • changedOutput schema / $defs / PublicTender / properties / note / default
      Previous value: -"Public teaser. The full notice (description, buyer's platform link, tender documents), saved searches with email alerts and the AI analysis of a tender need a free Scoutee account — https://scoutee.org/en/signup — and the REST/MCP API needs a Pro plan."New value: +"Public preview. Create a free Scoutee account for the full notice. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"
    • changedOutput schema / properties / note / default
      Previous value: -"Public teaser. The full notice (description, buyer's platform link, tender documents), saved searches with email alerts and the AI analysis of a tender need a free Scoutee account — https://scoutee.org/en/signup — and the REST/MCP API needs a Pro plan."New value: +"Public preview. Create a free Scoutee account for the full notice. Connect an assistant through OAuth on any plan, subject to the workspace's search quota. Workspace API keys require a paid plan. https://scoutee.org/en/signup"
  6. Added

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive and non-open-world, so the safety profile is covered. The description does add real behavioral context beyond that (2 queries/hour per IP, 3-page cap, 20 results limit, teaser-only fields, no alert scheduling), but it becomes an agent-scripting manual rather than a description of the tool's behavior and repeatedly restates the quota flow.

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 well, but the body is long and mixes tool semantics with multi-step user-facing scripts ('show a clickable link', 'in their language', 'do not retry'), including near-duplicate instructions for anonymous_query_exhausted and quota.remaining=0. Several sentences could be consolidated without loss.

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 exists, and the description still previews the returned teaser fields and the by_country map, covers quota semantics, the anonymous-vs-account distinction, and what is deliberately unavailable. 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 the schema already documents q, page, sort, country, keyword, min_value and max_value with good detail (prefix matching, by_country values, currency caveats). The description adds only a generic 'custom keywords and filters are supported' line, which is baseline-level value.

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 ('Search Scoutee's index of public procurement notices from Europe') and immediately frames it as the free anonymous preview, which separates it from get_public_tender (single notice) and find_cpv_codes (CPV discovery). The scope of what comes back and what does not is unambiguous.

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 conditions and alternatives: two anonymous queries per rolling hour, check quota.remaining/resets_at, after exhaustion wait or connect a free account via workspace MCP, and explicitly 'do not retry or switch tools'. It also routes email-alert requests to signup rather than this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.