@channel.io/create-workflow-mcp
v1.0.2
Published
Workflow creation Model Context Protocol server
Downloads
42
Readme
create-workflow-mcp
개요
create-workflow-mcp는 Channel.io 워크플로우를 생성하고 수정하기 위한 Model Context Protocol (MCP) 서버입니다. AI 코딩 어시스턴트가 이 서버를 통해 워크플로우 관련 작업을 수행할 수 있도록 설계되었습니다.
⚠️ 중요: 이 MCP를 사용할 때는 반드시 apps/create-workflow-mcp/prompt.md 파일을 AI 어시스턴트의 컨텍스트에 첨부해야 합니다. 이 파일에는 워크플로우 생성/수정 로직에 대한 상세한 가이드라인이 포함되어 있습니다.
사용 방법
Cursor MCP 서버 추가
Cursor Settings > Features > MCP 에서 "+ Add New MCP Server"를 클릭하여 MCP 서버를 추가합니다. (참고 문서)
- Name:
create-workflow-mcp(또는 원하는 이름) - Type: command
- Command:
npx - Args: (아래 두 줄을 각각 추가)
-y@channel.io/create-workflow-mcp
- Env: (필요한 환경 변수를 Key-Value 형태로 추가)
CHANNEL_ID:<<워크플로우를 생성/수정할 채널의 ID>>X_ACCOUNT_TOKEN:<<유효한 x-account 토큰 (workflowUpdate 권한 필요)>>DESK_API_BASE_URL:<<채널톡 Desk API 기본 URL (예: https://api.exp.channel.io)>>- (다른 필요한 환경 변수 추가)
- Name:
AI 어시스턴트와 상호작용
채팅 인터페이스에서 AI 어시스턴트에게 워크플로우 생성 또는 수정 요청을 합니다. 이때,
prompt.md파일을 반드시 컨텍스트에 첨부해야 합니다.AI 어시스턴트는 등록된 MCP 서버(
create-workflow-mcp) 내의 적절한 함수(툴)를 호출하여 요청된 작업을 수행하고 결과를 반환합니다.
주요 기능 (제공되는 툴)
이 MCP 서버는 다음과 같은 툴을 제공합니다. AI 어시스턴트는 prompt.md 가이드라인에 따라 이 툴들을 적절히 조합하여 사용합니다.
create_or_edit_workflow: 워크플로우 ID 유무에 따라 새 워크플로우 초안을 생성하거나 기존 초안을 수정합니다.- 입력:
workflowDraft(필수),workflowId(선택) - 출력: 생성/수정된
WorkflowViewType
- 입력:
get_workflow_detail: 특정 워크플로우의 상세 정보를 조회합니다.- 입력:
workflowId(필수) - 출력:
WorkflowViewType
- 입력:
validate_workflow_draft: 특정 워크플로우의 초안의 유효성을 검사합니다.- 입력:
workflowId(필수),workflowDraft(필수) - 출력:
BooleanViewType(성공 시{ result: true })
- 입력:
get_workflow_recipes: 추천 워크플로우 레시피 목록을 조회합니다. (현재 'kr' 국가 고정)- 입력: 없음
- 출력:
WorkflowRecipeBundlesViewType
get_workflow_recipe_detail: 특정 워크플로우 레시피 케이스의 상세 정보를 조회합니다.- 입력:
caseId(필수) - 출력:
WorkflowRecipeCaseViewType
- 입력:
아키텍처
- 분리된 서비스: 각 API 엔드포인트 호출 로직은
src/services/*.service.ts파일로 분리되어 관리됩니다. (BaseService상속) - 템플릿화된 툴 등록: MCP 툴 등록 및 공통 처리 로직은
src/tools/base.tool.ts의BaseToolRegistrar를 통해 추상화되어 있으며, 각 툴은 이를 상속받아 구현됩니다. - 의존성 주입:
src/index.ts에서 서비스 레지스트리를 사용하여 툴에 필요한 서비스 인스턴스를 주입합니다.
이 구조는 새로운 툴과 API 연동을 쉽게 추가하고 확장할 수 있도록 설계되었습니다.
