메일모도-mcp
이는 Claude Desktop 및 기타 MCP 지원 클라이언트와 Mailmodo를 통합하기 위한 MCP(Message Control Protocol) 서버를 구현하는 TypeScript 프로젝트입니다.
필수 조건
- Node.js(v20 이상 권장)
- npm(Node.js와 함께 제공)
설치
- 저장소를 복제합니다.
지엑스피1
- 종속성 설치:
프로젝트 구축
TypeScript 코드를 JavaScript로 컴파일하려면 다음을 실행하세요.
이렇게 하면 컴파일된 JavaScript 파일이 포함된 dist
디렉토리가 생성됩니다.
프로젝트 실행
빌드 후 다음을 사용하여 프로젝트를 실행할 수 있습니다.
또는 npm 스크립트를 사용하세요.
클로드 데스크톱 구성
코드에서 로컬 실행
Claude Desktop으로 이 프로젝트를 구성하려면 Claude Desktop 설정에 다음 구성을 추가하세요.
{
"mcpServers": {
"mailmodo": {
"command": "node",
"args": [
"/path/to/your/mailmodo-mcp/dist/index.js"
]
}
}
}
도커 이미지에서 실행
{
"mcpServers": {
"mailmodo": {
"command": "docker",
"args": [
"run",
"--platform",
"linux/amd64",
"-i",
"--rm",
"-e",
"MAILMODO_API_KEY",
"avneesh001/mailmodo-mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
npx에서 실행
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"@mailmodo/mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
원격 서버를 통해 연결
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.app.mailmodo.com/mcp",
"--header",
"mmApiKey:${MAILMODO_API_KEY}"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
args
배열의 파일 경로를 로컬 프로젝트 디렉토리와 일치하도록 조정하세요.
개발
자동 재컴파일을 사용하여 개발 모드에서 프로젝트를 실행하려면:
- 개발 종속성으로
ts-node
와 nodemon
설치합니다.
npm install --save-dev ts-node nodemon
- package.json에 개발 스크립트를 추가합니다.
{
"scripts": {
"dev": "nodemon src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
}
- 개발 서버를 실행합니다.
프로젝트 구조
mailmodo-mcp/
├── src/ # TypeScript source files
├── dist/ # Compiled JavaScript files
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
도구 및 리소스
Mailmodo MCP 서버는 Mailmodo 기능을 사용하는 데 필요한 다양한 도구와 리소스를 제공합니다. 전체 목록은 다음과 같습니다.
자원
- Mailmodo 템플릿 (
mailmodo://templates
)- JSON 형식으로 사용 가능한 모든 이메일 템플릿 목록을 반환합니다.
- MIME 유형: application/json
- Mailmodo 캠페인 (
mailmodo://campaigns
)- JSON 형식으로 모든 캠페인 목록을 반환합니다.
- MIME 유형: application/json
- Mailmodo 연락처 목록 (
mailmodo://contact-lists
)- 모든 연락처 목록을 JSON 형식으로 반환합니다.
- MIME 유형: application/json
도구
- 사용자 세부 정보
- 이름:
userDetails
- 설명: 연락처의 모든 세부 정보를 가져옵니다.
- 매개변수:
- 캠페인 보고서 도구
- 이름:
MailmodoCampainReportTool
- 설명: 열림, 클릭, 제출 횟수를 포함한 캠페인 보고서를 받으세요.
- 매개변수:
campaignId
(UUID): 캠페인 IDfromDate
(YYYY-MM-DD): 보고서 시작 날짜toDate
(YYYY-MM-DD): 보고서 종료 날짜
- 현재 날짜 시간
- 이름:
currentDateTime
- 설명: 현재 날짜와 시간을 가져옵니다
- 매개변수: 없음
- 이벤트 보내기
- 이름:
sendEvent
- 설명: 이메일 및 이벤트 속성을 사용하여 사용자 정의 이벤트 보내기
- 매개변수:
email
(문자열): 연락처의 이메일 주소event_name
(문자열): 이벤트 이름ts
(숫자, 선택 사항): 타임스탬프event_properties
(객체, 선택 사항): 추가 이벤트 속성
- 연락처 목록 관리
- 목록에 연락처 추가
- 이름:
addContactToList
- 설명: 목록에 단일 연락처 추가
- 매개변수:
email
(문자열): 연락처의 이메일listName
(문자열): 목록의 이름data
(객체, 선택 사항): 연락처 속성- 연락처 메타데이터에 대한 다양한 선택 필드
- 대량 연락처 추가
- 이름:
addBulkContactToList
- 설명: 단일 작업으로 여러 연락처를 목록에 추가합니다.
- 매개변수:
listName
(문자열): 목록의 이름values
(배열): 연락처 객체의 배열
- 목록에서 연락처 제거
- 이름:
removeContactFromList
- 설명: 특정 목록에서 연락처 제거
- 매개변수:
email
(문자열): 연락처의 이메일listName
(문자열): 목록의 이름
- 연락처 상태 관리
- 구독 취소 연락처
- 이름:
unsubscribeContact
- 설명: 연락처 구독 취소 또는 억제
- 매개변수:
- 재구독 문의
- 이름:
resubscribeContact
- 설명: 이전에 구독 취소한 연락처를 다시 구독합니다.
- 매개변수:
- 보관소 연락처
- 이름:
archiveContact
- 설명: 연락처를 영구적으로 보관합니다.
- 매개변수:
- 캠페인 관리
- 이메일 캠페인 보내기
- 이름:
sendEmailToCampaign
- 설명: 개인화를 통해 이메일 캠페인을 트리거합니다.
- 매개변수:
campaignId
(문자열): 캠페인 IDemail
(문자열): 수신자의 이메일- 사용자 정의를 위한 다양한 선택적 매개변수
- 방송 캠페인
- 이름:
broadcastCampaignToList
- 설명: 전체 연락처 목록에 캠페인을 트리거합니다.
- 매개변수:
campaignId
(문자열): 캠페인 IDlistId
(문자열): 대상 목록 ID- 캠페인 사용자 정의를 위한 선택적 매개변수
특허
MIT 라이센스