반응형
지금까지 Skills는 .claude/skills/ 폴더에 마크다운 파일로 만들었어요. 나만 쓰는 거예요.
MCP Skills는 이걸 패키지처럼 배포해서 누구나 쓸 수 있게 만드는 거예요.
기존 Skills:
내 프로젝트/.claude/skills/database.md
→ 나만 씀
MCP Skills:
npm install mcp-skill-backend-expert
→ 누구나 설치해서 Claude에 전문가 주입 가능
아직 실험적 기능이에요 (2026년 4월 기준 experimental-ext-skills 레포). 근데 방향이 명확해서 미리 알아두면 좋아요.
Skills가 뭔지 다시 정리
# .claude/skills/database.md (기존 방식)
## DB 작업 전문가
N+1 쿼리 절대 금지.
항상 페이지네이션 사용.
트랜잭션 필요한 경우: prisma.$transaction() 사용.
이 파일이 있으면 Claude가 DB 코드 짤 때 자동으로 이 규칙을 따라요.
MCP Skills는 이 파일을 MCP 서버로 패키징해서 배포해요.
MCP Skills 구조
mcp-skill-backend-expert/
├── package.json
├── index.js ← MCP 서버
└── skills/
├── database.md
├── security.md
└── api-design.md
// index.js
import { Server } from "@modelcontextprotocol/sdk/server/index.js"
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
import { readFileSync } from "fs"
const server = new Server({
name: "backend-expert-skills",
version: "1.0.0"
})
// Skills를 리소스로 노출
server.setRequestHandler("resources/list", async () => ({
resources: [
{
uri: "skill://database",
name: "데이터베이스 전문가",
description: "N+1 방지, 트랜잭션, 페이지네이션 규칙",
mimeType: "text/markdown"
},
{
uri: "skill://security",
name: "보안 전문가",
description: "인증, SQL 인젝션 방지, 시크릿 관리",
mimeType: "text/markdown"
}
]
}))
// Skills 내용 반환
server.setRequestHandler("resources/read", async (request) => {
const skillMap = {
"skill://database": "./skills/database.md",
"skill://security": "./skills/security.md"
}
const filePath = skillMap[request.params.uri]
if (!filePath) throw new Error("Skill not found")
const content = readFileSync(filePath, "utf-8")
return {
contents: [{
uri: request.params.uri,
mimeType: "text/markdown",
text: content
}]
}
})
// 서버 실행
const transport = new StdioServerTransport()
await server.connect(transport)
실전 — 백엔드 전문가 Skills 패키지 만들기
Skills 내용 작성
<!-- skills/database.md -->
# 데이터베이스 전문가 Skills
## 절대 금지
\`\`\`typescript
// ❌ N+1 쿼리
const users = await prisma.user.findMany()
for (const user of users) {
user.posts = await prisma.post.findMany({ where: { userId: user.id } })
}
// ✅ 올바른 방식
const users = await prisma.user.findMany({
include: { posts: true }
})
\`\`\`
## 항상 페이지네이션
\`\`\`typescript
// ✅ 올바른 방식
const result = await prisma.order.findMany({
take: 20,
skip: (page - 1) * 20,
orderBy: { createdAt: "desc" }
})
\`\`\`
## 트랜잭션 필요한 경우
- 결제 처리
- 재고 차감
- 여러 테이블 동시 수정
<!-- skills/security.md -->
# 보안 전문가 Skills
## 입력 검증
- 모든 user input: Zod로 검증
- SQL: 반드시 ORM 사용 (raw query 금지)
- 파일 업로드: 확장자 + MIME type 둘 다 검증
## 민감 데이터
- 비밀번호: bcrypt cost factor 12 이상
- API 키: .env에만, 코드에 하드코딩 절대 금지
- 로그에 비밀번호/토큰 출력 금지
## 새 기능 체크리스트
- [ ] 인증 필요한가?
- [ ] 권한 체크 필요한가?
- [ ] Rate limiting 필요한가?
package.json
{
"name": "mcp-skill-backend-expert",
"version": "1.0.0",
"description": "백엔드 개발 전문가 Skills — DB, 보안, API 설계",
"main": "index.js",
"type": "module",
"bin": {
"mcp-skill-backend-expert": "./index.js"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.0"
}
}
npm 배포
npm publish
# 사용자 설치
npm install -g mcp-skill-backend-expert
# Claude Code에 등록
claude mcp add backend-expert npx mcp-skill-backend-expert
팀에서 쓰는 법
팀 전용 Skills 패키지
# 회사 내부 npm 레지스트리에 배포
npm publish --registry https://npm.mycompany.com
# 팀원 설치
npm install -g @mycompany/mcp-skills-backend
# .claude/mcp.json에 추가
{
"mcpServers": {
"team-skills": {
"command": "npx",
"args": ["@mycompany/mcp-skills-backend"]
}
}
}
팀원들이 같은 Skills를 자동으로 공유해요. 신규 입사자도 설치 하나로 팀 컨벤션 주입 완료예요.
현재 상태 (2026년 4월 기준)
✅ 공식 GitHub 레포 활발히 개발 중
modelcontextprotocol/experimental-ext-skills
✅ Python, TypeScript SDK 모두 지원
⚠️ 아직 experimental (정식 스펙 아님)
→ 프로덕션 사용은 주의
🔜 2026 Q3 정식 스펙 포함 예정 (로드맵 기준)
기존 방식과 비교
기존 Skills MCP Skills
| 범위 | 내 프로젝트만 | 패키지로 배포 |
| 팀 공유 | CLAUDE.md 복사 | npm install |
| 업데이트 | 수동 파일 수정 | npm update |
| 버전 관리 | git | semver |
| 공개 배포 | 불가 | npm publish |
마무리
MCP Skills가 정식 스펙에 포함되면 이런 생태계가 만들어질 거예요.
npm install mcp-skill-nextjs-expert
npm install mcp-skill-aws-architect
npm install mcp-skill-security-auditor
npm install mcp-skill-korean-copywriter
각 분야 전문가 지식을 패키지처럼 Claude에 주입하는 거예요. 지금 CLAUDE.md Skills를 잘 만들어두면 나중에 패키지로 전환하기 쉬워요.
반응형
'MCP' 카테고리의 다른 글
| Claude Code용 주요 MCP 서버 15개 — 실전 설치 가이드 (1) | 2026.04.14 |
|---|---|
| MCP Server Cards — AI용 robots.txt, 서버 능력을 자동으로 알리는 법 (0) | 2026.04.14 |
| Tool Poisoning Attack — 악성 MCP 서버가 Claude를 해킹하는 법 (0) | 2026.04.14 |
| MCP 서버 팀 배포 가이드 — 로컬에서 서버로 올려서 팀 전체가 쓰기 (0) | 2026.04.14 |
| MCP 서버 보안 설정 완전 가이드 — 인증, 권한 제한, 위험 차단 (0) | 2026.04.14 |