Skip to main content
Glama

☎️ five9-mcp

당신의 Five9 컨택센터, 이제 AI의 손에.

Claude, ChatGPT, 또는 모든 MCP 클라이언트를 Five9 클라우드 컨택센터에 연결하는 오픈소스 MCP 서버 — Cloudflare Workers에서 **제로 의존성(zero dependencies)**으로 실행됩니다.

License: MIT Runtime Dependencies MCP Tools

빠른 시작 · Claude 연결 · ChatGPT 연결 · 도구 · 아키텍처


AI에게 이렇게 물어보세요:

"지금 통화 중인 사람은 누구고, 영업 큐는 어느 정도 밀려 있나요?" 📊 "재유치(win-back) 목록용 프리뷰 캠페인을 만들고, 영업 스킬을 연결한 다음 시작하세요." 🛠️ "OUTBOUND_AGED 캠페인을 중지하고 이 리드 3건을 콜백 목록에 추가하세요." 📞 "새 상담원을 온보딩하세요: 사용자를 만들고 결제(billing) 스킬을 레벨 2로 할당하세요." 🧑💼 "555-867-5309가 우리 DNC 목록에 있나요? 누가 전화를 걸기 전에 확인해 주세요." 🚫 "어제의 Call Log 리포트를 가져와서 포기율(abandon rate)을 요약해 주세요." 📈 "완전한 IVR을 만들어 주세요: 1번은 스케줄링, 2번은 결제, 근무 시간 외에는 음성사서함으로 연결하세요." 🧩

내부적으로 이 서버는 Five9의 Configuration(관리자) 및 Statistics(슈퍼바이저) SOAP 웹 서비스 — Five9 관리자 화면을 여전히 구동하는 API — 와 통신하며, 이를 MCP streamable HTTP 위에서 깔끔한 JSON 도구로 노출합니다. 직접 작성한 봉투(envelope), 약 60줄짜리 XML 파서, npm 패키지 없음. 모든 도구는 실제 Five9 도메인에서 검증되었습니다.

✨ 내장 웹 UI

배포하면 Worker가 API 이상의 것을 제공합니다:

Page

제공 기능

/

세련된 랜딩 페이지: 실시간 서버 상태, 이 설정 가이드, 클릭별 AI 연결 안내, 전체 도구 카탈로그

/setup

설정 마법사 — 브라우저에서 Five9 자격 증명을 입력하고, 실시간으로 검증한 뒤 액세스 키를 받습니다. 터미널도, secrets 명령도 필요 없습니다

/console

대화형 콘솔 — 액세스 키를 붙여넣고, 77개의 그룹화된 도구 중 하나를 골라 스키마에서 생성된 양식을 채운 뒤 브라우저에서 바로 실제 Five9 도메인에 실행합니다

/mcp

MCP 엔드포인트 자체 (streamable HTTP, 무상태)

/health

JSON 상태 확인

콘솔은 자격 증명을 확인하고, 각 도구가 반환하는 결과를 탐색하고, 캠페인을 디버깅하는 가장 빠른 방법입니다 — AI 없이도 가능합니다.

🚀 빠른 시작 — 터미널 필요 없음

무료 Cloudflare 계정과 API 액세스 권한이 있는 Five9 사용자가 필요합니다 — AI가 수행하길 원하는 범위로 전용 Five9 API 사용자를 만들고, 개인 관리자 로그인을 재사용하지 마세요.

1 — Cloudflare에 배포 (브라우저에서 한 번의 클릭으로)

Deploy to Cloudflare

Cloudflare에 로그인하고 안내를 따라 클릭하세요 — 이 Worker의 복사본(필요한 KV 네임스페이스 포함)이 생성되고 https://five9-mcp.you.workers.dev 같은 URL이 제공됩니다.

2 — 설정 마법사 실행 (브라우저에서)

새 서버에서 **/setup**을 엽니다. Five9 사용자 이름, 비밀번호, 리전을 입력하세요 — 마법사는 저장하기 전에 Five9에 대해 실시간으로 검증한 다음, 액세스 키를 전달합니다(한 번만 표시됩니다 — 비밀번호 관리자에 저장하세요).

3 — AI 연결 (아래 안내 참조), 그런 다음 *"연결을 확인하고 내 캠페인 목록을 보여줘."*라고 요청하세요. 🎉

git clone https://github.com/ryanshatz/five9-mcp
cd five9-mcp
npx wrangler deploy   # provisions the CONFIG KV namespace on first deploy

그런 다음 /setup 마법사를 사용하거나, 건너뛰고 Wrangler secrets로 자격 증명을 관리하세요(secrets가 마법사보다 우선합니다):

npx wrangler secret put FIVE9_USERNAME   # e.g. apiuser@yourdomain
npx wrangler secret put FIVE9_PASSWORD
npx wrangler secret put MCP_AUTH_TOKEN   # a long random string — this is the key to your server

기본값은 wrangler.toml에 있으며 미국 도메인에서 작동합니다:

Var

기본값

참고

FIVE9_API_HOST

api.five9.com

EU: api.eu.five9.com · 캐나다: api.ca.five9.com

FIVE9_ADMIN_VERSION

v13

Config Web Services WSDL 버전

FIVE9_SUPERVISOR_VERSION

v13

Statistics Web Services WSDL 버전

🔌 AI 연결하기

Claude 연결 (웹 및 데스크톱)

커스텀 커넥터는 Free(커넥터 1개), Pro, Max, Team, Enterprise 플랜에서 사용할 수 있습니다.

  1. claude.ai 또는 Claude 데스크톱 앱에서 Settings → Connectors를 엽니다.

  2. Add custom connector를 클릭합니다.

  3. 이름을 Five9로 지정하고 서버 URL을 /mcp 경로를 포함하여 붙여넣으세요: https://<your-worker>.workers.dev/mcp

  4. Add를 클릭한 다음 Connect를 클릭합니다. Claude가 이 서버에 내장된 OAuth를 자동으로 발견하고 인증 페이지를 엽니다.

  5. 🔐 five9-mcp 화면에서 액세스 키로 MCP_AUTH_TOKEN을 붙여넣고 Authorize를 클릭합니다.

  6. 아무 채팅에서 search & tools (+) 메뉴를 열고 Five9 커넥터가 켜져 있는지 확인합니다.

Team/Enterprise: Owner(소유자)가 먼저 Organization settings → Connectors에서 커넥터를 추가합니다. 그러면 멤버가 자신의 설정에서 Connect를 클릭하여 인증합니다.

ChatGPT 연결

커스텀 MCP 커넥터는 Developer mode가 필요합니다(Plus/Pro; Business/Enterprise에서는 관리자가 커스텀 커넥터를 허용해야 합니다).

  1. 웹의 ChatGPT에서 Settings → Apps & Connectors(때로는 Connectors로만 표시됨)를 엽니다.

  2. Advanced settings 아래에서 Developer mode를 켭니다.

  3. Connectors 페이지로 돌아가 Create를 클릭합니다.

  4. 이름을 Five9로 지정하고, MCP server URLhttps://<your-worker>.workers.dev/mcp로 설정한 다음 OAuth 인증을 선택합니다.

  5. 신뢰 프롬프트를 확인하고 저장합니다. ChatGPT가 이 서버의 인증 페이지를 엽니다 — MCP_AUTH_TOKEN을 붙여넣고 Authorize를 클릭하세요.

  6. 새 채팅에서 + / tools 메뉴를 열고 Five9 커넥터를 활성화합니다(Developer mode 커넥터는 대화별로 활성화됩니다). ChatGPT가 각 도구 호출을 확인하도록 요청합니다 — 다이얼러를 시작할 수 있는 작업이라면 합리적입니다. 😄

Claude Code 연결

claude mcp add --transport http five9 https://<your-worker>.workers.dev/mcp \
  --header "Authorization: Bearer <your MCP_AUTH_TOKEN>"

액세스 키 원본을 bearer 토큰으로 바로 사용할 수 있습니다 — OAuth 절차가 필요 없습니다. 확인하려면 Claude Code 안에서 /mcp를 실행하세요.

기타 MCP 클라이언트

MCP streamable HTTP를 지원하는 모든 클라이언트에서 작동합니다 — OAuth 흐름을 완료하거나 액세스 키를 bearer 토큰으로 보내세요:

curl -X POST https://<your-worker>.workers.dev/mcp \
  -H "Authorization: Bearer <MCP_AUTH_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_connection","arguments":{}}}'

src/oauth.js단일 운영자(single-operator) 배포를 위해 설계된 최소한의 OAuth 2.1 인증 서버(메타데이터 검색, 동적 클라이언트 등록, PKCE S256, 갱신 토큰)를 구현합니다:

  • 동의 화면의 "login"은 서버의 액세스 키(MCP_AUTH_TOKEN)입니다.

  • 모든 것이 무상태(stateless)입니다 — 클라이언트 ID, 인증 코드, 토큰은 MCP_AUTH_TOKEN을 키로 하는 HMAC-SHA256 서명 blob입니다. KV도, Durable Objects도 없습니다.

  • 두 인증 경로가 동시에 작동합니다: OAuth로 발급된 토큰 그리고 bearer 자격 증명으로서의 원시 키.

  • 비밀을 교체하면 모든 것이 한 번에 취소됩니다: npx wrangler secret put MCP_AUTH_TOKEN.

🧰 도구 상자

77개의 도구. 🟢 = 읽기(항상 안전) · ✏️ = 쓰기(도메인에 변경을 가합니다 — 서버가 AI에게 먼저 사용자 확인을 받도록 안내합니다)

69개의 SOAP 도구(사용자 이름/비밀번호) + 8개의 OAuth New Platform REST 도구(Consumer Key/Secret — OAuth New Platform APIs 참조).

핵심 기능: 콜 흐름을 한 문단으로 설명하면 AI가 설계하고, 채팅에서 Mermaid 다이어그램을 보여주며, 작동하는 IVR 스크립트를 배포합니다. 모델은 Five9의 IVR XML을 즉흥적으로 만들지 않습니다. 제약된 JSON 흐름 스펙(play / menu / business-hours / skill transfer / voicemail / hangup)을 채우면, 그래프 검증기가 모든 분기와 참조를 확인하고, 결정론적 코드가 디자이너 형식의 XML(모듈 연결, 프롬프트 인코딩, 필드 순서는 모두 실제 내보낸 스크립트에서 파생)을 생성합니다.

Tool

기능

🟢

validate_ivr_flow

흐름 스펙을 그래프로 검증 + 참조된 스킬/프롬프트가 도메인에 존재하는지 확인

🟢

render_ivr_flow

흐름 스펙 또는 기존 IVR 스크립트를 Mermaid 플로차트로 렌더링

✏️

build_ivr_script

전체 스크립트 XML을 구성하여 도메인에 생성(먼저 살펴보려면 dry_run)

✏️

generate_prompt_audio

최신 AI 음성으로 프롬프트를 음성화하고 Five9 호환 G.711 u-law WAV로 업로드합니다. API 키 불필요: Worker에 내장된 Workers AI(Deepgram Aura, 약 40개 음성)로 구동됩니다

권장 흐름: validate → render(사람에게 보여주세요!) → generate prompts → build → 인바운드 캠페인에 연결. generate_prompt_audio는 추가 설정 없이 Cloudflare Workers AI에서 실행됩니다: 외부 TTS 계정도, API 키도 필요 없고, 프롬프트당 1센트 미만으로 이미 배포한 Cloudflare 계정에 청구됩니다. ElevenLabs/OpenAI도 해당 키 시크릿을 설정하면 사용할 수 있으며, {tts} 프롬프트(Five9 내장 로봇 음성)는 아무것도 필요하지 않습니다.

Tool

기능

🟢

about

AI를 위한 운영자 컨텍스트 — 이 서버를 운영하는 사람과 기본 규칙

🟢

check_connection

Five9 자격 증명이 작동하는지 확인하고, 표시되는 스킬 수를 반환

🟢

get_api_usage

현재 Five9 API 사용량 카운터와 요율 제한 비교

도구

기능

🟢

list_campaigns

캠페인 목록 (이름, 유형, 상태, 모드)

🟢

inspect_campaign

상태 + 연결된 리스트 + DNIS를 한 번의 호출로

🟢

get_campaign_details

전체 캠페인 구성 (다이얼링 모드, 비율, 녹음, wrap-up…)

✏️

create_campaign

아웃바운드 또는 인바운드 캠페인 생성, BASIC 또는 ADVANCED

✏️

modify_campaign

모든 캠페인 설정 편집 — 읽기-수정-쓰기 방식, 변경 사항만 전달

✏️

rename_campaign

캠페인 이름 변경

✏️

delete_campaign

캠페인 삭제

✏️

control_campaign

start / stop / force_stop / reset / reset_list_positions

✏️

manage_campaign_lists

우선순위를 지정하여 다이얼링 리스트 연결/분리

✏️

manage_campaign_skills

캠페인에 라우팅 스킬 추가/제거

✏️

manage_campaign_dnis

인바운드 번호 연결/분리

✏️

manage_campaign_dispositions

캠페인에 에이전트 디스포지션 추가/제거

🟢

list_campaign_profiles

캠페인 프로필 목록 (ANI, 시도 횟수, 타임아웃)

✏️

manage_campaign_profile

캠페인 프로필 생성 / 수정 / 삭제

✏️

manage_campaign_profile_filter

프로필의 CRM 레코드 선택 기준 및 다이얼링 순서 읽기 / 편집

도구

기능

🟢

list_dialing_lists

다이얼링 리스트 + 레코드 수 목록

✏️

create_list / delete_list

다이얼링 리스트 생성 또는 삭제

✏️

add_record_to_list

리스트에 리드 추가 (비동기 가져오기)

✏️

add_records_to_list

여러 리드를 한 번의 비동기 가져오기로 대량 추가 (CRM/리스트 모드 구성 가능)

✏️

delete_record_from_list

리스트에서 일치하는 레코드 제거

🟢

get_import_result

비동기 리스트/CRM 가져오기의 결과

도구

기능

🟢

search_contacts

정확한 필드 값으로 연락처 검색

✏️

update_contact

연락처 업데이트 (기본값: 단일 일치 시에만 안전하게 업데이트)

✏️

bulk_update_contacts

여러 CRM 연락처를 한 번의 비동기 가져오기로 업데이트 (type "crm"으로 폴링)

✏️

delete_contact

연락처 삭제 (정확히 하나가 일치할 때만)

🟢

list_contact_fields

도메인의 연락처 필드 스키마

✏️

manage_contact_field

사용자 정의 CRM 필드 생성 / 수정 / 삭제

도구

기능

✏️

manage_dnc

도메인 DNC 목록에서 번호 확인 / 추가 / 제거

🟢

get_dialing_rules

도메인 다이얼링 규칙 (시간/주(state) 제한)

도구

기능

🟢

list_users

일반 정보와 함께 사용자 목록

🟢

get_user_details

한 사용자의 전체 레코드: 역할, 스킬, 그룹

✏️

create_user

역할, 스킬, 그룹으로 사용자 생성

✏️

modify_user

사용자 정보 편집 — 변경 사항만 전달

✏️

delete_user

사용자 삭제

🟢

list_user_profiles

역할/권한 템플릿

🟢

list_skills / get_skill_details

스킬 (할당된 사용자 포함 또는 제외)

✏️

manage_skill

스킬 생성 / 수정 / 삭제

✏️

manage_user_skills

사용자에게 스킬 할당, 레벨 설정

✏️

set_user_roles

역할 부여 / 취소 (agent, admin, supervisor, reporting, crmManager) 및 권한 탭 관리

🟢

list_agent_groups

에이전트 그룹 + 구성원

✏️

manage_agent_group

그룹 생성/삭제, 에이전트 추가/제거

✏️

manage_reason_code

Not Ready / Logout 사유 코드

도구

기능

🟢

list_dispositions

통화 디스포지션 및 해당 설정

✏️

manage_disposition

디스포지션 생성 / 수정 / 이름 변경 / 삭제 (재다이얼 타이머 포함)

🟢

list_ivr_scripts / get_ivr_script

IVR 스크립트 — 메타데이터 또는 한 스크립트의 전체 XML

✏️

manage_ivr_script

IVR 스크립트 생성 / 수정 / 삭제 (전체 xmlDefinition 푸시)

🟢

list_prompts

도메인의 음성 프롬프트

✏️

manage_tts_prompt

텍스트 음성 변환(TTS) 프롬프트 생성 / 수정 / 삭제

✏️

manage_wav_prompt

사전 녹음된 WAV 프롬프트 생성 / 수정 / 삭제 (base64; G.711 µ-law 8kHz 모노)

🟢

list_dnis

프로비저닝된 인바운드 번호 (선택적으로 미할당만)

🟢

list_call_variables

통화 변수 및 변수 그룹

✏️

manage_call_variable

사용자 정의 통화 변수 생성 / 삭제

🟢

list_web_connectors

웹 커넥터 통합

✏️

manage_web_connector

웹 커넥터 생성 / 삭제 (에이전트가 트리거하는 URL 팝업)

✏️

manage_speed_dial

스피드 다이얼 코드 목록 / 생성 / 삭제

🟢

get_vcc_configuration

도메인 수준 VCC 설정

도구

기능

🟢

run_report

폴더 + 이름으로 모든 보고서 실행, 선택적 시간 범위

🟢

get_report_result

보고서의 CSV 출력 폴링

🟢

get_realtime_stats

AgentState, ACDStatus, CampaignState, 캠페인 통계 (dialer-manager 및 autodial 뷰 포함)

이 도구들은 위의 도구들이 사용하는 SOAP API가 아닌 Five9의 최신 OAuth 2.0 "New Platform" REST API를 사용합니다. 이를 위해서는 API Access Control 자격 증명(Consumer Key/Secret)이 필요하며, SOAP 사용자 이름/비밀번호가 아닙니다OAuth New Platform APIs 참조.

도구

기능

🟢

rest_check_connection

OAuth 자격 증명 확인 — bearer 토큰 획득 (도메인 데이터 없음)

🟢✏️

rest_call

모든 New Platform 엔드포인트에 대한 일반 인증 호출 (메서드 + 경로 + 본문), rate-limit/backoff 및 ETag 지원

🟢✏️

manage_circle

Circles — 목록 / 조회 / 생성 / 삭제 (SOAP에 해당하는 기능 없음)

🟢

list_np_prompts

New Platform prompts API를 통한 음성 프롬프트 (페이지네이션)

🟢

list_interaction_dispositions

interactions API를 통한 디스포지션 (SOAP 목록보다 풍부함; 읽기 전용)

🟢

get_domain_info

도메인 메타데이터 (id, name, tenant, 서비스 엔드포인트)

🟢

list_data_tables

Data Tables (구조화된 조회 테이블; SOAP에 해당하는 기능 없음) — 별도의 data-tables 자격 증명 사용

🟢

get_data_table_rows

id별 Data Table의 행 (페이지네이션)

🔐 OAuth New Platform APIs

SOAP 도구와 함께, 서버는 Five9의 최신 OAuth 2.0 New Platform REST API를 호출할 수 있습니다 (예: Circles, interactions, prompts, domain metadata). 이들은 SOAP 사용자 이름/비밀번호와 다른 자격 증명을 사용합니다:

  • API Access Control Consumer KeyConsumer Secret — Five9 Admin Console → API Access Control에서 생성됩니다(Controlled-Availability 기능). 생성하려면 security → applications → Create applications 권한이 필요하며, 계정이 Five9 Identity Service로 마이그레이션되어야 합니다(레거시 API/Agent/Supervisor 역할이 있는 사용자는 해당 역할이 제거될 때까지 마이그레이션에서 제외됩니다).

  • 이를 env/secret 변수로 구성하세요(SOAP 자격 증명과 모두 별도로):

FIVE9_CONSUMER_KEY=...           # "All APIs access" family credential (default)
FIVE9_CONSUMER_SECRET=...
FIVE9_DOMAIN_ID=131109           # your Admin Console domain id
FIVE9_REST_REGION=US             # US | US-ALPHA | CA | EU | IN | UK
# or pin the base URL directly: FIVE9_REST_BASE_URL=https://api.prod.us.five9.net

# Optional second credential for the "Data Tables access" family (its own key):
FIVE9_DT_CONSUMER_KEY=...
FIVE9_DT_CONSUMER_SECRET=...

그런 다음 rest_check_connection을 실행하여 토큰 흐름을 확인하세요. 각 자격 증명이 접근할 수 있는 범위는 해당 API 패밀리 + 범위(scopes) 에 의해 결정됩니다 — all-apis-access는 말 그대로 모든 서비스를 부여하지 않으며, 쓰기 액세스는 서비스별로 다릅니다.

여러 자격 증명 / 패밀리. 각 API Access Control 자격 증명은 하나의 패밀리(Apigee API Product에 매핑됨)에 속하며, 해당 패밀리가 키가 호출할 수 있는 서비스를 결정합니다. 서버는 명명된 자격 증명을 지원합니다: default(FIVE9_CONSUMER_KEY/SECRET에서) 및 data-tables(FIVE9_DT_CONSUMER_KEY/SECRET에서). Data Tables 도구는 자동으로 data-tables 자격 증명을 사용합니다; rest_callrest_check_connectioncredential 인수를 받아 하나를 선택할 수 있습니다.

참고: Five9 시작 가이드 문서에는 토큰 엔드포인트가 /v1/auth/token으로 나와 있지만, 실제 엔드포인트는 **/oauth2/v1/token**입니다(이 클라이언트가 사용하는 것).

🎨 운영자 컨텍스트 사용자 지정

src/about.js에는 MCP instructions 필드와 about 도구를 통해 연결된 AI에 제공되는 텍스트가 들어 있습니다: 서버를 운영하는 사람, 서버가 존재하는 이유, AI가 어떻게 행동해야 하는지(예: "쓰기 작업 전에 확인"). 자신의 배포를 설명하도록 편집하세요 — 원래 운영자의 컨텍스트를 예시로 포함하고 있습니다.

🏗️ 아키텍처

빌드 단계도, 의존성도 없습니다 — src/의 순수 JS 모듈:

src/
├── index.js   # router, CORS, MCP JSON-RPC handler, /setup endpoint
├── five9.js   # SOAP client: envelope builder, ~60-line XML parser, one method per Five9 op
├── tools.js   # MCP tool definitions (JSON Schema) + dispatch
├── oauth.js   # stateless OAuth 2.1 server (single-operator model)
├── config.js  # config resolution: Wrangler secrets > KV (setup wizard)
├── ui.js      # landing page, setup wizard, interactive console
└── about.js   # operator context — edit this for your deployment

요청은 무상태(stateless)입니다: 모든 MCP 호출은 HTTP Basic 인증으로 새 Five9 SOAP 교환을 엽니다. Statistics API는 추가로 setSessionParameters 호출이 필요하며, get_realtime_stats가 호출 시마다 이를 수행합니다.

  • Five9의 엔드포인트는 JAXB로 생성되며 WSDL을 기준으로 자식 요소 순서를 검증합니다. 이 서버를 확장하려면 WSDL(https://api.five9.com/wsadmin/v13/AdminWebService?wsdl, HTTP Basic 인증)을 가져와 <xs:sequence> 순서를 정확히 일치시키세요 — basicImportSettings 같은 기본 유형도 포함하며, 해당 요소들은 확장의 요소들 앞에 옵니다.

  • addToListCsv는 WSDL이 대부분 minOccurs="0"으로 표시함에도 cleanListBeforeUpdate, crmAddMode, crmUpdateMode, listAddMode를 요구합니다.

  • 목록/CRM 가져오기는 비동기적입니다: 호출은 즉시 가져오기 식별자를 반환하며, 결과를 얻으려면 get_import_result를 폴링하세요.

  • 연락처 레코드 값은 래핑되어 반환됩니다(<values><data>…</data></values>); 여러 응답은 1개 요소 배열을 기대하는 곳에서 단일 객체를 반환합니다. five9.jstoArray()가 이를 정규화합니다.

  • 보고서 시간 조건 순서는 <end><start> 앞에 옵니다 (JAXB 알파벳순 정렬).

  • IVR xmlDefinition은 비주얼 디자이너의 저장 형식입니다: 모듈은 GUID(ascendants / singleDescendant / branches)로 연결되고, 인라인 TTS 텍스트는 gzip+base64 speakElement 문서로 저장되며, 영업 시간 확인은 __DAY__(SUN=1..SAT=7) 및 __TIME__(자정 이후 분) 시스템 변수를 비교합니다. ivr.js가 이 모두를 캡슐화합니다.

  • getPrompts프롬프트 id를 반환하지 않습니다 (이름 + 유형만). IVR XML 내부의 파일 프롬프트 참조는 id 0 + 프롬프트 이름으로 허용되며 서버 측에서 정규화됩니다; 푸시된 스크립트는 서버가 부여한 domainId가 추가된 채 왕복합니다.

🛡️ 보안

  • Five9 자격 증명은 Cloudflare 계정에만 저장됩니다 — Worker 비밀로, 또는 (마법사 경로) Workers KV 네임스페이스에 저장 시 암호화되어 보관됩니다. 어떤 도구도 이를 반환하지 않으며, Wrangler 비밀이 항상 KV를 덮어씁니다.

  • 설정 마법사는 새로 배포되어 아직 구성되지 않은 서버에서만 열립니다 — 배포 직후 실행하세요. 일단 구성되면 모든 변경에는 현재 액세스 키가 필요하며, env로 관리되는 서버는 마법사 변경을 완전히 거부합니다.

  • 항상 설정을 완료하세요 (또는 MCP_AUTH_TOKEN을 설정하세요). 액세스 키 없이 구성되지 않은 서버는 열린 상태로 실행됩니다 — URL을 찾은 사람은 누구나 여러분의 컨택 센터를 마음대로 조종할 수 있습니다.

  • 쓰기 도구(위 ✏️)는 도메인을 변경합니다. Five9 API 사용자 역할을 AI가 실제로 수행하길 원하는 범위로 한정하세요 — Five9 권한이 실제 보안 경계입니다.

  • manage_dnc removedelete_list는 특히 주의가 필요합니다; about 지침은 AI에게 사용 전에 확인하도록 안내합니다.

  • 콘솔은 액세스 키를 브라우저의 localStorage에만 저장하며, 호출은 동일 출처(same-origin)로 여러분 자신의 Worker에 전달됩니다.

💻 개발

npm run dev      # wrangler dev on http://localhost:8787
npm run deploy   # wrangler deploy

로컬 비밀을 .dev.vars에 넣으세요 (gitignore 처리됨):

FIVE9_USERNAME=apiuser@yourdomain
FIVE9_PASSWORD=...
MCP_AUTH_TOKEN=dev-local-token

# Optional — external AI voice providers for generate_prompt_audio.
# The default (Workers AI / Deepgram Aura) needs no key at all.
ELEVENLABS_API_KEY=...
OPENAI_API_KEY=...

# Optional — OAuth New Platform REST tools (separate credential; see below)
FIVE9_CONSUMER_KEY=...
FIVE9_CONSUMER_SECRET=...
FIVE9_DOMAIN_ID=131109
FIVE9_REST_REGION=US
FIVE9_DT_CONSUMER_KEY=...        # optional: "Data Tables access" family
FIVE9_DT_CONSUMER_SECRET=...

그런 다음 http://localhost:8787/console을 열고 dev-local-token을 붙여넣은 후 도메인에 대해 도구를 실행하세요 — 또는 위의 curl 스니펫으로 CLI에서 스모크 테스트를 하세요.

🤝 기여

PR 환영합니다! Five9 Config API에는 ~180개의 작업이 있으며, 이 서버는 가장 유용한 69개를 래핑합니다 — five9.js + tools.js의 패턴은 확장하기 쉽습니다(먼저 SOAP 참고 사항을 읽으면 WSDL과 싸우지 않아도 됩니다). 제로 의존성 제약을 지켜 주세요.

📄 라이선스

MIT · 제작: Ryan Shatzkamer

-
license - not tested
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Manage AI assistants, history, calls, campaigns, contacts, knowledge, messaging, and automations.

  • Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP

  • Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shaunwestALP/five9-mcp-mvp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server