Food Compliance Agency — R638 COA & Hygiene Audits
South African R638 Certificate of Acceptability (COA) food safety compliance and audit tools.
使うべきか
品質と安全性
検出事項(9)
- HIGH
- LOWget_municipal_health_guidelines 内
- LOWget_food_handler_training_standards 内
- LOWcalculate_facility_hygiene_readiness 内
- LOWcheck_coa_requirements 内
- LOWget_municipal_health_guidelines 内
- LOWget_food_handler_training_standards 内
- LOWcalculate_facility_hygiene_readiness 内
- LOWrequest_compliance_audit 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"foodcompliance-mcp": {
"url": "https://foodcompliance.co.za/mcp"
}
}
}リモートエンドポイント
https://foodcompliance.co.za/mcpstreamable-httpできること
ツール一覧
ツール(5)
🟢check_coa_requirements(premises_type, municipality)
Evaluates Certificate of Acceptability (CoA) statutory requirements under Regulation R638 for a specific food premises category (restaurant, butchery, bakery, cloud kitchen, food truck, warehouse, packaging plant, mobile cart). When to use: Call this tool when you specifically need to execute 'check_coa_requirements' on Food Compliance Agency (foodcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_municipal_health_guidelines' or 'get_food_handler_training_standards' or 'calculate_facility_hygiene_readiness' for their respective operations). Parameters: premises_type (required), municipality (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
入力スキーマ
{
"type": "object",
"properties": {
"premises_type": {
"type": "string",
"enum": [
"restaurant_cafe",
"butchery",
"bakery",
"cloud_kitchen",
"food_truck",
"warehouse_distribution",
"food_manufacturing",
"mobile_cart"
],
"description": "Category of food establishment. [Required: non-empty valid value must be supplied]."
},
"municipality": {
"type": "string",
"enum": [
"City of Tshwane",
"City of Johannesburg",
"Ekurhuleni",
"City of Cape Town",
"Other"
],
"default": "City of Tshwane",
"description": "Governing municipal health jurisdiction. [Optional: omit to use server default filter]."
}
},
"required": [
"premises_type"
]
}🟢get_municipal_health_guidelines(municipality)
Returns Environmental Health Practitioner (EHP) inspection protocols, zoning prerequisites, and submission steps for South African metropolitan municipalities. When to use: Call this tool when you specifically need to execute 'get_municipal_health_guidelines' on Food Compliance Agency (foodcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'check_coa_requirements' or 'get_food_handler_training_standards' or 'calculate_facility_hygiene_readiness' for their respective operations). Parameters: municipality (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
入力スキーマ
{
"type": "object",
"properties": {
"municipality": {
"type": "string",
"enum": [
"City of Tshwane",
"City of Johannesburg",
"Ekurhuleni",
"City of Cape Town",
"all"
],
"default": "all",
"description": "Target municipal area. [Optional: omit to use server default filter]."
}
}
}🟢get_food_handler_training_standards(role)
Returns statutory training mandates under Regulation R638 Regulation 3, including syllabus prerequisites, certificate validity, and Person in Charge (PIC) obligations. When to use: Call this tool when you specifically need to execute 'get_food_handler_training_standards' on Food Compliance Agency (foodcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'check_coa_requirements' or 'get_municipal_health_guidelines' or 'calculate_facility_hygiene_readiness' for their respective operations). Parameters: role (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
入力スキーマ
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"person_in_charge",
"food_handler",
"all"
],
"default": "all",
"description": "Role or level of training. [Optional: omit to use server default filter]."
}
}
}🟢calculate_facility_hygiene_readiness(has_dedicated_handwash_basin, has_double_compartment_sink, has_separate_prep_sink, walls_impervious_tiled, floors_smooth_coved, ...)
Scores a commercial food facility's physical layout and structural preparedness against R638 audit requirements, identifying critical non-conformances. When to use: Call this tool when you specifically need to execute 'calculate_facility_hygiene_readiness' on Food Compliance Agency (foodcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'check_coa_requirements' or 'get_municipal_health_guidelines' or 'get_food_handler_training_standards' for their respective operations). Parameters: has_dedicated_handwash_basin (required), has_double_compartment_sink (required), has_separate_prep_sink (optional), walls_impervious_tiled (required), floors_smooth_coved (required), has_grease_trap (optional), pest_control_contract (optional), trained_person_in_charge (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
入力スキーマ
{
"type": "object",
"properties": {
"has_dedicated_handwash_basin": {
"type": "boolean",
"description": "Dedicated basin with liquid soap and disposable paper towels. [Required: non-empty valid value must be supplied]."
},
"has_double_compartment_sink": {
"type": "boolean",
"description": "Dual pot sink with hot water for sanitizing. [Required: non-empty valid value must be supplied]."
},
"has_separate_prep_sink": {
"type": "boolean",
"description": "Dedicated sink for vegetable or raw meat preparation. [Optional: omit to use server default filter]."
},
"walls_impervious_tiled": {
"type": "boolean",
"description": "Light-colored washable tiled or epoxy walls up to min 1.8m. [Required: non-empty valid value must be supplied]."
},
"floors_smooth_coved": {
"type": "boolean",
"description": "Impervious, non-slip flooring with coved rounded skirting. [Required: non-empty valid value must be supplied]."
},
"has_grease_trap": {
"type": "boolean",
"description": "Functional vented fat trap on wash basins. [Optional: omit to use server default filter]."
},
"pest_control_contract": {
"type": "boolean",
"description": "Active pest management service contract and bait stations. [Optional: omit to use server default filter]."
},
"trained_person_in_charge": {
"type": "boolean",
"description": "Certified PIC under Regulation R638. [Optional: omit to use server default filter]."
}
},
"required": [
"has_dedicated_handwash_basin",
"has_double_compartment_sink",
"walls_impervious_tiled",
"floors_smooth_coved"
]
}⚪request_compliance_audit(business_name, contact_person, email, phone, premises_type, ...)
Submits an on-site Certificate of Acceptability (CoA) pre-audit or municipal licensing inquiry directly to the Food Compliance Agency consulting desk. When to use: Call this tool when you specifically need to execute 'request_compliance_audit' on Food Compliance Agency (foodcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'check_coa_requirements' or 'get_municipal_health_guidelines' or 'get_food_handler_training_standards' for their respective operations). Parameters: business_name (required), contact_person (required), email (optional), phone (required), premises_type (required), location_city (required), urgent (optional). Behavior & Side Effects: Creates a live record/session in the backend database; no authentication required for public initiation; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
入力スキーマ
{
"type": "object",
"properties": {
"business_name": {
"type": "string",
"description": "Parameter 'business_name' (string). [Required: non-empty valid value must be supplied]."
},
"contact_person": {
"type": "string",
"description": "Parameter 'contact_person' (string). [Required: non-empty valid value must be supplied]."
},
"email": {
"type": "string",
"description": "Parameter 'email' (string). [Optional: omit to use server default filter]."
},
"phone": {
"type": "string",
"description": "Parameter 'phone' (string). [Required: non-empty valid value must be supplied]."
},
"premises_type": {
"type": "string",
"description": "Parameter 'premises_type' (string). [Required: non-empty valid value must be supplied]."
},
"location_city": {
"type": "string",
"description": "Parameter 'location_city' (string). [Required: non-empty valid value must be supplied]."
},
"urgent": {
"type": "boolean",
"default": false,
"description": "Parameter 'urgent' (boolean). [Optional: omit to use server default filter]."
}
},
"required": [
"business_name",
"contact_person",
"phone",
"premises_type",
"location_city"
]
}コミュニティ
エビデンス