전체 글 (172) 썸네일형 리스트형 MCP Skills — 팀이 만든 AI 전문가를 패키지처럼 배포하는 법 지금까지 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 쿼리 절대 금지.항상 페이지네이션 사용.트.. Tool Poisoning Attack — 악성 MCP 서버가 Claude를 해킹하는 법 2026년 4월 1일, Invariant Labs가 MCP의 심각한 보안 취약점을 공개했어요.이름은 Tool Poisoning Attack.공격자: 악성 MCP 서버 하나 배포개발자: "오 편리한 날씨 MCP 서버네" → 연결Claude: (공격자 명령대로) passwords.txt 읽어서 외부로 전송개발자: 아무것도 모름무서운 건 이게 이론이 아니라 실제로 재현 가능한 공격이라는 거예요.어떻게 작동하나MCP 서버가 연결되면 Claude한테 툴 설명(Tool Description)을 보내요. Claude는 이 설명을 읽고 툴을 어떻게 쓸지 결정해요.여기에 악성 명령을 숨길 수 있어요.정상적인 날씨 MCP 서버 툴 설명:{ "name": "get_weather", "description": "미국 지역.. MCP 서버 팀 배포 가이드 — 로컬에서 서버로 올려서 팀 전체가 쓰기 지금까지 만든 MCP 서버는 다 로컬이에요. 내 맥북 꺼지면 팀원은 못 써요.로컬 MCP:나만 씀, 내 맥북 꺼지면 끝서버 MCP:팀원 A, B, C 모두 같은 서버 연결→ 토큰 한 곳에서 관리→ 내 맥북 상태 상관없음 1단계 — MCP 서버를 HTTP로 변환기존 stdio 방식 MCP를 HTTP 서버로 바꿔요.기존 로컬 방식 (stdio):# 로컬에서만 동작async with stdio_server() as (read, write): await app.run(read, write, ...)HTTP 방식으로 변환:# server.pyfrom mcp.server import Serverfrom mcp.server.sse import SseServerTransportfrom starlette.appli.. MCP 서버 보안 설정 완전 가이드 — 인증, 권한 제한, 위험 차단 MCP 연동하고 나서 이 생각 한 번쯤 해봤을 거예요."Claude가 우리 DB에 직접 접근하는데... 혹시 DROP TABLE 날리면 어떡하지?""Slack 토큰이 .env에 있는데 유출되면?""GitHub 토큰으로 레포 삭제도 되는 거 아니야?"맞아요. MCP는 강력한 만큼 잘못 설정하면 위험해요. 이 글에서 실제로 막아야 할 것들과 방법을 정리할게요.위협 모델 — 뭐가 위험한가위험 1: Claude가 실수로 위험한 명령 실행→ DROP TABLE, rm -rf, git push --force위험 2: 프롬프트 인젝션→ 외부 데이터(이슈, 이메일, 문서)에 악성 명령이 숨겨져 있음→ Claude가 그걸 명령으로 인식해서 실행위험 3: 토큰/키 유출→ .env 파일이 git에 올라가거나 로그에 찍히.. 여러 MCP 조합하기 — DB + Slack + GitHub 연동으로 자동화 파이프라인 만들기 MCP 서버 하나씩 쓰면 편해요. 근데 여러 개를 조합하면 차원이 달라져요.혼자: "DB 조회해줘" → 결과 반환조합: "DB에서 결제 실패 급증하면 GitHub 이슈 자동 생성하고 Slack으로 팀에 알림 보내줘"→ 한 번의 명령으로 3개 서비스 동시 처리전체 MCP 설정// .claude/mcp.json{ "mcpServers": { "postgres": { "command": "npx", "args": ["@anthropic/mcp-postgres"], "env": { "DATABASE_URL": "${DATABASE_URL}" } }, "github": { "command": "npx", ".. GitHub MCP 연동 실전 가이드 — 이슈 분석부터 PR 생성까지 자동화 개발하다 보면 이런 게 반복돼요.나: "#47 이슈 분석해서 수정해줘"Claude: "GitHub에 접근할 수 없어요. 이슈 내용 복사해서 붙여넣어주세요."GitHub MCP 연동하면 이렇게 바뀌어요.나: "#47 이슈 수정해줘"Claude: (이슈 읽기 → 코드 분석 → 수정 → PR 생성까지 자동)설치 및 연결GitHub Personal Access Token 발급GitHub → Settings → Developer settings→ Personal access tokens → Tokens (classic)→ Generate new token필요한 권한:✅ repo (전체)✅ read:org (조직 레포 쓸 경우)Claude Code에 등록claude mcp add github \ --env GIT.. Notion + Google Sheets MCP 연동 실전 가이드 — Claude Code로 문서/데이터 자동화 개발하다 보면 이런 상황이 반복돼요.나: "기획서에서 API 스펙 찾아줘"Claude: "Notion에 접근할 수 없어요. 내용을 복사해서 붙여넣어주세요."나: "Q1 매출 데이터 분석해줘"Claude: "스프레드시트에 접근할 수 없어요. 데이터를 공유해주세요."MCP 연동하면 이렇게 바뀌어요.나: "기획서에서 결제 API 스펙 찾아서 코드 만들어줘"Claude: (Notion 검색) → 기획서 읽기 → 코드 생성까지 자동나: "Q1 매출 데이터 분석해줘"Claude: (Sheets 읽기) → 분석 → 인사이트까지 바로Part 1 — Notion MCP 연동방법 1: Notion 공식 MCP (제일 간단)Notion이 공식 MCP 서버를 직접 제공해요. OAuth로 연결하면 돼요.# Claude Code.. MCP 서버 직접 만들기 — 내 서비스를 Claude에 연동하는 법 MCP(Model Context Protocol)는 Claude가 외부 서비스랑 직접 대화하게 해주는 표준 프로토콜이에요.기존에는 이랬어요.나: "우리 DB에서 오늘 주문 건수 알려줘"Claude: "저는 DB에 접근할 수 없어요. 직접 확인해보세요."MCP 서버 만들면 이렇게 돼요.나: "우리 DB에서 오늘 주문 건수 알려줘"Claude: (MCP로 DB 조회) → "오늘 주문 247건, 어제보다 23% 증가했어요."MCP 서버가 어떻게 동작하나Claude ←→ MCP 서버 ←→ 내 서비스(DB, API, 파일 등)1. Claude가 MCP 서버에 "이 툴 써줘" 요청2. MCP 서버가 실제 서비스 호출3. 결과를 Claude에게 반환4. Claude가 결과 보고 답변MCP 서버는 툴(Tool) 을 정.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 22 다음