easyread-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +41 -0
  3. package/assets/dictionary.json +118 -0
  4. package/assets/resources.json +1149 -0
  5. package/dist/data/dictionary.js +61 -0
  6. package/dist/data/dictionary.js.map +1 -0
  7. package/dist/data/guidelines.js +63 -0
  8. package/dist/data/guidelines.js.map +1 -0
  9. package/dist/data/resources.js +76 -0
  10. package/dist/data/resources.js.map +1 -0
  11. package/dist/index.js +26 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/messages.js +9 -0
  14. package/dist/messages.js.map +1 -0
  15. package/dist/prompts/review.js +30 -0
  16. package/dist/prompts/review.js.map +1 -0
  17. package/dist/prompts/simplify.js +40 -0
  18. package/dist/prompts/simplify.js.map +1 -0
  19. package/dist/rules/acc/acc-01.js +28 -0
  20. package/dist/rules/acc/acc-01.js.map +1 -0
  21. package/dist/rules/acc/acc-02.js +28 -0
  22. package/dist/rules/acc/acc-02.js.map +1 -0
  23. package/dist/rules/acc/acc-03.js +28 -0
  24. package/dist/rules/acc/acc-03.js.map +1 -0
  25. package/dist/rules/acc/acc-04.js +28 -0
  26. package/dist/rules/acc/acc-04.js.map +1 -0
  27. package/dist/rules/acc/index.js +8 -0
  28. package/dist/rules/acc/index.js.map +1 -0
  29. package/dist/rules/config.js +20 -0
  30. package/dist/rules/config.js.map +1 -0
  31. package/dist/rules/engine.js +49 -0
  32. package/dist/rules/engine.js.map +1 -0
  33. package/dist/rules/index.js +11 -0
  34. package/dist/rules/index.js.map +1 -0
  35. package/dist/rules/num/index.js +8 -0
  36. package/dist/rules/num/index.js.map +1 -0
  37. package/dist/rules/num/num-01.js +27 -0
  38. package/dist/rules/num/num-01.js.map +1 -0
  39. package/dist/rules/num/num-02.js +21 -0
  40. package/dist/rules/num/num-02.js.map +1 -0
  41. package/dist/rules/num/num-03.js +24 -0
  42. package/dist/rules/num/num-03.js.map +1 -0
  43. package/dist/rules/num/num-04.js +21 -0
  44. package/dist/rules/num/num-04.js.map +1 -0
  45. package/dist/rules/registry.js +30 -0
  46. package/dist/rules/registry.js.map +1 -0
  47. package/dist/rules/report.js +69 -0
  48. package/dist/rules/report.js.map +1 -0
  49. package/dist/rules/sen/index.js +10 -0
  50. package/dist/rules/sen/index.js.map +1 -0
  51. package/dist/rules/sen/sen-01.js +33 -0
  52. package/dist/rules/sen/sen-01.js.map +1 -0
  53. package/dist/rules/sen/sen-02.js +40 -0
  54. package/dist/rules/sen/sen-02.js.map +1 -0
  55. package/dist/rules/sen/sen-03.js +33 -0
  56. package/dist/rules/sen/sen-03.js.map +1 -0
  57. package/dist/rules/sen/sen-04.js +31 -0
  58. package/dist/rules/sen/sen-04.js.map +1 -0
  59. package/dist/rules/sen/sen-05.js +27 -0
  60. package/dist/rules/sen/sen-05.js.map +1 -0
  61. package/dist/rules/sen/sen-07.js +58 -0
  62. package/dist/rules/sen/sen-07.js.map +1 -0
  63. package/dist/rules/str/index.js +9 -0
  64. package/dist/rules/str/index.js.map +1 -0
  65. package/dist/rules/str/str-02.js +22 -0
  66. package/dist/rules/str/str-02.js.map +1 -0
  67. package/dist/rules/str/str-03.js +24 -0
  68. package/dist/rules/str/str-03.js.map +1 -0
  69. package/dist/rules/typ/index.js +7 -0
  70. package/dist/rules/typ/index.js.map +1 -0
  71. package/dist/rules/typ/typ-01.js +21 -0
  72. package/dist/rules/typ/typ-01.js.map +1 -0
  73. package/dist/rules/typ/typ-02.js +23 -0
  74. package/dist/rules/typ/typ-02.js.map +1 -0
  75. package/dist/rules/typ/typ-03.js +28 -0
  76. package/dist/rules/typ/typ-03.js.map +1 -0
  77. package/dist/rules/types.js +2 -0
  78. package/dist/rules/types.js.map +1 -0
  79. package/dist/rules/voc/index.js +10 -0
  80. package/dist/rules/voc/index.js.map +1 -0
  81. package/dist/rules/voc/voc-01.js +27 -0
  82. package/dist/rules/voc/voc-01.js.map +1 -0
  83. package/dist/rules/voc/voc-02.js +38 -0
  84. package/dist/rules/voc/voc-02.js.map +1 -0
  85. package/dist/rules/voc/voc-03.js +30 -0
  86. package/dist/rules/voc/voc-03.js.map +1 -0
  87. package/dist/rules/voc/voc-04.js +26 -0
  88. package/dist/rules/voc/voc-04.js.map +1 -0
  89. package/dist/rules/voc/voc-05.js +34 -0
  90. package/dist/rules/voc/voc-05.js.map +1 -0
  91. package/dist/rules/voc/voc-06.js +36 -0
  92. package/dist/rules/voc/voc-06.js.map +1 -0
  93. package/dist/server.js +49 -0
  94. package/dist/server.js.map +1 -0
  95. package/dist/text/extractors.js +40 -0
  96. package/dist/text/extractors.js.map +1 -0
  97. package/dist/text/index.js +38 -0
  98. package/dist/text/index.js.map +1 -0
  99. package/dist/text/paragraphs.js +28 -0
  100. package/dist/text/paragraphs.js.map +1 -0
  101. package/dist/text/sentences.js +117 -0
  102. package/dist/text/sentences.js.map +1 -0
  103. package/dist/text/spans.js +9 -0
  104. package/dist/text/spans.js.map +1 -0
  105. package/dist/text/types.js +6 -0
  106. package/dist/text/types.js.map +1 -0
  107. package/dist/text/words.js +20 -0
  108. package/dist/text/words.js.map +1 -0
  109. package/dist/tools/analyze.js +73 -0
  110. package/dist/tools/analyze.js.map +1 -0
  111. package/dist/tools/guidelines.js +55 -0
  112. package/dist/tools/guidelines.js.map +1 -0
  113. package/dist/tools/lookup.js +79 -0
  114. package/dist/tools/lookup.js.map +1 -0
  115. package/dist/tools/validate.js +79 -0
  116. package/dist/tools/validate.js.map +1 -0
  117. package/package.json +65 -0
package/LICENSE ADDED
@@ -0,0 +1,29 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 EASYREAD contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ 번들 데이터 출처 고지 (NFR-04):
26
+ assets/dictionary.json·assets/resources.json은 공개 지침·표준·사례를 정리한
27
+ 데이터이며, 각 항목의 출처(source·url)를 데이터 안에 함께 보존한다. 데이터의
28
+ 원 저작권은 각 출처 기관에 있으며, 본 저장소는 참조·검증 목적의 메타데이터로
29
+ 수집·구조화한 것이다.
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # EASYREAD — 쉬운 정보(Easy-Read) MCP 서버
2
+
3
+ 발달장애인·저문해력 사용자를 위해 복잡한 한국어 텍스트를 **쉬운 정보(Easy-Read)** 로 바꾸는 일을 돕는 MCP(Model Context Protocol) 서버 프로젝트입니다.
4
+
5
+ - 서버는 **지침·사전·검증 도구**를 제공하고, 실제 문장 변환은 클라이언트 LLM(Claude 등)이 수행합니다.
6
+ - 기술 스택: TypeScript + `@modelcontextprotocol/sdk` (Node.js 22 LTS+)
7
+
8
+ ## 설치하기
9
+
10
+ Node.js 22 이상이 필요합니다. 인터넷은 설치할 때만 필요하고, 검사할 때는 필요 없습니다.
11
+
12
+ - **Claude Desktop**: [docs/install/claude-desktop.md](docs/install/claude-desktop.md) — 설정 파일에 아래 블록을 넣고 앱을 다시 시작합니다.
13
+ - **Claude Code**: [docs/install/claude-code.md](docs/install/claude-code.md) — `claude mcp add easyread -- npx -y easyread-mcp` 한 줄.
14
+
15
+ ```json
16
+ { "mcpServers": { "easyread": { "command": "npx", "args": ["-y", "easyread-mcp"] } } }
17
+ ```
18
+
19
+ ## 이 서버가 제공하는 것
20
+
21
+ - **도구 4종**: `validate_easy_read`(규칙 검증), `analyze_readability`(가독성 지표), `lookup_easy_word`(쉬운 낱말 찾기), `get_guidelines`(작성 지침).
22
+ - **프롬프트 2종**: `simplify-text`(쉬운 정보로 바꾸기), `easy-read-review`(초안 검토).
23
+ - **리소스**: `easyread://guidelines`·`.../checklist`·`easyread://dictionary`·`easyread://resources`.
24
+ - **검증 규칙 25종**(SEN·VOC·NUM·STR·TYP·ACC). 모두 오프라인·결정적으로 동작합니다.
25
+
26
+ ## 문서
27
+
28
+ 구현 계획은 [docs/plan/](docs/plan/) 아래에 파트별로 정리되어 있습니다.
29
+
30
+ | 문서 | 담당 역할 |
31
+ |---|---|
32
+ | [00-overview.md](docs/plan/00-overview.md) | 총괄 — 기술 스택, 준비사항, 로드맵 |
33
+ | [01-requirements.md](docs/plan/01-requirements.md) | PM — 요구사항, 사용자 시나리오 |
34
+ | [02-architecture.md](docs/plan/02-architecture.md) | PL — 아키텍처, 인터페이스 명세, WBS |
35
+ | [03-backend-plan.md](docs/plan/03-backend-plan.md) | Backend — 구현 계획, 컨벤션 |
36
+ | [04-qa-plan.md](docs/plan/04-qa-plan.md) | QA — 테스트 전략 |
37
+ | [05-release-plan.md](docs/plan/05-release-plan.md) | DevOps — 배포/릴리스 |
38
+
39
+ ## 역할별 Skill
40
+
41
+ `.claude/skills/` 아래에 역할별 스킬이 있습니다. Claude Code에서 `/pm`, `/pl`, `/backend`, `/qa`, `/devops` 로 호출해 각 파트의 계획을 작성·갱신할 수 있으며, `easyread-domain` 스킬이 쉬운 정보 작성 지침 도메인 지식을 제공합니다.
@@ -0,0 +1,118 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "updatedAt": "2026-08-11",
4
+ "entries": [
5
+ { "word": "구비서류", "category": "difficult", "alternatives": ["필요한 서류", "준비할 서류"], "example": "필요한 서류를 가져오세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
6
+ { "word": "부득이한", "category": "difficult", "alternatives": ["어쩔 수 없는"], "example": "어쩔 수 없는 이유로 못 왔습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
7
+ { "word": "지참", "category": "difficult", "alternatives": ["가져옴", "챙겨 옴"], "example": "신분증을 가져오세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
8
+ { "word": "소지", "category": "difficult", "alternatives": ["가지고 있음"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
9
+ { "word": "열람", "category": "difficult", "alternatives": ["봄", "보기"], "example": "서류를 볼 수 있습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
10
+ { "word": "납부", "category": "difficult", "alternatives": ["냄", "내기"], "example": "요금을 내세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
11
+ { "word": "반납", "category": "difficult", "alternatives": ["돌려줌"], "example": "책을 돌려주세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
12
+ { "word": "문의", "category": "difficult", "alternatives": ["물어봄"], "example": "궁금하면 물어보세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
13
+ { "word": "접수", "category": "difficult", "alternatives": ["받음", "신청 받기"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
14
+ { "word": "교부", "category": "difficult", "alternatives": ["내줌", "발급"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
15
+ { "word": "발급", "category": "difficult", "alternatives": ["내줌", "만들어 줌"], "example": "증명서를 만들어 드립니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
16
+ { "word": "기재", "category": "difficult", "alternatives": ["적음", "씀"], "example": "이름을 적으세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
17
+ { "word": "사유", "category": "difficult", "alternatives": ["이유", "까닭"], "example": "늦은 이유를 적으세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
18
+ { "word": "절차", "category": "difficult", "alternatives": ["순서", "차례"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
19
+ { "word": "요건", "category": "difficult", "alternatives": ["조건"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
20
+ { "word": "필히", "category": "difficult", "alternatives": ["반드시", "꼭"], "example": "꼭 오세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
21
+ { "word": "즉시", "category": "difficult", "alternatives": ["바로", "곧"], "example": "바로 알려 주세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
22
+ { "word": "익일", "category": "difficult", "alternatives": ["다음 날"], "example": "다음 날 다시 오세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
23
+ { "word": "금일", "category": "difficult", "alternatives": ["오늘"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
24
+ { "word": "명일", "category": "difficult", "alternatives": ["내일"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
25
+ { "word": "금주", "category": "difficult", "alternatives": ["이번 주"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
26
+ { "word": "차주", "category": "difficult", "alternatives": ["다음 주"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
27
+ { "word": "상기", "category": "difficult", "alternatives": ["위", "앞에서 말한"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
28
+ { "word": "만료", "category": "difficult", "alternatives": ["끝남"], "example": "기간이 끝났습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
29
+ { "word": "개시", "category": "difficult", "alternatives": ["시작"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
30
+ { "word": "지연", "category": "difficult", "alternatives": ["늦어짐", "늦음"], "example": "버스가 늦어집니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
31
+ { "word": "변경", "category": "difficult", "alternatives": ["바꿈"], "example": "날짜를 바꿉니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
32
+ { "word": "정정", "category": "difficult", "alternatives": ["고침"], "example": "잘못 쓴 곳을 고치세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
33
+ { "word": "신규", "category": "difficult", "alternatives": ["새", "새로운"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
34
+ { "word": "기존", "category": "difficult", "alternatives": ["이미 있는", "전부터 있는"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
35
+ { "word": "상이", "category": "difficult", "alternatives": ["다름"], "example": "내용이 다릅니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
36
+ { "word": "동일", "category": "difficult", "alternatives": ["같음"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
37
+ { "word": "유사", "category": "difficult", "alternatives": ["비슷함"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
38
+ { "word": "다수", "category": "difficult", "alternatives": ["많은", "여러"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
39
+ { "word": "소수", "category": "difficult", "alternatives": ["적은"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
40
+ { "word": "각각", "category": "difficult", "alternatives": ["따로따로", "하나씩"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
41
+ { "word": "개별", "category": "difficult", "alternatives": ["따로", "하나하나"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
42
+ { "word": "일괄", "category": "difficult", "alternatives": ["한꺼번에"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
43
+ { "word": "제공", "category": "difficult", "alternatives": ["줌", "드림"], "example": "도움을 드립니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
44
+ { "word": "지급", "category": "difficult", "alternatives": ["줌", "드림"], "example": "지원금을 드립니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
45
+ { "word": "수령", "category": "difficult", "alternatives": ["받음"], "example": "돈을 받으세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
46
+ { "word": "징수", "category": "difficult", "alternatives": ["거둠", "받음"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
47
+ { "word": "감면", "category": "difficult", "alternatives": ["깎아 줌", "줄여 줌"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
48
+ { "word": "면제", "category": "difficult", "alternatives": ["안 냄", "빼 줌"], "explanation": "내지 않아도 되게 해 주는 것", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
49
+ { "word": "상환", "category": "difficult", "alternatives": ["갚음"], "example": "빌린 돈을 갚습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
50
+ { "word": "연체", "category": "difficult", "alternatives": ["늦게 냄", "밀림"], "example": "요금이 밀렸습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
51
+ { "word": "미납", "category": "difficult", "alternatives": ["안 냄", "못 냄"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
52
+ { "word": "소득", "category": "difficult", "alternatives": ["버는 돈", "수입"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
53
+ { "word": "지출", "category": "difficult", "alternatives": ["쓰는 돈"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
54
+ { "word": "잔액", "category": "difficult", "alternatives": ["남은 돈"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
55
+ { "word": "금액", "category": "difficult", "alternatives": ["돈", "액수"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
56
+ { "word": "요금", "category": "difficult", "alternatives": ["돈", "사용료"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
57
+ { "word": "비용", "category": "difficult", "alternatives": ["드는 돈"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
58
+ { "word": "인상", "category": "difficult", "alternatives": ["올림"], "example": "요금이 오릅니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
59
+ { "word": "인하", "category": "difficult", "alternatives": ["내림"], "example": "요금이 내립니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
60
+ { "word": "초과", "category": "difficult", "alternatives": ["넘음"], "example": "정원을 넘었습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
61
+ { "word": "해당", "category": "difficult", "alternatives": ["그", "그에 맞는"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
62
+ { "word": "완료", "category": "difficult", "alternatives": ["끝냄", "마침"], "example": "신청을 마쳤습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
63
+ { "word": "종료", "category": "difficult", "alternatives": ["끝남"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
64
+ { "word": "취득", "category": "difficult", "alternatives": ["얻음", "땀"], "example": "자격증을 땄습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
65
+ { "word": "제출", "category": "difficult", "alternatives": ["냄", "내기"], "example": "서류를 내세요.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
66
+ { "word": "작성", "category": "difficult", "alternatives": ["씀", "적음"], "example": "신청서를 씁니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
67
+ { "word": "확인", "category": "difficult", "alternatives": ["살펴봄", "알아봄"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
68
+ { "word": "부과", "category": "difficult", "alternatives": ["매김", "물림"], "explanation": "돈을 내게 하는 것", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
69
+ { "word": "유효", "category": "difficult", "alternatives": ["쓸 수 있음"], "example": "이 표는 오늘까지 쓸 수 있습니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
70
+ { "word": "무효", "category": "difficult", "alternatives": ["쓸 수 없음", "소용없음"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
71
+ { "word": "경유", "category": "difficult", "alternatives": ["거침", "거쳐 감"], "example": "서울을 거쳐 갑니다.", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
72
+ { "word": "가이드라인", "category": "loanword", "alternatives": ["지침", "기준"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
73
+ { "word": "매뉴얼", "category": "loanword", "alternatives": ["설명서", "안내서"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
74
+ { "word": "프로세스", "category": "loanword", "alternatives": ["과정", "절차"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
75
+ { "word": "시스템", "category": "loanword", "alternatives": ["체계", "장치"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
76
+ { "word": "인프라", "category": "loanword", "alternatives": ["기반 시설"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
77
+ { "word": "리스크", "category": "loanword", "alternatives": ["위험"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
78
+ { "word": "스케줄", "category": "loanword", "alternatives": ["일정"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
79
+ { "word": "콘텐츠", "category": "loanword", "alternatives": ["내용", "자료"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
80
+ { "word": "이슈", "category": "loanword", "alternatives": ["문제", "사안"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
81
+ { "word": "케이스", "category": "loanword", "alternatives": ["경우", "사례"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
82
+ { "word": "니즈", "category": "loanword", "alternatives": ["필요", "바라는 것"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
83
+ { "word": "트렌드", "category": "loanword", "alternatives": ["흐름", "유행"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
84
+ { "word": "옵션", "category": "loanword", "alternatives": ["선택", "선택 사항"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
85
+ { "word": "다운로드", "category": "loanword", "alternatives": ["내려받기"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
86
+ { "word": "업로드", "category": "loanword", "alternatives": ["올리기"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
87
+ { "word": "플랫폼", "category": "loanword", "alternatives": ["기반", "터전"], "explanation": "여러 서비스가 모여 있는 곳", "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
88
+ { "word": "서비스", "category": "loanword", "alternatives": ["도움", "편의"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
89
+ { "word": "온라인", "category": "loanword", "alternatives": ["인터넷"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
90
+ { "word": "오프라인", "category": "loanword", "alternatives": ["직접", "현장"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
91
+ { "word": "링크", "category": "loanword", "alternatives": ["연결", "주소"], "source": "자체 구축(국립국어원 다듬은 말·행정용어 순화 참고)" },
92
+ { "word": "임의가입", "category": "terminology", "alternatives": ["원할 때 하는 가입"], "explanation": "꼭 하지 않아도 되지만 원하면 할 수 있는 가입", "source": "자체 구축(쉬운 정보 지침 참고)" },
93
+ { "word": "피부양자", "category": "terminology", "alternatives": ["함께 보험 드는 가족"], "explanation": "가족의 건강보험에 함께 들어가 있는 사람", "source": "자체 구축(쉬운 정보 지침 참고)" },
94
+ { "word": "수급자", "category": "terminology", "alternatives": ["도움받는 사람"], "explanation": "나라에서 주는 급여(도움)를 받는 사람", "source": "자체 구축(쉬운 정보 지침 참고)" },
95
+ { "word": "부양의무자", "category": "terminology", "alternatives": ["가족을 돌볼 사람"], "explanation": "법에 따라 가족을 돌볼 의무가 있는 사람", "source": "자체 구축(쉬운 정보 지침 참고)" },
96
+ { "word": "소급적용", "category": "terminology", "alternatives": ["지난 날까지 적용"], "explanation": "정해진 날보다 이전까지 거슬러 올라가 적용하는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
97
+ { "word": "유예", "category": "terminology", "alternatives": ["미뤄 줌"], "explanation": "정한 날짜를 뒤로 미뤄 주는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
98
+ { "word": "가산세", "category": "terminology", "alternatives": ["늦어서 더 내는 세금"], "explanation": "제때 내지 않아 더 물게 되는 세금", "source": "자체 구축(쉬운 정보 지침 참고)" },
99
+ { "word": "원천징수", "category": "terminology", "alternatives": ["월급에서 미리 뗌"], "explanation": "월급 등에서 세금을 미리 떼는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
100
+ { "word": "과태료", "category": "terminology", "alternatives": ["규칙을 어겨 내는 돈"], "explanation": "정해진 규칙을 어겼을 때 내는 돈", "source": "자체 구축(쉬운 정보 지침 참고)" },
101
+ { "word": "보증금", "category": "terminology", "alternatives": ["미리 맡기는 돈"], "explanation": "나중에 돌려받기로 하고 미리 맡기는 돈", "source": "자체 구축(쉬운 정보 지침 참고)" },
102
+ { "word": "공제", "category": "terminology", "alternatives": ["빼 줌"], "explanation": "낼 돈이나 세금에서 일정 금액을 빼 주는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
103
+ { "word": "정산", "category": "terminology", "alternatives": ["계산해 맞춤"], "explanation": "낸 돈과 쓴 돈을 다시 계산해 맞추는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
104
+ { "word": "활성화", "category": "idiom", "alternatives": ["잘되게 함", "살림"], "explanation": "더 잘 돌아가게 하는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
105
+ { "word": "제고", "category": "idiom", "alternatives": ["높임"], "explanation": "더 높이는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
106
+ { "word": "지양", "category": "idiom", "alternatives": ["하지 않음", "피함"], "explanation": "그렇게 하지 않으려는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
107
+ { "word": "지향", "category": "idiom", "alternatives": ["나아감", "목표로 함"], "explanation": "그것을 목표로 삼아 나아가는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
108
+ { "word": "모색", "category": "idiom", "alternatives": ["방법을 찾음"], "explanation": "좋은 방법을 찾는 것", "source": "자체 구축(쉬운 정보 지침 참고)" },
109
+ { "word": "문턱을 낮추다", "category": "idiom", "alternatives": ["이용하기 쉽게 하다"], "explanation": "어렵지 않게, 누구나 쉽게 이용하도록 만들다", "source": "자체 구축(쉬운 정보 지침 참고)" },
110
+ { "word": "발 벗고 나서다", "category": "idiom", "alternatives": ["적극적으로 돕다"], "explanation": "앞장서서 열심히 돕다", "source": "자체 구축(쉬운 정보 지침 참고)" },
111
+ { "word": "눈높이를 맞추다", "category": "idiom", "alternatives": ["상대에 맞추다"], "explanation": "상대가 이해하기 쉽게 맞추다", "source": "자체 구축(쉬운 정보 지침 참고)" },
112
+ { "word": "지자체", "category": "abbreviation", "alternatives": ["지방자치단체"], "explanation": "시·군·구 같은 지역 기관", "source": "자체 구축" },
113
+ { "word": "복지부", "category": "abbreviation", "alternatives": ["보건복지부"], "source": "자체 구축" },
114
+ { "word": "인강", "category": "abbreviation", "alternatives": ["인터넷 강의"], "source": "자체 구축" },
115
+ { "word": "초중고", "category": "abbreviation", "alternatives": ["초등학교·중학교·고등학교"], "source": "자체 구축" },
116
+ { "word": "국공립", "category": "abbreviation", "alternatives": ["국립·공립"], "source": "자체 구축" }
117
+ ]
118
+ }