Sinch Engage / MessageMedia MCP server
공식Sinch Engage (호주에서는 Sinch MessageMedia) MCP 서버로, Sinch Engage API를 MCP 도구로 제공합니다.
문서
Sinch Engage MCP 서버
이 저장소는 Sinch Engage(호주에서는 Sinch MessageMedia) MCP 서버의 소스 코드를 포함하며, Sinch Engage API를 MCP 도구로 제공합니다.
도구 개요
다음은 MCP 서버에서 사용 가능한 도구 목록입니다(모든 전화번호는 E.164 형식으로 제공되어야 합니다. 예: 호주의 경우 +61400000000).
메시징
| 도구 | 설명 | 카테고리 | 모드 |
|---|---|---|---|
| sendMessage | 휴대폰 번호로 SMS 전송 | messaging | write |
보고
| 도구 | 설명 | 카테고리 | 모드 |
|---|---|---|---|
| getDetailedMessageReport | 지정된 날짜 범위에 대해 발신 및 수신 메시지의 상세 보고서를 생성하며, 방향, 계정, 메타데이터 및 그룹화에 대한 선택적 필터를 제공합니다. | reporting | read |
| getSummaryMessageReport | 지정된 날짜 범위에 대해 발신 및 수신 메시지의 요약 보고서를 생성하며, 방향, 계정 및 그룹화에 대한 선택적 필터를 제공합니다. | reporting | read |
| getSummaryInsightMessageReport | 지정된 날짜 범위에 대해 사전 컴파일된 발신 및 수신 메시지의 요약 보고서를 가져오며, 방향, 계정 및 그룹화에 대한 선택적 필터를 제공합니다. | reporting | read |
| getAsyncReportStatus | report_id로 비동기 보고서 요청의 상태를 조회합니다. | reporting | read |
| getAsyncReportFields | 비동기 상세 보고서 내보내기에 사용 가능한 필드 목록을 조회합니다. | reporting | read |
| requestAsyncDetailedMessageReport | 지정된 날짜 범위에 대해 발신 및 수신 메시지의 비동기 상세 보고서를 요청하며, 보고서 형식 및 대상에 대한 전달 옵션을 제공합니다. | reporting | read |
연락처
| 도구 | 설명 | 카테고리 | 모드 |
|---|---|---|---|
| getContactGroups | 계정과 연결된 연락처 그룹(목록)의 페이지네이션된 목록을 조회합니다. | reporting | read |
| getContactGroupDetails | group_id로 식별된 특정 연락처 그룹(목록)의 세부 정보를 조회합니다. | reporting | read |
| createContactGroup | 지정된 이름과 선택적 별칭으로 새 연락처 그룹(목록)을 생성합니다. | reporting | write |
| createContact | 지정된 세부 정보로 새 연락처를 생성합니다. | reporting | write |
| updateContact | contact_id로 식별된 기존 연락처를 새 세부 정보로 업데이트합니다. | reporting | write |
| deleteContactGroup | group_id로 식별된 특정 연락처 그룹(목록)을 삭제합니다. | reporting | delete |
시작하기
사전 요구 사항
- Node.js >= 16.0
- 프로비저닝된 Sinch Engage 계정
- Claude Desktop(또는 다른 MCP 클라이언트). 이 README는 Claude Desktop에 중점을 두지만, MCP 서버는 모든 MCP 클라이언트와 함께 사용할 수 있습니다.
API 자격 증명
MCP 도구에서 사용하는 API를 사용하려면 다음 자격 증명이 필요합니다:
SINCH_ENGAGE_API_KEY및SINCH_ENGAGE_API_SECRETSinch Engage 자격 증명
MCP 서버 구성
Sinch Engage MCP 서버는 실행 가능한 NPM 패키지로 제공됩니다. Claude Desktop 구성 파일(claude_desktop_config.json)에서 설정하는 방법은 다음과 같습니다. 환경 변수에 자신의 자격 증명과 지역(현재 지원되는 EU 및 AU)을 입력해야 합니다:
{
"mcpServers": {
"Sinch Engage": {
"command": "npx",
"args": [
"-y",
"@sinch-engage/mcp-server"
],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
로컬에서 MCP 서버 실행하기
옵션 1: Claude Desktop과 함께 stdio를 사용하여 MCP 서버 시작
Claude Desktop과 함께 로컬에서 MCP 서버를 실행하려면 저장소를 클론하고 MCP 서버를 빌드해야 합니다. 이 옵션은 로컬 개발 및 테스트에 유용합니다.
1단계: 저장소 클론
git clone https://github.com/messagemedia/sinch-engage-mcp-server.git
2단계: 종속성 설치
cd sinch-engage-mcp-server
npm install
3단계: Claude Desktop 구성 설정
다음은 Claude Desktop 구성 파일(claude_desktop_config.json)에서 MCP 서버를 구성하는 예시로, Sinch Engage 자격 증명과 지역(EU 또는 AU)을 제공할 수 있습니다:
{
"mcpServers": {
"Sinch Engage": {
"command": "node",
"args": ["/path/to/sinch-engage-mcp-server/src/index.js"],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
4단계: (선택 사항) MCP 서버에서 사용 가능한 도구 필터링
도구가 너무 많으면 컨텍스트가 커지고, 토큰 사용량이 증가하며, LLM이 올바른 도구를 선택하는 데 혼란을 줄 수 있습니다.
Claude Desktop 구성 옵션에서 MCP_TOOL_CATEGORIES을 제공하여 MCP 서버에서 사용 가능한 도구를 필터링할 수 있습니다.
권한별로 도구를 필터링하려면 MCP_TOOL_MODES을 사용하여 데이터를 읽거나, 쓰거나, 삭제할 수 있는 도구 또는 그 조합만 선택할 수 있습니다.