mcpField
K
kadlint

kadlint

本地服务
github.com/feelyday法律与政务015 周前更新

关于 kadlint

kadlint 是面向营销人员及文案审核团队的韩语化妆品和健康食品广告文案检查工具。它标出潜在违规内容,并提供法律依据、严重程度、说明和更稳妥的替代表述。

主要功能

  1. 01检查 299 条精选规则
  2. 02覆盖化妆品、健康食品及通用领域
  3. 03提供严重程度和法律依据
  4. 04建议更稳妥的表述
  5. 05提供命令行和 JavaScript API
  6. 06提供 MCP 文案检查工具

适用场景

  1. 01发布前审核韩语广告草稿
  2. 02检查落地页和横幅文案
  3. 03在 AI 辅助写作时检查文案

MCP 相关

kadlint-mcp 通过 stdio 暴露 check_ad_copy 工具,使 LLM 助手能够按领域检查广告文本。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"feelyday-kadlint": {
"command": "npx",
"args": [
"-y",
"kadlint"
]
}
}
}
启动命令npx -y kadlint

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkadlint0.1.1

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
textstring是要检查的广告文案文本
domainenum否产品领域。指定 cosmetics(化妆品)或 health_food(健康功能食品)时,将同时检查该领域规则和通用(common)规则。省略时检查全部规则。cosmetics | health_food | common

详细介绍

kadlint

面向化妆品和健康食品营销文案的韩国广告合规检查工具——检测违规宣称,并提供法律依据、严重程度和更安全的替代表述。

npm version CI license

한국어 README

韩国法律严格规定了化妆品和健康功能食品广告可以宣称的内容。面霜不得宣称“治疗痤疮”(根据《化妆品法》,这属于药品宣称);益生菌不得承诺“增强免疫力”,除非该具体功能已获批准;“排名第一”/“100% 天然”等宣称则须根据《公平标签与广告法》提供客观依据。韩国食品药品安全部(MFDS)每年都会查出数千则此类违法网络广告——2025 年的例行检查再次发现大量化妆品和健康食品广告存在类似药品或缺乏依据的宣称,违规可能导致广告禁令、暂停销售和罚款。

kadlint 使用精心整理的 299 条规则(183 条化妆品规则、51 条健康食品规则、65 条通用规则)检查韩文营销文案。这些规则依据以下内容汇编而成:

  • 化妆品法及其执行规则(별표5)
  • 健康功能食品法/食品标签与广告法
  • 公平标签与广告法
  • MFDS 广告指南和执法判例

每项检查结果都包含违规类别、法律依据引用、严重程度(high/medium/low)、说明和更安全的替代表述。

安装

npm install -g kadlint     # CLI
npm install kadlint        # library

需要 Node.js >= 18。

CLI

kadlint check ad-copy.txt
kadlint check ./landing-pages --format json --min-severity high
kadlint check - < draft.md                 # stdin
kadlint check banner.html --domain cosmetics,common
ad-copy.txt:1:1 [HIGH] '여드름 치료' — 의약품 오인 표현 (cos-113)
    근거: 화장품법 제13조제1항제1호, 식약처 「화장품 표시·광고 관리 지침」
    대체 표현: 피지·각질 케어로 매끈한 피부결 / (실증 보유 시) 여드름성 피부에 사용 적합

✖ 1건 발견 (high 1 · medium 0 · low 0) — 파일 1개, 규칙 299개 검사
  • 支持的输入:.txt、.md、.html(剥离标签并保留偏移量)、目录(递归处理)、-(标准输入)。
  • 退出代码:0 无问题,1 存在达到或超过 --min-severity 的检查结果,2 用法错误。
  • 字面规则会匹配被空格、中间点和连字符插开的文本(살 균、살·균、살-균);这是一种常见的规避手段。可使用 --no-normalize 禁用此功能。

API

import { lint, lintFile } from 'kadlint';

const result = lint('여드름 치료에 탁월한 크림', { domains: ['cosmetics'] });
for (const f of result.findings) {
  console.log(f.ruleId, f.severity, f.match, f.legalBasis, f.alternatives);
}

const fileResult = lintFile('landing.html', { minSeverity: 'medium' });

选项:domains(cosmetics | health_food | common)、minSeverity、normalize(默认为 true)。

如果规则的某个 exceptions 短语出现在匹配内容 80 个字符以内(例如原文使用了获批的功能宣称),检查结果的严重程度会降为 low,并附上说明性 note。

MCP 服务

kadlint-mcp 通过标准输入/输出提供 check_ad_copy { text, domain? } 工具,让大模型助手在撰写文案时检查文案。

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "kadlint": {
      "command": "npx",
      "args": ["-y", "kadlint", "kadlint-mcp"]
    }
  }
}

如果已全局安装,使用 "command": "kadlint-mcp" 即可:

{
  "mcpServers": {
    "kadlint": { "command": "kadlint-mcp" }
  }
}

Claude Code:

claude mcp add kadlint -- kadlint-mcp

或在 .mcp.json 中配置:

{
  "mcpServers": {
    "kadlint": {
      "command": "kadlint-mcp",
      "args": []
    }
  }
}

试用页面

playground/index.html 是一个无需依赖的静态页面(适用于 GitHub Pages):粘贴文案即可查看高亮标记的匹配内容,以及包含法律依据和替代表述的规则卡片。

规则字典

规则位于 data/*.json 中:

{
  "id": "cos-113",
  "pattern": "여드름.{0,8}(개선|치료|완화|박멸|없애|케어|예방)",
  "pattern_type": "regex",
  "violation": "의약품 오인 표현",
  "legal_basis": "화장품법 제13조제1항제1호",
  "severity": "high",
  "message": "…why this is prohibited…",
  "alternatives": ["피지·각질 케어로 매끈한 피부결"],
  "exceptions": ["여드름성 피부 완화 기능성화장품 심사(보고) 효능효과"]
}

data/_needs_review.json 是一份尚未核实的候选规则待处理清单,不会包含在 npm 软件包中。欢迎贡献——请参阅 CONTRIBUTING.md(无需编写代码,每条规则都必须注明法律依据)。

免责声明

  • kadlint 不构成法律建议。它是基于人工整理规则字典的启发式检查工具。
  • 检查结果没有问题,并不保证合规——模式匹配固有地可能漏检,而且法规也会变化。
  • 任何广告的最终法律责任均由广告主承担。对于高风险文案,请咨询合格的专业人士。

路线图

  • v0.2:PyPI 镜像版(pip install kadlint)、审核 _needs_review.json 中待处理的 25 条规则,以及用于跟踪 MFDS 指南修订的流程。

许可证

MIT © 2026 Jungkyun Lim

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。