ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何为korean-law-mcp贡献代码:981个测试的开发流程 + 从零添加你的第一个MCP工具

如何为korean-law-mcp贡献代码:981个测试的开发流程 + 从零添加你的第一个MCP工具 如何为korean-law-mcp贡献代码981个测试的开发流程 从零添加你的第一个MCP工具【免费下载链接】korean-law-mcp법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations项目地址: https://gitcode.com/gh_mirrors/ko/korean-law-mcpkorean-law-mcp 是一个把韩国法务处법제처国家法令信息接入 LLM 的MCP 服务器检索法令、判例、自治条例还能校验引用真伪。项目内置近百个工具、981 个测试本文带你在真实开发流程中走完环境搭建、测试验证并亲手添加你的第一个 MCP 工具。为什么这个仓库适合练手对想进入 MCPModel Context Protocol生态的开发者来说这里几乎是最好的教材结构清晰入口 src/index.ts、CLI src/cli.ts、工具注册表 src/tool-registry.ts、公共库 src/lib/、工具实现 src/tools/测试即文档src/**/*.test.ts共 100 个测试文件每个行为变更都配有回归测试读测试比读文档更快理解代码意图文档齐全贡献规范见 CONTRIBUTING.md开发指南见 docs/DEVELOPMENT.md架构设计见 docs/ARCHITECTURE.md一键安装环境准备与首次构建环境要求详见 docs/DEVELOPMENT.md项目要求Node.js≥ 20.19.0CI 同时在 20.19.0 和 22.12.0 上跑语言TypeScript 5.7已包含在依赖中API 密钥单元测试不需要只有真实调用法务处 API 才需要LAW_OC安装步骤只要四行命令git clone https://gitcode.com/gh_mirrors/ko/korean-law-mcp cd korean-law-mcp npm ci --ignore-scripts # 保留可选依赖但禁用所有生命周期脚本 npm run build⚠️ 注意--ignore-scripts不是可选项开发工具需要平台特定的可选绑定而 CI 的npm ci要求依赖图与 package.json 严格一致。981 个测试贡献者的四道验证关卡这是本仓库最有特色的部分——每次改动都必须通过四道关卡缺一不可npm run typecheck # ① TypeScript 类型检查 npm test # ② vitest 全量测试981 个 npm run build # ③ 完整构建 npm run verify:package # ④ 打包产物校验 嫌麻烦一条npm run gc会按 类型检查 → 死代码扫描knip→ 测试 → 构建 的顺序全部跑完。测试怎么写看 src/tools/article-detail.test.ts 就能学到核心技巧把apiClient注入一个桩stub不真实访问网络就能覆盖解析、分支、错误路径全部逻辑。比如其中의X 조문에 조를 덧붙이지 않는다의 编号条款不再重复加 조 字这样的用例直接锁住了一个真实用户报过的显示 bug#118。从零添加你的第一个 MCP 工具官方文档 docs/DEVELOPMENT.md 将流程拆成三步以下是浓缩版第一步创建工具文件在src/tools/下新建new-tool.ts遵循项目统一模式可对照 src/tools/search.ts用Zod定义输入 Schema每个参数都要describe()AI 依赖这些描述理解参数含义导出工具函数newTool(apiClient, input)接收注入的 API 客户端返回 MCP 标准格式{ content: [{ type: text, text: ... }] }出错时返回isError: true第二步注册到 allTools打开 src/tool-registry.ts在allTools数组中追加一项{ name: new_tool_name, description: 工具说明AI 靠这句话决定何时调用你, schema: NewToolSchema, handler: (client, input) newTool(client, input) }好工具的 description 是写给 AI 看的用户手册——参考现有条目会写清适用场景、参数格式和调用顺序。第三步写测试 四道关卡为新工具补一个同目录的new-tool.test.ts用桩客户端然后跑npm run gc全绿即可提交。提交前的避坑清单 以下规则来自 CLAUDE.md 的 Critical Rules新手最容易踩文件 ≤ 200 行超了就拆到src/lib/命名 kebab-caseZod 验证所有输入MCP 客户端可能把数字发成字符串注意String()防御输出必须过truncateResponse()统一截断到 5 万字符禁止console.logSTDIO 模式下会破坏 JSON-RPC 通信错误一律用throw传播共享知识单一来源引用解析、日期解析等公共逻辑直接import不要复制Commit 消息遵循 Conventional Commitsfeat/fix/docs/refactor/chore。PR 规范CONTRIBUTING.md先开 issuePR 只聚焦该问题说明用户可见的影响列出实际跑过的验证命令不要提交build/、node_modules/、.env、API 密钥 疑似安全漏洞不要公开提 issue请通过私有渠道报告结语korean-law-mcp 的低门槛无需 API 密钥即可跑全部测试 高规范四道关卡 清晰规则让第一个 PR 变得可预期读一个现有工具 → 照着模板加一个 →npm run gc全绿 → 提交。祝你的第一个 MCP 工具顺利合入【免费下载链接】korean-law-mcp법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations项目地址: https://gitcode.com/gh_mirrors/ko/korean-law-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表