swissco
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZEFIX_USER | No | Zefix PublicREST username credential, issued by zefix@bj.admin.ch. Together with ZEFIX_PASSWORD, it adds capital, status, former names and corporate relations to swissco_lookup, and a name-prefix search to swissco_search. | |
| SWISSCO_STATE | No | Where gazette bodies and the two FINMA files are cached. Defaults to ~/.swissco. | |
| ZEFIX_PASSWORD | No | Zefix PublicREST password credential, issued by zefix@bj.admin.ch. Together with ZEFIX_USER, it adds capital, status, former names and corporate relations to swissco_lookup, and a name-prefix search to swissco_search. | |
| SWISSCO_INTERVAL | No | Seconds between requests. It can raise the floor of 0.5s and cannot lower it. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| swissco_lookupA | Everything the commercial register publishes about one company. One row:
|
| swissco_searchA | Companies whose name or statutory purpose contains term. Over LINDAS, each row carries The purpose is what makes this worth running. It is how a company
describes its own business to the register, so "hydrogen storage" finds
companies whose name mentions neither word. |
| swissco_publicationsA | Commercial-register publications from the Swiss Official Gazette of Commerce. Each row carries The event types are: INCORPORATION, BRANCH_CREATED, SEAT_MOVED, ADDRESS_CHANGED, NAME_CHANGED, PURPOSE_CHANGED, CAPITAL_INCREASED, MERGER, OFFICERS_CHANGED, LIQUIDATION, DELETED. The gazette publishes around a thousand commercial-register entries a day.
Every filter here is applied over the listed publications, because the
anonymous API ignores its own |
| swissco_eventsA | One company's registry events, each confirmed against the publication's own UID. Each row carries The gazette's list page carries a title and no UID, so the UID resolves to a legal name, the name selects candidate publications, and each candidate's body is fetched and kept only when its own UID matches. A publication carrying no UID is dropped. Bodies are cached under the state directory and keyed by publication id, so an overlapping second call over the same range costs almost nothing. |
| swissco_tendersA | Public-procurement projects published on simap. Each row carries 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 |
| swissco_vendorA | A company in simap's vendor directory, by UID or by name. A text query returns rows of A UID resolves to a legal name, searches the directory for it and keeps
only profiles whose own A company can bid without holding a directory profile, and a bidding consortium carries no UID at all, so an absent UID means only that no profile is filed under it. |
| swissco_finmaA | Institutions on FINMA's list of authorised banks and securities firms. Each row carries This one list covers banks and securities firms. Insurers, portfolio managers and fund management companies hold their authorisations on other FINMA lists, so a company absent here may still be supervised. FINMA also publishes some authorised institutions with no UID, which no UID lookup can reach. Both published files are cached under the state directory for a day, so the first call in a day is the slow one. |
| swissco_leiA | A company's Legal Entity Identifier and the group it is consolidated into. One row: With GLEIF Level 2 records accounting consolidation, so a parent here is the entity that consolidates this one into its accounts. That parent is frequently foreign, which is the case for reading it: the Swiss commercial register carries no entry for a Swiss company's owner abroad. About 28,000 Swiss entities hold an LEI against roughly 790,000 in the commercial register. An absent LEI is the normal case. |
| swissco_researchA | Federally funded research projects from ARAMIS, Innosuisse and SNSF money included. A text query returns rows of A UID searches ARAMIS for the company's name, then keeps only projects
carrying a participant whose own UID matches, and reports ARAMIS searches project titles, abstracts and the free-text contractor field, and indexes the structured participant list under none of them. A company named only as a structured partner cannot be found, which is where Innosuisse implementation partners usually sit. An empty result means no project mentions the company by name, and is not evidence that it took no federal research money. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool maps to a distinct data source or action (register lookup, register search, gazette feed, company events, tenders, vendor directory, FINMA, LEI, research). The only real overlap is between swissco_publications (general gazette stream) and swissco_events (gazette events for one company), but the descriptions clearly distinguish the two scopes.
All tools share the swissco_ prefix and snake_case formatting, giving a predictable namespace. The suffix mixes action words (lookup, search) with data-source nouns (finma, lei, tenders, research), a minor inconsistency but still readable and non-ambiguous.
Nine tools is well-scoped for a multi-source Swiss company-data aggregator. Each tool covers a genuinely distinct source, so none feels redundant or padded.
The surface covers identities (lookup/search), registry activity (publications/events), public money (tenders/research), and supervision (finma/lei/vendor) — a strong lifecycle view. Minor gaps exist (e.g. no way to filter by canton or list all results), but agents can work around these with the provided filters.