kschoolinfo

Korean school meals with allergen flags, timetables, academic calendars, school info and academies

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_timetable' description lacks action verbin get_timetable

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,594Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (1.25% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "kschoolinfo": {
      "url": "https://kschoolinfo.com/api/mcp"
    }
  }
}

Remote endpoints

https://kschoolinfo.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒search_schools(name, region)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40,
      "description": "School name in Korean, e.g. '상계고등학ꡐ', '효자고', 'μ˜μ •λΆ€ 효자고'"
    },
    "region": {
      "description": "Province/metropolitan city to narrow results, e.g. 'μ„œμšΈνŠΉλ³„μ‹œ', '경기도'",
      "type": "string",
      "maxLength": 20
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_meals(eduCode, schoolCode, date, range, meal, ...)

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.

Input Schema

{
  "type": "object",
  "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'"
    },
    "date": {
      "description": "Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today.",
      "type": "string",
      "maxLength": 10
    },
    "range": {
      "description": "Instead of one day: this week (Mon–Fri), next week, or this month",
      "type": "string",
      "enum": [
        "week",
        "next_week",
        "month"
      ]
    },
    "meal": {
      "description": "Only this meal. Most schools serve lunch only.",
      "type": "string",
      "enum": [
        "breakfast",
        "lunch",
        "dinner"
      ]
    },
    "allergies": {
      "description": "Allergies to flag, in English or Korean, e.g. ['milk', 'peanut'] or ['우유', '땅콩']. 19 Korean standard allergens.",
      "maxItems": 19,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 20
      }
    }
  },
  "required": [
    "eduCode",
    "schoolCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_timetable(eduCode, schoolCode, grade, class_name, date)

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.

Input Schema

{
  "type": "object",
  "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'"
    },
    "grade": {
      "description": "Grade (school year), e.g. '2'",
      "type": "string",
      "pattern": "^\\d{1,2}$"
    },
    "class_name": {
      "description": "Class (반), e.g. '3'",
      "type": "string",
      "maxLength": 10
    },
    "date": {
      "description": "Date as YYYY-MM-DD or YYYYMMDD (Korea time). Omit for today.",
      "type": "string",
      "maxLength": 10
    }
  },
  "required": [
    "eduCode",
    "schoolCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_schedule(eduCode, schoolCode, from, to)

School academic calendar events (exams, vacations, holidays, field trips, ceremonies) between two dates. Defaults to the next 30 days.

Input Schema

{
  "type": "object",
  "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'"
    },
    "from": {
      "description": "Start date YYYY-MM-DD. Omit for today.",
      "type": "string",
      "maxLength": 10
    },
    "to": {
      "description": "End date YYYY-MM-DD. Omit for 30 days after the start.",
      "type": "string",
      "maxLength": 10
    }
  },
  "required": [
    "eduCode",
    "schoolCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒get_school_info(eduCode, schoolCode)

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.

Input Schema

{
  "type": "object",
  "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'"
    }
  },
  "required": [
    "eduCode",
    "schoolCode"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒search_academies(region, district, subject, name)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "description": "Province/metropolitan city, e.g. 'μ„œμšΈ', 'κ²½κΈ°', 'λΆ€μ‚°'"
    },
    "district": {
      "description": "City/district (μ‹œκ΅°κ΅¬) to narrow results, e.g. '강남ꡬ', 'μˆ˜μ›μ‹œ'. Strongly recommended.",
      "type": "string",
      "maxLength": 20
    },
    "subject": {
      "description": "Subject keyword in Korean, e.g. 'μˆ˜ν•™', 'μ˜μ–΄', 'ν”Όμ•„λ…Έ', 'μ½”λ”©'",
      "type": "string",
      "maxLength": 20
    },
    "name": {
      "description": "Part of the academy name",
      "type": "string",
      "maxLength": 30
    }
  },
  "required": [
    "region"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools