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
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
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_statsA | 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 data (menuCH-Kids). Use case: examine children's nutrient intake by age group against dietary recommendations. |
| 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
Each tool targets a distinct data source or operation (e.g., animal health stats, antibiotic usage, avian influenza, food control results, pesticide search). There is no overlap in purpose; even the two disease-related tools (blv_get_avian_influenza and blv_search_animal_diseases) differ in scope—wild bird surveillance vs. notifiable diseases. An agent can clearly select the correct tool.
All tools follow a consistent 'blv_{verb}_{noun}' pattern in snake_case. Verbs are predictable: 'get' for retrieving specific datasets/stats, 'list' for browsing available datasets, 'search' for querying registries. No mixing of styles or vague verbs.
With 11 tools, the server covers a broad spectrum of Swiss food safety data (animal health, food control, pesticides, nutrition, warnings) without being overwhelming. Each tool addresses a clear need, and the number feels well-scoped for the domain.
The tool set provides comprehensive coverage for the BLV's food safety and veterinary data: statistics, surveillance, inspections, warnings, and registry searches. Minor gaps exist (e.g., no tool for foodborne outbreak data or food contact materials), but core workflows like tracking recalls, comparing inspection results, and querying registries are fully supported.