Skip to main content
Glama

swissco_tenders

Read-onlyIdempotent

Search Swiss public procurement projects from simap. Filter by canton, publication type, and date range.

Instructions

Public-procurement projects published on simap.

Each row carries title, project_number, buyer, canton, city, project_type, process_type, publication_date, publication_type, project_id and publication_id.

The publication types are: abandonment, advance_notice, award, competition, direct_award, participant_selection, request_for_information, revocation, selective_offering_phase, study_contract, tender.

The date matches each project's newest publication, whichever type that publication is, and pub_types is what narrows it to awards. The supplier named on an award carries no UID, so this lists projects and buyers. Use swissco_vendor for whether a given company is in simap's vendor directory.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoPreferred language for the title and buyer: de, fr, it or en. Defaults to de, then fr, it, en.
limitNoMaximum rows.
sinceNoFirst publication date, YYYY-MM-DD. Defaults to a week ago.
untilNoLast publication date, YYYY-MM-DD. Defaults to today.
cantonsNoCanton codes to keep, e.g. ['ZH', 'ZG'].
pub_typesNoPublication types to keep, e.g. ['tender', 'award'].

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
countYes
notesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4/5.0
Behavior4/5

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

Beyond the readOnly/openWorld/idempotent annotations, it discloses real behavior: the date filter matches each project's newest publication of any type, and that suppliers named on awards carry no UID so the tool returns projects and buyers only. It omits ordering, pagination, and rate-limit behavior, but the annotations already cover the safety profile.

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 tool's purpose, then structured into field list, vocabulary, and semantics. The 11-field enumeration is partly redundant given an output schema exists, but the publication-type list is not available elsewhere in structured form, so most sentences 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?

With an output schema, full parameter descriptions, and annotations present, the description only needed to add behavioral nuance — which it does via the newest-publication date semantics and the award/vendor caveats. Ordering and pagination behavior remain unspecified, a minor gap for a list 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, and the description adds genuine meaning on top: it explains that since/until bind to the newest publication date per project and that pub_types is the lever for narrowing to awards. It even supplies the publication-type vocabulary that the schema leaves as a free string.

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 names the concrete resource (public-procurement projects from simap) and enumerates the row fields it returns, so the agent knows exactly what it gets. It explicitly carves out a boundary against swissco_vendor, though it does not distinguish itself from possibly-overlapping siblings like swissco_publications or swissco_search.

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 one explicit routing rule — use swissco_vendor to check whether a company is in simap's vendor directory — plus the condition that pub_types narrows results to awards. There is clear context but no broader when-not-to-use guidance relative to other simap-related siblings.

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