Korean school meals with allergen flags, timetables, academic calendars, school info and academies
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
School meal menu (breakfast/lunch/dinner) for a day, this week, next week or this month, with calories, macronutrients and allergens per dish. Pass the user's allergies to flag dishes that contain them. No meals on weekends and school holidays.
Office of education code from search_schools, e.g. 'B10'
School code from search_schools, e.g. '7010082'
Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today.
Only this meal. Most schools serve lunch only.
Instead of one day: this week (Mon–Fri), next week, or this month
Allergies to flag, in English or Korean, e.g. ['milk', 'peanut'] or ['우유', '땅콩']. 19 Korean standard allergens.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http kschoolinfo https://kschoolinfo.com/api/mcp
School meal menu (breakfast/lunch/dinner) for a day, this week, next week or this month, with calories, macronutrients and allergens per dish. Pass the user's allergies to flag dishes that contain them. No meals on weekends and school holidays.
| Argument | Type | Description |
|---|---|---|
| date | string | Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today. |
| meal | string | Only this meal. Most schools serve lunch only. |
| range | string | Instead of one day: this week (Mon–Fri), next week, or this month |
| eduCode* | string | Office of education code from search_schools, e.g. 'B10' |
| allergies | array | Allergies to flag, in English or Korean, e.g. ['milk', 'peanut'] or ['우유', '땅콩']. 19 Korean standard allergens. |
| schoolCode* | string | School code from search_schools, e.g. '7010082' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eduCode",
"schoolCode"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today."
},
"meal": {
"enum": [
"breakfast",
"lunch",
"dinner"
],
"type": "string",
"description": "Only this meal. Most schools serve lunch only."
},
"range": {
"enum": [
"week",
"next_week",
"month"
],
"type": "string",
"description": "Instead of one day: this week (Mon–Fri), next week, or this month"
},
"eduCode": {
"type": "string",
"pattern": "^[A-Z]\\d{2}$",
"description": "Office of education code from search_schools, e.g. 'B10'"
},
"allergies": {
"type": "array",
"items": {
"type": "string",
"maxLength": 20
},
"maxItems": 19,
"description": "Allergies to flag, in English or Korean, e.g. ['milk', 'peanut'] or ['우유', '땅콩']. 19 Korean standard allergens."
},
"schoolCode": {
"type": "string",
"pattern": "^\\d{4,12}$",
"description": "School code from search_schools, e.g. '7010082'"
}
}
}School academic calendar events (exams, vacations, holidays, field trips, ceremonies) between two dates. Defaults to the next 30 days.
| Argument | Type | Description |
|---|---|---|
| to | string | End date YYYY-MM-DD. Omit for 30 days after the start. |
| from | string | Start date YYYY-MM-DD. Omit for today. |
| eduCode* | string | Office of education code from search_schools, e.g. 'B10' |
| schoolCode* | string | School code from search_schools, e.g. '7010082' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eduCode",
"schoolCode"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "End date YYYY-MM-DD. Omit for 30 days after the start."
},
"from": {
"type": "string",
"maxLength": 10,
"description": "Start date YYYY-MM-DD. Omit for today."
},
"eduCode": {
"type": "string",
"pattern": "^[A-Z]\\d{2}$",
"description": "Office of education code from search_schools, e.g. 'B10'"
},
"schoolCode": {
"type": "string",
"pattern": "^\\d{4,12}$",
"description": "School code from search_schools, e.g. '7010082'"
}
}
}Basic school information: Korean and English name, type, address, phone, fax, homepage, founding date, public/private, coeducational or not, and the supervising office of education. For high schools, also departments/tracks.
| Argument | Type | Description |
|---|---|---|
| eduCode* | string | Office of education code from search_schools, e.g. 'B10' |
| schoolCode* | string | School code from search_schools, e.g. '7010082' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eduCode",
"schoolCode"
],
"properties": {
"eduCode": {
"type": "string",
"pattern": "^[A-Z]\\d{2}$",
"description": "Office of education code from search_schools, e.g. 'B10'"
},
"schoolCode": {
"type": "string",
"pattern": "^\\d{4,12}$",
"description": "School code from search_schools, e.g. '7010082'"
}
}
}Class timetable (period and subject) for a school, grade and class on a given day. Without grade/class it returns every class, so pass them when known.
| Argument | Type | Description |
|---|---|---|
| date | string | Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today. |
| grade | string | Grade (school year), e.g. '2' |
| eduCode* | string | Office of education code from search_schools, e.g. 'B10' |
| class_name | string | Class (반), e.g. '3' |
| schoolCode* | string | School code from search_schools, e.g. '7010082' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eduCode",
"schoolCode"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today."
},
"grade": {
"type": "string",
"pattern": "^\\d{1,2}$",
"description": "Grade (school year), e.g. '2'"
},
"eduCode": {
"type": "string",
"pattern": "^[A-Z]\\d{2}$",
"description": "Office of education code from search_schools, e.g. 'B10'"
},
"class_name": {
"type": "string",
"maxLength": 10,
"description": "Class (반), e.g. '3'"
},
"schoolCode": {
"type": "string",
"pattern": "^\\d{4,12}$",
"description": "School code from search_schools, e.g. '7010082'"
}
}
}Registered private academies (hagwon) and tutoring centers in a South Korean district, filtered by subject keyword, from the offices of education's registration data. Returns up to 15 with field, courses, address and phone. Data in Korean.
| Argument | Type | Description |
|---|---|---|
| name | string | Part of the academy name |
| region* | string | Province/metropolitan city, e.g. '서울', '경기', '부산' |
| subject | string | Subject keyword in Korean, e.g. '수학', '영어', '피아노', '코딩' |
| district | string | City/district (시군구) to narrow results, e.g. '강남구', '수원시'. Strongly recommended. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"region"
],
"properties": {
"name": {
"type": "string",
"maxLength": 30,
"description": "Part of the academy name"
},
"region": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Province/metropolitan city, e.g. '서울', '경기', '부산'"
},
"subject": {
"type": "string",
"maxLength": 20,
"description": "Subject keyword in Korean, e.g. '수학', '영어', '피아노', '코딩'"
},
"district": {
"type": "string",
"maxLength": 20,
"description": "City/district (시군구) to narrow results, e.g. '강남구', '수원시'. Strongly recommended."
}
}
}Find South Korean elementary, middle and high schools by name (Korean, partial names work: '상계고', '서울 대치초'). Returns eduCode and schoolCode needed by the other tools, plus school type, province and address.
| Argument | Type | Description |
|---|---|---|
| name* | string | School name in Korean, e.g. '상계고등학교', '효자고', '의정부 효자고' |
| region | string | Province/metropolitan city to narrow results, e.g. '서울특별시', '경기도' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "School name in Korean, e.g. '상계고등학교', '효자고', '의정부 효자고'"
},
"region": {
"type": "string",
"maxLength": 20,
"description": "Province/metropolitan city to narrow results, e.g. '서울특별시', '경기도'"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.