FELASA–AALAS recommendations provide a structured way to introduce fish colonies while protecting health status, staff safety and the reliability of research.
Standardised reflex observations can provide a rapid field measure of fish vitality after capture, provided the protocol is validated for the species and release context.
An experimental killed bacterial vaccine delivered in feed improved channel catfish survival after Aeromonas challenge, highlighting both the promise and constraints of oral boosters.
Research at the Tennessee Aquarium shows how flow, depth and substrate shape fish space use, turning microhabitat choice into evidence-based enrichment.
A US field study combines PFAS measurements in wild fish with tissue pathology and molecular responses, offering a practical model for integrated aquatic surveillance.
A new European framework highlights 11 practical indicators to monitor farmed fish welfare, detect early warning signs and improve daily decisions on farms.
{"list_services":{"title":"Vetofish services","description":"Vetofish public services: descriptions, use cases, deliverables and URLs in the requested language.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["fr","en"],"description":"Content language."}},"additionalProperties":false}},"list_upcoming_events":{"title":"Vetofish events","description":"Upcoming Vetofish events filtered by language, sector, type and dates. ‘no_matches’ is a complete answer; no fallback search is needed.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["fr","en"],"description":"Content language."},"sector":{"type":"string","enum":["aquacultures","aquariums-publics","recherche","environnement"],"description":"Vetofish sector."},"type":{"type":"string","minLength":1,"maxLength":80,"description":"Event type."},"from":{"type":"string","format":"date","description":"Earliest event date."},"to":{"type":"string","format":"date","description":"Latest event date."},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5,"description":"Maximum results."}},"additionalProperties":false}},"lookup_definition":{"title":"Vetofish definition","description":"Up to three Vetofish glossary definitions matching a French term, acronym or alias.","inputSchema":{"type":"object","properties":{"term":{"type":"string","minLength":1,"maxLength":120,"description":"French term, acronym, or alias."}},"required":["term"],"additionalProperties":false}},"get_veterinarian_profile":{"title":"Vetofish veterinarian profile","description":"Localized public professional profile of a Vetofish veterinarian: qualifications, expertise and identifiers.","inputSchema":{"type":"object","properties":{"veterinarian":{"type":"string","enum":["leguay","meunier"],"description":"Vetofish veterinarian."},"lang":{"type":"string","enum":["fr","en"],"description":"Profile language."}},"required":["veterinarian"],"additionalProperties":false}},"search_vetofish":{"title":"Search Vetofish","description":"Vetofish public content by keywords, language, type and sector: up to five results. Use responseFormat: page and offset to paginate. Partial sectors; French-only regulations and glossary. Request definitions explicitly for French fallback.","inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":160,"description":"Search words or phrase."},"lang":{"type":"string","enum":["fr","en"],"description":"Content language."},"types":{"type":"array","maxItems":9,"uniqueItems":true,"items":{"type":"string","enum":["faq","definition","news","event","service","sector","regulation","publication","veterinarian"]},"description":"Content types."},"sector":{"type":"string","enum":["aquacultures","aquariums-publics","recherche","environnement"],"description":"Vetofish sector."},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5,"description":"Maximum results."},"responseFormat":{"type":"string","enum":["list","page"],"default":"list","description":"Legacy array, or version 2 page with total and continuation metadata."},"offset":{"type":"integer","minimum":0,"maximum":1000000,"default":0,"description":"Zero-based offset; requires responseFormat: page."},"indexVersion":{"type":"string","minLength":64,"maxLength":64,"pattern":"^[a-f0-9]{64}$","description":"Version returned by the preceding page; rejects a changed index."}},"required":["query"],"additionalProperties":false}}}