swiss-food-safety-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLV_MCP_TIMEOUT | No | Timeout in seconds for outgoing requests. Default: 30 | 30 |
| BLV_MCP_HTTP_HOST | No | Host to bind HTTP server to. Default: 127.0.0.1 | 127.0.0.1 |
| BLV_MCP_HTTP_PORT | No | Port to bind HTTP server to. Default: 8002 | 8002 |
| BLV_MCP_OTEL_ENDPOINT | No | OpenTelemetry endpoint (optional). Requires otel extra. | |
| BLV_MCP_ALLOWED_ORIGINS | No | Comma-separated list of allowed origins for browser clients. Default: https://claude.ai | https://claude.ai |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| blv_get_public_warningsA | Current BLV food recalls and public health warnings (live RSS feed). Use case: answer questions about food safety alerts currently active in Switzerland, e.g. "which products have been recalled recently?". |
| blv_list_datasetsA | Browse all BLV open datasets on opendata.swiss (CKAN API). Use case: discover which datasets exist before drilling into one with blv_get_dataset_info, or to map a topic to a concrete dataset slug. |
| blv_get_dataset_infoA | Detailed metadata and resource URLs for a specific BLV dataset. Use case: obtain the concrete download URLs and formats of a dataset found via blv_list_datasets, including its open-data licence. |
| blv_search_animal_diseasesA | Search notifiable animal disease cases in Switzerland since 1991 (InfoSM). Use case: report on disease occurrence by canton and year, e.g. "were there avian influenza cases in Bern in 2024?". |
| blv_get_animal_health_statsB | Annual animal health statistics from BLV (opendata.swiss CSV/JSON). Use case: track year-over-year animal health indicators across Switzerland. |
| blv_get_food_control_resultsA | Cantonal food inspection results and violation rates (Lebensmittelkontrolle). Use case: compare inspection volumes and violation rates between cantons or across years. |
| blv_get_antibiotic_usage_vetA | Veterinary antibiotic usage data from the Swiss ISABV monitoring system. Use case: analyse antibiotic consumption trends by livestock species, e.g. for antimicrobial-resistance reporting. |
| blv_get_avian_influenzaA | Wild bird avian influenza (H5N1 / HPAI) surveillance data with geodata. Use case: locate and date wild-bird avian influenza detections, optionally narrowed to one canton. |
| blv_get_nutrition_data_childrenA | Swiss national children's nutrition survey — questionnaire tallies (menuCH-Kids). Use case: how often each answer was given, broken down by sex, language region and age group. NOT nutrient intake. The docstring here promised "nutrient intake by age
group against dietary recommendations" and named "Energie", "Zucker",
"Eisen" as filter examples. The only menuCH-Kids dataset published on
opendata.swiss is the questionnaire, and it carries answer counts:
Nutrient intake for adults exists as a separate dataset
( |
| blv_search_pesticide_productsA | Search the Swiss approved pesticide register (Pflanzenschutzmittelverzeichnis). Use case: check whether a plant-protection product or active ingredient is approved (or revoked) in Switzerland. |
| blv_get_meat_inspection_statsA | Slaughterhouse meat inspection statistics (Fleischuntersuchung). Use case: review slaughter counts and condemnation rates by animal type and year. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| prompt_food_safety_analysis | Generate a food safety analysis prompt for a given topic. |
| prompt_animal_disease_report | Generate an animal disease situation report for a canton. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_datasets_overview | Overview of all 28 BLV datasets on opendata.swiss. |
| resource_current_warnings | Current BLV public warnings and food recalls. |
TDQS
Scored across 11 tools
Most tools target distinct data sources and actions, but there is some overlap among animal-health tools (blv_search_animal_diseases, blv_get_animal_health_stats, blv_get_avian_influenza) that could lead to misselection. The descriptions help differentiate them, but avian influenza is a subset of notifiable diseases, creating a mild ambiguity.
All tools use a consistent blv_verb_noun pattern with snake_case and clear verbs (get, list, search). This makes the set predictable and easy to scan.
With 11 tools, the set is well-scoped for a national food safety data server. Each tool covers a distinct dataset or query type, and none appear redundant or trivial.
The tool surface broadly covers recalls, datasets, animal health, inspections, pesticides, and nutrition, but there is a notable gap: adult nutrient intake data exists separately yet is not covered. The children's nutrition tool also only returns questionnaire tallies, which may surprise agents expecting intake data.