4주차클로드 코드 효율 극대화하기요일

다양한 MCP 활용 전략

1. Context7

Context7은 최신 라이브러리 문서를 클로드 코드의 컨텍스트에 실시간으로 가져오는 MCP 서버입니다. 클로드 코드의 학습 데이터 컷오프 이후에 업데이트된 라이브러리 문서도 정확하게 활용할 수 있게 해줍니다.

설치

// ~/.claude/claude_desktop_config.json
{"{"}
  "mcpServers": {"{"}
    "context7": {"{"}
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    {"}"}
  {"}"}
{"}"}

활용법

> use context7
  Astro 5.0의 Content Collections API 사용 방법을 알려줘

프롬프트에 "use context7"을 포함하면 Context7이 해당 라이브러리의 최신 문서를 실시간으로 가져와서 더 정확한 답변을 제공합니다.

> use context7
  Next.js 15 App Router에서 Server Actions 사용법을 알려줘

2. Serena

Serena는 코드 인덱싱과 의미론적 검색을 제공하는 MCP 서버입니다. 대규모 코드베이스에서 "이 로직이 어디 있지?"를 언어 서버 수준으로 정확하게 찾아줍니다.

Serena가 필요한 상황

  • 수십만 줄 이상의 대형 코드베이스 탐색
  • "이 함수를 호출하는 모든 곳 찾기" 같은 심층 분석
  • 리팩토링 영향 범위 파악

설치 및 설정

pip install serena-mcp
{"{"}
  "mcpServers": {"{"}
    "serena": {"{"}
      "command": "python",
      "args": ["-m", "serena.mcp", "--project-root", "/path/to/project"]
    {"}"}
  {"}"}
{"}"}

활용법

> validate_email 함수가 어디에서 호출되는지 모두 찾아줘
> UserService 클래스의 모든 메서드와 의존 관계를 분석해줘

3. 검증 도구로써의 MCP

MCP를 단순한 데이터 접근 도구를 넘어 코드 품질 검증 도구로 활용할 수 있습니다.

Playwright MCP — 실제 브라우저 검증

{"{"}
  "mcpServers": {"{"}
    "playwright": {"{"}
      "command": "npx",
      "args": ["@modelcontextprotocol/server-playwright"]
    {"}"}
  {"}"}
{"}"}
> 방금 만든 로그인 페이지를 실제 브라우저에서 열고
  이메일/비밀번호를 입력해서 로그인이 되는지 확인해줘

Semgrep MCP — 보안 정적 분석

> semgrep으로 변경된 파일들의 보안 취약점을 스캔하고
  발견된 이슈를 자동으로 수정해줘

4. MCP를 통한 프로젝트 관리

Linear MCP

> Linear에서 이번 스프린트의 이슈 목록을 가져와서
  오늘 처리할 수 있는 이슈를 우선순위대로 정리해줘

Jira MCP

> 현재 작업 중인 Jira 이슈의 요구사항을 읽고
  구현 계획을 작성한 후, 이슈에 코멘트로 달아줘

Notion MCP

> Notion의 "API 설계" 페이지를 읽고
  FastAPI 코드를 그에 맞게 구현해줘

5. Thinking MCP

Thinking MCP는 클로드가 응답하기 전 내부 추론 과정을 별도의 "생각" 단계로 분리해서 더 깊은 분석을 가능하게 합니다.

활용 시나리오

> [어려운 알고리즘 문제]
  단계적으로 생각하면서 최선의 해결책을 찾아줘

Extended Thinking이 활성화된 클로드는 복잡한 추론이 필요한 문제에서 더 높은 정확도를 보입니다:

  • 복잡한 디버깅: 여러 파일에 걸친 버그 추적
  • 아키텍처 결정: 여러 옵션의 트레이드오프 분석
  • 보안 감사: 취약점 패턴 심층 분석

6. MCP 고급 활용 팁

MCP 서버 디버깅

> /mcp
# 서버 상태, 연결된 도구 목록 확인

# 특정 MCP 도구 직접 테스트
> context7 도구를 사용해서 React 19의 Server Components API를 알려줘

MCP + Hooks 조합

MCP 도구 호출에도 Hooks를 적용할 수 있습니다. 예를 들어 DB 쓰기 작업 전 자동으로 백업을 실행하거나, Slack으로 알림을 보낼 수 있습니다:

{"{"}
  "hooks": {"{"}
    "PreToolUse": [
      {"{"}
        "matcher": "mcp__postgres__execute",
        "hooks": [{"{"}
          "type": "command",
          "command": "echo '⚠️ DB 쓰기 작업 실행됨' | tee -a ~/.claude/db-operations.log"
        {"}"}]
      {"}"}
    ]
  {"}"}
{"}"}

조직 레벨 MCP 서버

팀 전체가 공유하는 내부 MCP 서버를 구축하면 강력한 조직 레벨 자동화가 가능합니다:

  • 내부 API 문서 서버 — 최신 스펙을 항상 참조
  • 사내 컴포넌트 라이브러리 서버 — 기존 컴포넌트 자동 재사용
  • 배포 승인 서버 — 배포 전 자동 검증 및 승인 워크플로

6. 다양한 LLM 모델 활용

클로드 코드 자체는 Claude 모델을 사용하지만, MCP를 통해 다른 모델을 보조적으로 활용할 수 있습니다.

용도별 모델 분리 전략

  • Claude Opus: 핵심 코딩, 아키텍처 설계
  • Gemini (via MCP): 1M 토큰 컨텍스트가 필요한 초대형 코드베이스 분석
  • Claude Haiku: 빠른 코드 포맷팅, 단순 번역

멀티 모델 파이프라인

# 초안은 빠르게 Haiku로, 검토는 Opus로
claude --model claude-haiku-4-5 -p "이 함수의 초안을 작성해줘: $SPEC" > draft.py
claude --model claude-opus-4-5 -p "이 코드를 검토하고 개선해줘: $(cat draft.py)"

7. MCP 만들기

기존 MCP 서버가 없는 내부 시스템이나 독특한 요구사항이 있다면 직접 MCP 서버를 만들 수 있습니다.

TypeScript로 MCP 서버 만들기

npm install @modelcontextprotocol/sdk
// my-mcp-server.ts
import {"{"} Server {"}"} from '@modelcontextprotocol/sdk/server/index.js';
import {"{"} StdioServerTransport {"}"} from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server(
  {"{"} name: 'my-tool', version: '0.1.0' {"}"},
  {"{"} capabilities: {"{"} tools: {"{"}{"}"} {"}"} {"}"}
);

// 도구 정의
server.setRequestHandler('tools/list', async () => ({"{"}
  tools: [{"{"}
    name: 'get_company_data',
    description: '회사 내부 DB에서 데이터를 조회합니다',
    inputSchema: {"{"} type: 'object', properties: {"{"} query: {"{"} type: 'string' {"}"} {"}"} {"}"}
  {"}"}]
{"}"}));

// 도구 구현
server.setRequestHandler('tools/call', async (req) => {"{"}
  if (req.params.name === 'get_company_data') {"{"}
    const result = await queryInternalDB(req.params.arguments.query);
    return {"{"} content: [{"{"} type: 'text', text: JSON.stringify(result) {"}"}] {"}"};
  {"}"}
{"}"});

const transport = new StdioServerTransport();
await server.connect(transport);

설정에 추가

{"{"}
  "mcpServers": {"{"}
    "my-tool": {"{"}
      "command": "node",
      "args": ["path/to/my-mcp-server.js"]
    {"}"}
  {"}"}
{"}"}
> get_company_data로 이번 달 매출 상위 10개 제품을 조회해줘

클로드 코드로 MCP 서버 만들기

> 우리 회사 Slack API를 래핑하는 MCP 서버를 만들어줘.
  다음 기능이 필요해:
  - 특정 채널의 최근 메시지 읽기
  - 메시지 보내기
  - 사용자 정보 조회
  TypeScript로 만들어줘.
내 메모
📝내 메모