kschoolinfo MCP
A free, read-only remote MCP server for South Korean school data from NEIS. It allows agents to search schools, retrieve meal menus with allergen flags, get timetables, access academic calendars, fetch school info, and search for private academies.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://kschoolinfo.com/api/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for schools by name to get codes
- Retrieve daily or weekly meal menus with allergen info
- Get class timetables for specific grades and classes
- Find private academies by district and subject
Source and maintenance
Protocol and capabilities
- Server
- kschoolinfo 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
search_schools — Search Korean schools
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.
{
"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. '서울특별시', '경기도'"
}
}
}{
"title": "Search Korean schools",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_meals — School meal menu
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.
{
"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'"
}
}
}{
"title": "School meal menu",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_timetable — Class timetable
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.
{
"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'"
}
}
}{
"title": "Class timetable",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_schedule — Academic calendar
School academic calendar events (exams, vacations, holidays, field trips, ceremonies) between two dates. Defaults to the next 30 days.
{
"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'"
}
}
}{
"title": "Academic calendar",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_school_info — School basic info
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.
{
"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'"
}
}
}{
"title": "School basic info",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_academies — Private academies (hagwon) by district
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.
{
"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."
}
}
}{
"title": "Private academies (hagwon) by district",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 727 ms
- 95th percentile latency
- 727 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 727 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http kschoolinfo-mcp https://kschoolinfo.com/api/mcpCodex
codex mcp add kschoolinfo-mcp --url https://kschoolinfo.com/api/mcpCursor
{
"mcpServers": {
"kschoolinfo-mcp": {
"url": "https://kschoolinfo.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"kschoolinfo-mcp": {
"type": "streamableHttp",
"url": "https://kschoolinfo.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"kschoolinfo-mcp": {
"type": "http",
"url": "https://kschoolinfo.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http kschoolinfo-mcp https://kschoolinfo.com/api/mcpClaude Desktop
https://kschoolinfo.com/api/mcpWindsurf
{
"mcpServers": {
"kschoolinfo-mcp": {
"serverUrl": "https://kschoolinfo.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like kschoolinfo MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.