school-record-validator-mcp
This server validates South Korean elementary school student records against the official 2026 Ministry of Education guidelines. It offers validation tools for single entries (validate_record_text) or batches of up to 100 entries (validate_record_batch), returning a status (pass, review, blocked, needs_context) along with detailed findings, recommendations, official citations, and length measurements. You can search the official guidance corpus (search_record_guidance) of 515 reviewed chunks to retrieve relevant regulations, and retrieve full source excerpts (get_source_excerpt) using chunk IDs, including heading paths and integrity hashes. The server also provides detailed rule explanations (explain_record_rule) by rule ID, lists all supported record fields (list_record_fields) with their byte/character limits and constraints, and displays active rule pack metadata (rule_pack_info) covering school level, academic year, official sources, and data hashes. Multiple validation profiles (official, official_plus_editorial) are supported, with optional provenance and context inputs for nuanced checks. The server works in both local (stdio) and remote (HTTP/SSE) modes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@school-record-validator-mcp2026 초등 학교생활기록부 행동특성 문안을 검증해 주세요."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
School Record Validator MCP
처음 오셨나요? 교사용 안내 홈페이지에서 프로젝트 소개, Remote MCP 연결 방법, 결과 읽는 법을 먼저 확인하세요.
AI 에이전트에 그대로 넣을 시스템 프롬프트는 교사용 시스템 프롬프트에서 복사할 수 있습니다.
2026학년도 초등학교 학교생활기록부 문안을 교사가 직접 올리면 통과·수정 권장·기재 불가로 판단해 주는 교육·실습용 MCP 서버입니다. AI는 기본 teacher 모드의 check_school_record 도구를 호출하고, 문제가 있을 때 공식 근거와 개선 방향을 설명합니다. 0.4.0부터는 외부 AI가 사실을 추가하지 않고 후보 수정문을 만든 뒤 같은 도구로 2차 검증할 수 있도록 rewritePlan을 함께 반환합니다.
이 프로젝트는 현직 교사 AI찬우쌤이 학교 현장의 AI 활용 실습과 교육 공공성에 기여하기 위해 만들었습니다. AI찬우쌤은 교육자를 위한 AI 활용 서비스 classddok.com을 운영하고 있습니다.
교육부가 제작·검수·승인한 공식 서비스가 아닙니다. 결과의pass는 현재 규칙팩에서 탐지된 항목이 없다는 뜻일 뿐, 교육부의 공식 승인·유권해석·법률 판단이나 학교 내부 결재를 대신하지 않습니다. 적용 시점의 최신 훈령, 기재요령과 학교 업무 기준을 최종 확인하세요.
결과 상태 읽는 법
교사가 가장 먼저 볼 상태는 세 가지입니다.
상태 | 의미 |
| 현재 규칙팩에서 금지 또는 수정 권장 표현이 탐지되지 않음 |
| 표현을 고치거나 실제 수행·근거를 교사가 확인해야 함 |
| 공식 금지 내용이 탐지되어 현재 표현 그대로 기재할 수 없음 |
pass도 교육부 공식 승인이나 자동 결재를 뜻하지 않습니다. 학생의 실제 수행, 교사의 관찰·평가, 최신 기재요령과 학교 업무 기준을 최종 확인하세요. 저수준 expert 도구에서 제공되는 needs_context는 작성 경위 확인용 호환 상태이며, 기본 teacher 도구는 문안만 입력해도 이를 위반이나 수정 사유로 승격하지 않습니다.
Related MCP server: GongMun Doctor MCP
check_school_record 입력 예시
{
"entries": [
{ "entryId": "record_1", "text": "빗면을 이용하면 필요한 힘이 줄어드는 까닭을 설명함." },
{ "entryId": "record_2", "text": "기후변화가 환경에 미치는 영향을 설명함." }
]
}무엇을 지원하나요?
규칙팩:
kr-moe-school-record-elementary-2026.1범위: 2026학년도 초등학교 전용
공식 자료: 교육부 문서 8개
검색 말뭉치: 고유 청크 515개 중 사람 검토를 거친 활성 청크 400개
근거 인용: 사람이 확인한 정확한 인용 12개
실행 방식: 로컬
stdioMCP와 URL 기반 Remote MCP원격 전송: Streamable HTTP
/mcp및 구형 SSE 호환/sse
중학교와 고등학교 기재요령은 v1의 검색과 판정에 포함하지 않습니다.
AI가 정말 직접 사용하나요?
네. MCP를 지원하는 AI 클라이언트에 서버를 등록하면 AI가 도구 목록을 읽고 교사 문안 점검 요청에 check_school_record를 호출합니다.
교사가 한 문장 또는 여러 문장을 입력합니다.
AI가
record_1,record_2값을entries배열로 변환합니다.AI가
check_school_record를 호출합니다.MCP가 문안별
pass,revise,prohibited와 공식 인용·개선 방향을 반환합니다.AI가 상태를 바꾸지 않고 교사가 읽기 쉬운 결과로 설명합니다.
모델이 항상 자율적으로 도구를 고른다고 보장할 수는 없습니다. 첫 사용에서는 “school-record-validator MCP를 반드시 사용해”라고 명시하면 확인하기 쉽습니다.
기본 도구
도구 | 역할 |
| 한 문장 또는 최대 100건을 교사용 세 상태로 점검하고, 문제별 이유·개선 방향·공식 인용을 반환 |
기본 teacher 모드에서는 이 도구 하나만 노출해 AI가 검색 도구를 잘못 선택하지 않도록 합니다. 규정 검색·원문·저수준 provenance 결과가 필요한 유지관리자와 개발자는 MCP_TOOLSET=expert를 사용하세요. expert 모드에서는 기존 validate_record_text, validate_record_batch, search_record_guidance, get_source_excerpt, explain_record_rule, list_record_fields, rule_pack_info도 함께 사용할 수 있습니다.
빠른 설치
요구 사항은 Node.js 22.18.0 이상입니다.
git clone https://github.com/ARTHONG1/-school-record-validator-mcp.git
cd school-record-validator-mcp
npm ci
npm run build
npm run test:e2eWindows PowerShell의 실행 정책 때문에 npm.ps1이 차단되면 npm 대신 npm.cmd를 사용하세요.
npm.cmd ci
npm.cmd run build
npm.cmd run test:e2e로컬 stdio MCP 등록
로컬 모드는 학생 문안을 컴퓨터 밖으로 전송하지 않습니다. MCP 설정의 경로를 실제 설치 위치로 바꾸세요.
{
"mcpServers": {
"school-record-validator": {
"command": "node",
"args": ["C:\\path\\to\\school-record-validator-mcp\\dist\\index.js"]
}
}
}Codex CLI를 사용할 수 있다면 다음과 같이 등록할 수 있습니다.
codex mcp add school-record-validator -- node "/absolute/path/school-record-validator-mcp/dist/index.js"
codex mcp get school-record-validator등록 후 AI 클라이언트를 완전히 종료했다가 다시 열고 새 대화에서 시험하세요.
Remote MCP 등록 화면
Google Cloud Run 등에 배포해 서비스 URL을 받은 뒤 다음 값을 입력합니다.
화면의 기본 선택이SSE일 수 있습니다. 새 연결은 HTTP를 직접 선택하고 URL 끝을 **/mcp**로 입력하는 방식을 권장합니다.
화면 입력칸 | 입력값 |
이름 |
|
URL |
|
Transport |
|
Headers | 비워 둠 ( |
설명 |
|
현재 공개 배포는 HTTP 전용이며 별도 인증 헤더가 필요하지 않습니다. SSE는 비활성화되어 있으므로 신규 연결에는 HTTP를 사용하세요.
공개 서버는 요청 횟수를 별도로 제한하지 않습니다. HTTP 본문은 최대 10MB, 문안은 건당 최대 200,000자, 배치는 최대 100건이며 Cloud Run 최대 인스턴스 1과 월 예산 알림으로 비용을 통제합니다.
상세 배포 절차는 Remote MCP와 Google Cloud Run 배포를 참고하세요.
Remote MCP 로컬 시험
npm.cmd run build
$env:PORT="8080"
$env:MCP_ENABLE_LEGACY_SSE="false"
npm.cmd run start:remote다른 터미널에서 상태를 확인합니다.
Invoke-RestMethod http://localhost:8080/healthRemote MCP 엔드포인트는 다음과 같습니다.
권장 HTTP:
http://localhost:8080/mcpSSE 호환:
http://localhost:8080/sse상태 확인:
http://localhost:8080/health(/healthz도 로컬에서 지원)
바로 써보는 요청문
학교생활기록부 검증기 MCP의 check_school_record 도구를 반드시 사용해서
다음 초등 과학 문장 3건을 검사해 줘.
각 문장에 대해 통과·수정 권장·기재 불가 중 하나를 제시하고,
문제가 있는 경우 이유·개선 방향·공식 근거를 설명해 줘.
추천 수정문을 만들 때 입력 문장에 없는 활동이나 성과를 추가하지 마.official 프로필은 교육부 공식 규칙만 실행합니다. official_plus_editorial은 공식 규칙에 항상, 완벽하게, 전교에서 가장, 가정 내 활동, 진로 단정 표현과 같은 자체 편집 경고를 추가합니다. editorial-caution은 교육부의 공식 금지 규정이 아닙니다.
개인정보와 보안
구분 | 로컬 stdio | Remote MCP |
문안 전송 | 사용자 PC 밖으로 전송하지 않음 | 인터넷을 통해 운영 서버로 전송 |
애플리케이션 저장 | 하지 않음 | 하지 않음 |
애플리케이션 본문 로그 | 남기지 않음 | 남기지 않음 |
추가 확인 | MCP 호스트의 대화 보관 정책 | MCP 호스트와 Cloud Run의 로그·보관 정책 |
교육·실습용 공개 서버에는 실제 학생의 이름, 학번, 연락처 등 식별정보를 입력하지 말고 가명·비식별 예시만 사용하세요. 실제 학교 업무에 원격 서버를 사용하려면 학교 개인정보 처리 기준과 적법한 처리 근거를 별도로 검토해야 합니다.
길이 검사
CRLF를 LF로 정규화한 뒤 UTF-8 바이트를 계산합니다. 한글은 일반적으로 3Byte, 영문·숫자·Enter는 1Byte입니다.
항목 | 한도 |
성명 | 60Byte |
주소 | 900Byte |
학적 특기사항 | 1,500Byte, 안내값 500자 |
출결 특기사항 | 1,500Byte, 안내값 500자 |
봉사활동 실적별 활동내용 | 150Byte, 안내값 50자 |
창체·일상생활·교과·행동특성 |
|
공식 자료와 출처
교육부 「2026 학교생활기록부 기재요령(초등학교)」, 「학교생활기록 작성 및 관리지침」 교육부훈령 제555호 및 별표 7~11을 사용했습니다. 문서별 제목, 날짜, URL, SHA-256과 가공 내역은 ATTRIBUTION.md와 원본 감사 기록에 있습니다.
코드는 MIT 라이선스입니다. 교육부 공식 문서 및 문서에서 추출·가공한 데이터는 코드의 MIT 라이선스에 자동 포함되지 않습니다. 배포·재사용 전 DATA_LICENSE.md와 원 게시물의 최신 공공누리·권리표시를 확인하세요.
검증 명령
npm ci
npm run typecheck
npm test
npm run build
npm run test:e2e
npm run verify:site
npm pack --dry-run공식 원본을 로컬에 보유한 유지관리자는 SCHOOL_RECORD_SOURCE_DIR을 지정해 해시와 추출 결과를 추가 검증할 수 있습니다.
$env:SCHOOL_RECORD_SOURCE_DIR="C:\path\to\official-sources"
npm.cmd run verify:sources
node --test tests/source-integration.test.ts문제 해결
AI가 도구를 찾지 못합니다
MCP 등록 후 AI 앱을 완전히 종료하고 다시 실행한 다음 새 대화를 여세요. 로컬 모드는 dist/index.js, Remote MCP HTTP는 /mcp URL을 사용해야 합니다.
codex 명령을 찾을 수 없습니다
Codex Desktop과 Codex CLI의 PATH 등록은 별개일 수 있습니다. 앱의 MCP 설정 화면을 사용하거나 Codex CLI 실행 파일의 절대 경로를 사용하세요.
Remote MCP가 404를 반환합니다
HTTP 선택 시 URL 끝이 /mcp, SSE 선택 시 /sse인지 확인하세요. SSE를 환경변수로 비활성화했다면 /sse는 제공되지 않습니다.
빌드 후에도 이전 동작이 보입니다
npm run build를 다시 실행하고 로컬 MCP 프로세스 또는 배포된 Cloud Run 리비전을 재시작하세요.
프로젝트 상태
이 저장소는 교육·실습용 오픈소스 프로젝트입니다. 현재 규칙팩의 적용 범위와 알려진 한계는 docs/limitations.md, 규칙별 감사 결과는 docs/rule-audit.md, 공식 자료 갱신 절차는 docs/source-update.md를 참고하세요.
Available Tools
7 toolsexplain_record_rule검증 규칙 설명A
검증 finding의 ruleId를 사용자에게 설명하기 전에 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| ruleId | Yes | |
| message | Yes | |
| profile | Yes | |
| evidence | Yes | |
| appliesTo | Yes | |
| disclaimer | No | |
| exceptions | Yes | |
| localPolicyId | No | |
| authorityClass | Yes | |
| recommendation | Yes | |
| detectorSummary | Yes | |
| possibleOutcomes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses that the result is not official/legal and that absence of input provenance prevents confirming observation details. This adds meaningful behavioral context beyond a simple lookup, though it does not explicitly state read-only or side-effect-free behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loaded with the purpose, followed by a caveat and a limitation. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema, the description covers the core purpose, usage timing, and a critical limitation about provenance. It is adequately complete, though it could further clarify what the tool returns if the output schema were not present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only mentions 'ruleId' in passing as part of a validation finding, without explaining its format, source, or how to obtain valid values. The description adds minimal semantic value beyond the parameter name itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is to be called before explaining a ruleId from a validation finding, clearly indicating its purpose. It distinguishes from sibling tools like validate_record_text and search_record_guidance by focusing on explaining a specific rule ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool ('before explaining to the user') and adds a caveat that the result is not official or legal. It does not explicitly mention alternatives, but the context implies it is for rule explanation rather than validation or search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_excerpt공식 원문 문맥 조회A
검색 결과의 원문 전체 문맥이 필요할 때 chunkId로 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
| chunkId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | |
| title | Yes | |
| chunkId | Yes | |
| locator | Yes | |
| sourceId | Yes | |
| authority | Yes | |
| sourceUrl | No | |
| textSha256 | Yes | |
| headingPath | Yes | |
| locatorLabel | Yes | |
| sourceSha256 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses two important behavioral caveats: the result is not official approval/legal judgment, and missing provenance prevents confirming observation and authorship. This goes beyond the schema and offers useful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no redundancy. It front-loads the purpose in the first sentence, followed by two concise caveats that earn their place. It is appropriately sized and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema present, the description covers purpose, usage condition, and key limitations. There are no significant gaps; return values are handled by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explicitly mentions chunkId and ties it to search results, adding meaning to the bare string type. It could explain where chunkId originates, but for a single parameter this is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieve the full original source context for a search result using a chunkId. It distinguishes from sibling tools by focusing on source text retrieval rather than validation, explanation, or field listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage condition: 'when full context of the original text from search results is needed.' It does not explicitly mention alternative tools or when not to use, but the context is specific enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_record_fields지원 생활기록부 항목 조회A
검증 전에 지원 항목명이나 2026 입력 한도를 확인할 때 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| fields | Yes | |
| rulePackId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that results are not official approval or legal judgment and notes the dependency on input provenance for confirming observation/writing context, adding valuable caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences: purpose first, followed by two caveats. No wasted words, every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description fully covers purpose, when to use, and inherent limitations. Nothing critical is missing for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter explanation is needed. The description's reference to field names and limits pertains to the output, not parameters, and the baseline for zero-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to check support field names and 2026 input limits before validation. This specific verb+resource pairing distinguishes it from sibling validation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to call 'before validation', providing clear context for when to use. Does not name alternatives or exclusions, but the timing clue effectively differentiates from validation and guidance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rule_pack_info활성 규칙팩 정보 조회A
현재 활성 학교급, 학년도, 출처 및 데이터 해시를 확인할 때 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| sources | Yes | |
| rulePackId | Yes | |
| schoolLevel | Yes | |
| academicYear | Yes | |
| effectiveFrom | Yes | |
| authorityOrder | Yes | |
| defaultProfile | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It adds valuable behavioral context: the result is not official/legal judgment, and without provenance the observation details cannot be confirmed. This informs the agent about limitations beyond what an output schema would show. Slightly deducting for not explicitly stating the return format, though the output schema is said to exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the call trigger and followed by important caveats. Every sentence earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter info tool with an output schema, the description is complete: it states the purpose, when to call, and key limitations. The caveats about official status and provenance add necessary context for the agent's decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (vacuously). Per the guidelines, a baseline of 4 applies because there are no parameter semantics to explain. The description does not need to add parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the currently active school level, school year, source, and data hash. The verb '확인' (check) plus the specific resource makes the purpose unambiguous and distinguishes it from sibling tools focused on validation, search, or explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to call it ('when checking...') and adds contextual caveats about the result not being official approval and the provenance limitation. It does not explicitly name alternatives or when not to use, but the sibling tool names imply different use cases, so context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_record_guidance생활기록부 기재요령 검색B
규정에 대한 일반 질문 또는 검증 결과에 없는 근거를 찾을 때 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| sourceIds | No | ||
| sourceRoles | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds important context about the output's non-authoritative status and the role of provenance in confirming observations. However, it does not describe search behavior (e.g., whether it searches all sources, ranking, or pagination), auth requirements, or side effects. The read-only nature is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no filler. It front-loads the primary use case, then adds necessary caveats about output authority and provenance limitations. Every sentence earns its place; the structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a output schema (which can explain return values), the description covers the main purpose and usage context. However, it leaves a major gap in explaining the advanced search parameters (sourceIds, sourceRoles), which are likely crucial for effective use. The caveats about provenance are helpful, but overall the description is not fully complete for a tool with 4 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for parameters, and the tool description does not compensate. The query parameter is obvious, but limit, sourceIds, and sourceRoles are completely unexplained. sourceRoles has an enum, but without explanation the agent cannot correctly choose values. The description adds zero value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it is called for general questions about regulations or to find grounds not present in verification results. It distinguishes itself from sibling tools like validate_record_text and explain_record_rule by focusing on searching guidance rather than validating or explaining. However, it does not explicitly name the resource (e.g., 'student records entry guidelines' from the title), instead using the broader term 'regulations'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit conditions for use: 'call when there are general questions about regulations' or 'when finding grounds not present in verification results.' It also clarifies limitations (not official/legal judgment, provenance dependency), which helps the agent decide when not to rely solely on this tool. It could be strengthened by explicitly mentioning when NOT to use it (e.g., for direct validation, use validate_record_text), but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_record_batch생활기록부 문안 일괄 검증B
독립된 여러 문안을 한 번에 검토할 때 호출하고 각 문안에 안정적인 entryId를 제공한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| entries | Yes | |
| rulePackId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that results are not official approval or legal judgment, and that missing provenance prevents confirming observation and writing background. These are useful caveats beyond the schema, but the actual validation behavior is not described. With no annotations, the description carries a heavy burden that is only partially met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the use case, followed by important caveats. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool's complexity (nested entries with many properties) demands more context. The description provides a basic use case and two caveats but omits the actual validation purpose, what rules are checked, and how to structure inputs correctly. This is insufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only highlights provenance as a critical factor but does not explain the entries array, entryId, field, text, or other parameters. Since the schema alone is complex, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool is for batch review of multiple independent texts, distinguishing it from sibling validate_record_text which presumably handles a single text. However, it emphasizes providing a stable entryId rather than explicitly stating the validation logic, making the core purpose slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use case: invoke when reviewing multiple independent texts at once. This gives context but does not explicitly mention alternatives or when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_record_text생활기록부 문안 검증B
생활기록부 문안을 검토, 교정 또는 작성하기 전에 먼저 호출한다. 이 결과는 공식 승인이나 법률 판단이 아님. 입력 provenance가 없으면 관찰 및 작성 경위를 확정할 수 없음.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| field | Yes | ||
| grade | No | ||
| profile | No | official | |
| curriculum | No | ||
| provenance | No | ||
| activityContext | No | ||
| volunteerContext | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| field | Yes | |
| status | Yes | |
| profile | Yes | |
| findings | Yes | |
| disclaimer | Yes | |
| rulePackId | Yes | |
| measurement | Yes | |
| lengthPolicy | Yes | |
| needsContext | Yes | |
| contentStatus | Yes | |
| contextStatus | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the result is not an official approval or legal judgment and that provenance absence blocks confirmation. But it does not cover other behavioral aspects such as read-only nature, output structure, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loading the key 'call first' directive and then adding a necessary caveat. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 8 parameters, nested objects, enums, and no annotations or schema descriptions, yet the description only provides timing and a caveat. It omits input semantics, examples, field categories, and relationships to sibling tools, leaving the agent under-equipped for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, and the description only mentions provenance as a limiting condition. It adds no semantic meaning for the required field/text parameters or nested activityContext/volunteerContext objects, so it fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly frames the tool as a required pre-check before reviewing, correcting, or writing a 생활기록부 narrative, and the title confirms '문안 검증'. It does not explicitly differentiate this tool from the sibling validate_record_batch, so it stops short of full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit timing guidance: call this before reviewing, correcting, or writing. It also provides a condition of use by warning that missing provenance prevents confirming observation/writing circumstances. However, it does not mention alternative tools or explicitly say when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.2.0- First observed
explain_record_rule - First observed
get_source_excerpt - First observed
list_record_fields - First observed
rule_pack_info - First observed
search_record_guidance - First observed
validate_record_batch - First observed
validate_record_text
TDQS
Each tool targets a distinct action: single validation, batch validation, searching guidance, retrieving source excerpts, explaining specific rules, listing fields, and rule pack info. The overlap between search_record_guidance and get_source_excerpt is clearly sequential (search then retrieve context).
Most tools follow a verb_noun pattern (validate_record_text, validate_record_batch, search_record_guidance, get_source_excerpt, explain_record_rule, list_record_fields). The exception is rule_pack_info, which uses a noun_noun pattern, but it's still understandable and consistent in style.
Seven tools is well within the ideal range for a domain-specific server. Each tool serves a clear purpose in the validation workflow, and there is no unnecessary redundancy.
The tool set covers the core lifecycle: validating single and batch records, searching and retrieving guidance, explaining findings, listing supported fields, and checking rule pack metadata. Minor gaps might include a tool for fetching raw validation reports or comparing rule packs, but the surface is generally complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Korean business record validation and workflow safety gates for AI agents.
Verify Korean legal citations against law.go.kr: precedents, statutes, bar-exam answers.
AI web novel co-writer: series, characters, episodes, and quality evaluation. Korean-first.
Curated Korean AEC expertise for AI agents — codes, practice, and the reasoning between them.
131
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides comprehensive text analysis capabilities including character counting, word statistics, character type analysis, and text length validation for Korean and English text. Supports AI agents in analyzing and validating text content with detailed statistics and Unicode support.-
- AlicenseNot gradedqualityDmaintenanceEnables secure local proofreading of Korean official documents (.hwpx/.hwp) using 3-layer AI correction for spelling, grammar, and official document style. Provides 50 administrative document templates for generating standardized official correspondence without cloud dependencies or API keys.23MIT
- FlicenseNot gradedqualityCmaintenanceAccurately counts characters, bytes, and manuscript paper based on Unicode grapheme clusters, and provides deterministic feedback to help AI meet exact length limits for self-introductions or school records.-
- AlicenseNot gradedqualityBmaintenanceMCP server enabling AI to search and retrieve Korean secondary school (middle/high) 2022 revised curriculum learning graphs, including achievement standards, topics, prerequisites, and transitions, via 11 tools.24314MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ARTHONG1/-school-record-validator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server