자연어 CRM 플러그인을 6인 세일즈팀에 끼워넣는 법 — Pipedrive MCP 설계 가이드

자연어 CRM 플러그인을 6인 세일즈팀에 끼워넣는 법 — Pipedrive MCP 설계 가이드

TL;DR
Pipedrive에 Node.js MCP SDK 기반 Claude Code 플러그인을 연결해 자연어로 stale deal 조회·파이프라인 요약을 처리했습니다.
핵심은 ‘무엇을 넣을까’가 아니라 ‘무엇을 차단할까’ 먼저 결정하는 것입니다.
Delete 계열 전체 미등록, pipeline_id 변경 차단, merge 차단 — 세 가지 원칙으로 운영 중 데이터 사고 없이 유지 중입니다.

진행 중 deal이 100개를 넘으면 리더 혼자 하나씩 까보는 건 사실상 불가능합니다.
AE들이 follow-up 골든타임을 놓치기 시작하고, 리더는 매주 수동 리뷰에 묶입니다.
이 문제를 해결하려고 Pipedrive에 자연어 플러그인을 붙였고, 설계 단계에서 ‘차단 목록’을 먼저 정한 덕분에 운영 중 데이터 사고는 한 건도 없었습니다.

왜 이걸 만들었나

B2B SaaS 세일즈팀에서 가장 반복되는 요청은 “지금 멈춰있는 deal 어디야?”였습니다.
Pipedrive UI에서 stale deal을 보려면 필터 설정 → 저장 → 결과 확인, 최소 3단계가 필요합니다.
바쁜 AE가 이 과정을 매일 반복하길 기대하는 건 무리입니다.

리더 입장에서도 “stage별 분포 + 14일 이상 무활동 deal”을 한눈에 보는 뷰가 없었습니다.
결국 매주 월요일 아침 리더가 직접 파이프라인을 뒤지는 루틴이 생겼고, 그게 병목이 됐습니다.

이 두 가지 — AE의 FU 골든타임 유지, 리더의 가시성 확보 — 를 해결하는 가장 빠른 방법으로 Claude Code 플러그인을 선택했습니다.
자연어 한 문장으로 원하는 데이터를 꺼낼 수 있다면, 반복 루틴을 없앨 수 있다고 판단했습니다.

준비물

  • Pipedrive 계정 (API 토큰 발급 권한, 단일 pipeline 운영 권장)
  • Node.js 18 이상 + TypeScript 환경
  • MCP SDK (`@modelcontextprotocol/sdk` npm 패키지)
  • Claude Code 접근 권한 (플러그인 등록 가능한 플랜)
  • Pipedrive API 읽기/쓰기 스코프 토큰 (`PIPEDRIVE_API_TOKEN` 환경 변수)
  • `UPDATE_DEAL_BLOCKED_FIELDS` 환경 변수 설정 권한 (차단 필드 목록 주입용)
View of large industrial pipelines running through a lush forest landscape.
Photo by Wolfgang Weiser on Pexels

1. 차단 목록 먼저 정하기 — ALLOWED_TOOLS 화이트리스트 설계

플러그인을 만들기 전에 “무엇을 넣지 않을지”를 먼저 결정했습니다.
자연어는 모호합니다. “이 deal 지워”라는 문장 하나가 복구 비용이 큰 삭제로 이어질 수 있습니다.

설계 원칙은 단순합니다. UI에서 한 클릭으로 끝나는 작업은 UI에 맡기고, UI에서 번거로운 것만 플러그인으로 가져옵니다.

차단 목록을 먼저 확정한 뒤 ALLOWED_TOOLS 화이트리스트를 작성했습니다.

// 차단 정책 — 등록하지 않는 endpoint 목록 (주석으로 이유 병기)
const BLOCKED_ENDPOINTS = [
  // Delete 계열 전체 — 자연어 모호성으로 데이터 삭제 시 복구 비용 큼
  "deals_delete", "notes_delete", "persons_delete",
  "organizations_delete", "leads_delete", "files_delete",

  // Merge — UI 비교 화면 없이 자동 병합은 위험
  "persons_merge", "organizations_merge",
];

// pipeline_id 변경 차단 — deal update는 허용하되 파이프라인 이동은 UI에서
const UPDATE_DEAL_BLOCKED_FIELDS = ["pipeline_id"];

이 목록을 먼저 코드에 박아두면, 이후 어떤 도구를 추가하더라도 차단 정책이 기준이 됩니다.

2. 자연어 shortcut 도구 등록 — stale deal 조회와 파이프라인 요약

차단 목록을 확정한 뒤, 실제로 플러그인에 넣을 도구를 설계했습니다.
기준은 하나입니다. “UI에서 이 작업이 3단계 이상인가?” — 그렇다면 shortcut 대상입니다.

핵심 두 가지는 `pipedrive_stale_deals`와 `pipedrive_my_pipeline_summary`입니다.

server.tool(
  "pipedrive_stale_deals",
  { days: z.number().default(14) }, // 기본 14일 무활동 기준
  async ({ days }) => {
    // Pipedrive Activities API로 last_activity_date 필터링
    const cutoff = new Date(Date.now() - days * 86400000).toISOString().split("T")[0];
    const deals = await pipedriveGet("/deals", {
      status: "open",
      // last_activity_date 기준 cutoff 이전 deal만 반환
    });
    return formatStaleDeals(deals, cutoff);
  }
);

`pipedrive_my_pipeline_summary`는 stage별 deal 수와 총 금액을 집계해 리더가 자연어 한 문장으로 파이프라인 전체를 볼 수 있게 합니다.
shortcuts 카테고리 8종(`my_open_deals`, `my_overdue_activities`, `people_needing_followup` 등)을 같은 패턴으로 등록했습니다.

3. 기존 업무 프로세스에 끼워넣기 — Claude Code 플러그인 등록과 팀 온보딩

플러그인 자체보다 팀 워크플로우에 어떻게 붙이느냐가 실제 체감 차이를 만듭니다.
B2B SaaS 조직에서 도구를 도입해본 경험상, 새 인터페이스를 ‘추가’하면 잘 안 쓰입니다. 기존 루틴 안에 끼워넣어야 합니다.

이 플러그인은 월요일 아침 파이프라인 리뷰 루틴을 대체하는 방식으로 연결했습니다.

# Claude Code에 MCP 서버 등록 (로컬 실행 기준)
claude mcp add pipedrive-mcp \
  --command "node" \
  --args "/path/to/pipedrive-mcp/dist/index.js" \
  --env PIPEDRIVE_API_TOKEN=your_token_here \
  --env UPDATE_DEAL_BLOCKED_FIELDS=pipeline_id

등록 후 AE에게는 세 문장만 알려줬습니다.
“지난 14일 stale deal 보여줘”, “내 파이프라인 stage별 요약”, “이번 주 overdue 활동 목록” — 이 세 가지가 가장 자주 쓰이는 패턴입니다.
온보딩 문서보다 자주 쓰는 문장 3개를 Notion 페이지 하나에 적어두는 편이 실제 정착에 효과적이었습니다.

마무리

Claude Code 프롬프트

목표: Pipedrive에 Claude Code MCP 플러그인을 붙여 자연어로 stale deal 조회와 파이프라인 요약을 처리하는 시스템을 만들어줘.

기술 스택: Node.js 18+, TypeScript, @modelcontextprotocol/sdk, Pipedrive REST API v1, 환경 변수 PIPEDRIVE_API_TOKEN / UPDATE_DEAL_BLOCKED_FIELDS, Claude Code MCP 플러그인 등록.

단계 순서:
1. BLOCKED_ENDPOINTS 배열과 UPDATE_DEAL_BLOCKED_FIELDS 정의 — 차단 정책 코드에 선박 후 검증: 해당 endpoint 호출 시 "not registered" 오류 반환 확인.
2. pipedrive_stale_deals 도구 등록 (days 파라미터, 기본값 14) — Pipedrive /deals API 호출 + last_activity_date 필터 적용 후 검증: "14일 stale deal 보여줘" 자연어 호출 결과 반환 확인.
3. pipedrive_my_pipeline_summary 도구 등록 (stage별 deal 수·금액 집계) — 검증: "내 파이프라인 요약" 자연어 호출 후 stage 목록 정상 출력 확인.
4. claude mcp add 명령으로 로컬 등록 후 Claude Code에서 전체 shortcut 3종 자연어 호출 통합 테스트.

본인 팀이 매주 반복하는 CRM 작업 3개를 먼저 적어보세요.
그 중 “UI에서 3단계 이상 걸리는 것 1개”를 골라 위 구조로 30분 PoC를 만들어보는 것이 가장 빠른 시작점입니다. 🙂


글쓴이: YJ — 여행/레저 플랫폼부터 이커머스 SaaS까지 14년간 세일즈/Revenue Growth를 만들어왔습니다. 매일 업무에 AI를 쓰며 검증한 활용법을 기록합니다.


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top