AI agent이 WhatsApp, Telegram, SMS 및 대량 메시지를 전송하고, 파일을 관리하며, 전송 상태를 모니터링할 수 있도록 지원합니다.
다른 이름 jetapi/jetapi-mcp-server, jetapi-mcp-server
- 스타
- 0
- Tools
- 14
- 다운로드, 30일
- —
- 최신 버전
- 1.0.3
- 마지막 커밋
- 2026년 9월 23일
- 라이선스
- MIT
JetAPI MCP란?
JetAPI은(는) MCP server입니다. AI agent이 WhatsApp, Telegram, SMS 및 대량 메시지를 전송하고, 파일을 관리하며, 전송 상태를 모니터링할 수 있도록 지원합니다. 14개 도구를 제공합니다. 예: get_account, get_balance, get_utm_tags.
프로젝트 README에서 생성된 요약
JetAPI MCP server 정보
JetAPI는 AI agent이 단일 통합을 통해 멀티 채널 통신을 관리할 수 있는 인터페이스를 제공합니다. Claude Desktop, Cursor, VS Code 또는 Claude Code와 같은 클라이언트를 사용하는 개발자는 WhatsApp, Telegram, SMS, VK, OK, MAX를 포함한 다양한 메시징 서비스에 agent를 연결할 수 있습니다. 이 MCP server는 stdio를 통해 로컬에서 작동하며, 기능을 사용하려면 JetAPI 대시보드에서 발급받은 JETAPI_TOKEN이 필요합니다.
이 도구 세트를 사용하면 여러 번호로 대량 메시지를 전송하거나, 미래의 발송을 예약하거나, 하나의 채널이 실패할 경우 다른 채널을 시도하는 캐스케이드 라우팅을 사용하는 등 정교한 메시징 워크플로우를 구현할 수 있습니다. 또한 최대 100 MB 크기의 문서, 이미지, 오디오 또는 비디오 파일 전송을 지원합니다. 콘텐츠 전송 외에도 사용자는 전송 상태를 모니터링하고, 수신 이벤트에 대한 웹훅을 관리하며, 현재 잔액이나 세션 상태와 같은 계정 세부 정보를 조회할 수 있습니다.
활용 사례
- 1자동화된 멀티 채널 메시징AI agent이 WhatsApp으로 메시지를 전송하고, 첫 번째 시도가 실패하면 SMS로 대체하여 전송할 수 있습니다.
- 2대량 커뮤니케이션 캠페인개발자가 agent에게 대량의 전화번호 목록에 단일 메시지를 동시에 배포하도록 지시할 수 있습니다.
- 3미디어 및 문서 배포agent가 로컬 경로 또는 URL에 있는 PDF나 이미지와 같은 파일을 수신자에게 전송할 수 있습니다.
- 4실시간 이벤트 모니터링사용자가 웹훅을 설정하여 수신 메시지나 WhatsApp 상태 변경에 대한 알림을 받을 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
JetAPI MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 JetAPI MCP 설치
$ claude mcp add --env JETAPI_TOKEN=<YOUR_JETAPI_TOKEN> jetapi-mcp-server -- npx -y jetapi-mcp-serverCursor에 JetAPI MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"jetapi-mcp-server": {
"command": "npx",
"args": [
"-y",
"jetapi-mcp-server"
],
"env": {
"JETAPI_TOKEN": "<YOUR_JETAPI_TOKEN>"
}
}
}
}VS Code에 JetAPI MCP 설치
.vscode/mcp.json
{
"servers": {
"jetapi-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"jetapi-mcp-server"
],
"env": {
"JETAPI_TOKEN": "<YOUR_JETAPI_TOKEN>"
}
}
}
}Claude Desktop에 JetAPI MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"jetapi-mcp-server": {
"command": "npx",
"args": [
"-y",
"jetapi-mcp-server"
],
"env": {
"JETAPI_TOKEN": "<YOUR_JETAPI_TOKEN>"
}
}
}
}Codex에 JetAPI MCP 설치
~/.codex/config.toml
[mcp_servers.jetapi-mcp-server] command = "npx" args = ["-y", "jetapi-mcp-server"] [mcp_servers.jetapi-mcp-server.env] JETAPI_TOKEN = "<YOUR_JETAPI_TOKEN>"
Gemini CLI에 JetAPI MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"jetapi-mcp-server": {
"command": "npx",
"args": [
"-y",
"jetapi-mcp-server"
],
"env": {
"JETAPI_TOKEN": "<YOUR_JETAPI_TOKEN>"
}
}
}
}JetAPI MCP 도구 14
README에서 감지됨get_accountget_balanceget_utm_tagssend_messagesend_bulkget_delivery_statusdelete_deliveryget_phone_infosend_filecreate_webhookget_webhooklist_webhooks
| get_account | — | |
| get_balance | — | |
| get_utm_tags | — | |
| send_message | — | |
| send_bulk | — | |
| get_delivery_status | — | |
| delete_delivery | — | |
| get_phone_info | — | |
| send_file | — | |
| create_webhook | — | |
| get_webhook | — | |
| list_webhooks | — |
도구 14개 모두 보기도구 수 줄이기
delete_webhookupdate_webhook
| delete_webhook | — | |
| update_webhook | — |
구성
JETAPI_TOKEN필수비밀Bearer token from the JetAPI dashboard (https://jetapi.io)
JETAPI_BASE_URLAPI host. Change only for a white-label JetAPI installation.
| 이름 | 설명 | 유형 |
|---|---|---|
| JETAPI_TOKEN | Bearer token from the JetAPI dashboard (https://jetapi.io) | 필수비밀 |
| JETAPI_BASE_URL | API host. Change only for a white-label JetAPI installation. |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능jetapi/jetapi-mcp-server is public and reachablegithub.com/jetapi/jetapi-mcp-server ↗통과
- 패키지가 이 저장소를 소스로 지정jetapi-mcp-server names jetapi/jetapi-mcp-server as sourcenpmjs.com/package/jetapi-mcp-server ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for jetapi-mcp-servernpmjs.com/package/jetapi-mcp-server/v/1.0.3#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-09-23github.com/jetapi/jetapi-mcp-server ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from jetapi-mcp-server통과
- 패키지와 의존성에 심각한 보안 권고 없음100 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음14 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기JetAPI MCP Server
Official MCP server for JetAPI — send WhatsApp, Telegram, SMS and MAX messages, files and bulk mailings from AI agents like Claude, Cursor and VS Code.
Tools
| Tool | Description |
|---|---|
get_account |
Full account info: balance, dispatch routing, sender names, subscription, WhatsApp/Telegram session status (token is masked) |
get_balance |
Balance, customer ID, dispatch routing channels and registered sender names |
get_utm_tags |
List UTM tags used to track dispatches |
send_message |
Send a text via WhatsApp, Telegram (tdlib), Telegram Bot, SMS, VK/OK or MAX — with cascade, scheduling, priority, reply-to and callbacks |
send_bulk |
Send the same message to many phone numbers at once |
get_delivery_status |
Status and details of a delivery, with the status explained in plain words |
delete_delivery |
Delete a delivered WhatsApp/Telegram message on all recipient devices |
get_phone_info |
Country, operator and normalized format of a phone number |
send_file |
Send a document, image, audio or video from a local path, URL or base64 (up to 100 MB) |
create_webhook |
Subscribe a URL to events: incoming messages, WhatsApp statuses, login/logout |
get_webhook |
Details of one webhook |
list_webhooks |
All registered webhooks |
delete_webhook |
Delete a webhook |
update_webhook |
Change a webhook's URL and/or event types |
Get a token
Sign up at jetapi.io and copy the API token from the dashboard. To send through WhatsApp or Telegram, connect the messenger in the dashboard first.
Installation
Claude Desktop — one click
- Download
jetapi-mcp-server.mcpbfrom the latest release. - Double-click it (or drag it into Claude Desktop → Settings → Extensions).
- Paste your JetAPI token when asked. It is stored securely by Claude Desktop.
Claude Desktop — config file
Requires Node.js 18.17 or newer. Open Settings → Developer → Edit Config (claude_desktop_config.json) and add:
{
"mcpServers": {
"jetapi": {
"command": "npx",
"args": ["-y", "jetapi-mcp-server"],
"env": { "JETAPI_TOKEN": "your_token_here" }
}
}
}
Restart Claude Desktop.
Claude Code
claude mcp add jetapi -- npx -y jetapi-mcp-server
The server needs JETAPI_TOKEN, so pass it when adding:
claude mcp add jetapi --env JETAPI_TOKEN=your_token_here -- npx -y jetapi-mcp-server
Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"jetapi": {
"command": "npx",
"args": ["-y", "jetapi-mcp-server"],
"env": { "JETAPI_TOKEN": "your_token_here" }
}
}
}
VS Code
Add to .vscode/mcp.json — VS Code will prompt for the token and keep it out of the file:
{
"inputs": [
{ "type": "promptString", "id": "jetapi_token", "description": "JetAPI token", "password": true }
],
"servers": {
"jetapi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "jetapi-mcp-server"],
"env": { "JETAPI_TOKEN": "${input:jetapi_token}" }
}
}
}
MCP Registry
The server is listed in the official MCP Registry as io.github.jetapi/jetapi-mcp-server, so clients and catalogs that read the registry can install it directly.
Other MCP clients
Any client that supports stdio servers:
{
"command": "npx",
"args": ["-y", "jetapi-mcp-server"],
"env": { "JETAPI_TOKEN": "your_token_here" }
}
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
JETAPI_TOKEN |
yes | — | Bearer token from the JetAPI dashboard |
JETAPI_BASE_URL |
no | https://api.jetapi.io |
API host |
JETAPI_DEBUG |
no | 0 |
1 logs every request to stderr |
Channels
dispatch_routing is an ordered list of channels. JetAPI tries them one by one and moves to the next channel only if delivery through the previous one fails. Without it, the default routing from your JetAPI dashboard is used.
| Value | Channel | Recipient |
|---|---|---|
whatsapp |
phone or whatsapp_lid |
|
tdlib |
Personal Telegram account | phone, username or tdlib_user_id (negative ID = group chat) |
telegram |
Telegram Bot | phone |
sms |
SMS | phone |
notify |
VK / OK notifications | phone |
max |
MAX messenger | phone |
Usage examples
Ask Claude in plain language:
| Say | Tool |
|---|---|
| "Show my JetAPI account — is WhatsApp connected?" | get_account |
| "How much money is left on JetAPI?" | get_balance |
| "Which UTM tags do I have?" | get_utm_tags |
| "Send a WhatsApp message to +7 999 123-45-67: Your order has shipped." | send_message |
| "Message @john_doe on Telegram that the meeting moved to 3 pm." | send_message (tdlib) |
| "Try WhatsApp first, then SMS: Your code is 4821." | send_message (cascade) |
| "Remind 79991234567 tomorrow at 09:00 UTC about the appointment." | send_message (scheduled) |
| "Send 'Sale starts today!' to 79991234567, 79997654321 and 995598464533." | send_bulk |
| "Was message 94396942 delivered?" | get_delivery_status |
| "Delete message 94396942." | delete_delivery |
| "Which operator is +995 598 464 533?" | get_phone_info |
| "Send ~/Documents/invoice.pdf to 79991234567 on WhatsApp." | send_file |
| "Send incoming WhatsApp messages to https://example.com/hook." | create_webhook |
| "Show webhook 57." | get_webhook |
| "List my webhooks." | list_webhooks |
| "Delete webhook 57." | delete_webhook |
| "Point webhook 57 to https://example.com/new-hook." | update_webhook |
Behaviour
- Parameters are sent as URL query parameters, as the JetAPI API expects;
send_fileuploads the file asmultipart/form-data. - Incompatible parameters (e.g. a Telegram
usernamewithout thetdlibchannel, orscheduled_atin the past) are rejected before any request is sent. - HTTP 429 is retried up to 3 times with exponential backoff, honouring
Retry-After. - 5xx responses are retried twice after 1 s — except for requests that send messages or create webhooks (
send_message,send_bulk,send_file,create_webhook), so nothing is sent twice. - Requests time out after 30 seconds.
- Errors are returned as readable tool errors, e.g.
Invalid JetAPI token. Check your JETAPI_TOKEN.orValidation error: text: the text cannot be empty. - All logs go to stderr; stdout is reserved for the MCP protocol.
Development
git clone https://github.com/jetapi/jetapi-mcp-server.git
cd jetapi-mcp-server
npm install
cp .env.example .env # put your token in .env
npm run build
npm start
| Script | What it does |
|---|---|
npm run dev |
Run the TypeScript source directly |
npm run inspector |
Open the MCP Inspector with all tools |
npm run check |
Verify versions in package.json / server.json / manifest.json and that the server exposes all 14 tools |
npm run build:mcpb |
Build the Claude Desktop extension into build/jetapi-mcp-server.mcpb |
Releasing
- Bump the version in
package.json,server.json(bothversionfields) andmanifest.json, and add aCHANGELOG.mdentry. - Merge to
main, then push a tag:git tag v1.2.3 && git push origin v1.2.3. - The Release workflow publishes to npm (trusted publishing with provenance), creates a GitHub release with the
.mcpbbundle and updates the MCP Registry.
Privacy Policy
The extension runs locally, collects no analytics or telemetry, and sends data only to the JetAPI API to perform the actions you request. Your API token is stored by your MCP client (Claude Desktop keeps it in secure storage).
- JetAPI MCP Server privacy policy — what the extension handles, stores and shares
- JETAPI LLC Privacy Policy — how the JetAPI service processes personal data
Questions: support@jetapi.io
License
JetAPI MCP 질문
JetAPI MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --env JETAPI_TOKEN=<YOUR_JETAPI_TOKEN> jetapi-mcp-server -- npx -y jetapi-mcp-server를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
JetAPI MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
JetAPI MCP는 어떤 도구를 제공하나요?
14개 도구를 제공합니다. 예: get_account, get_balance, get_utm_tags, send_message, send_bulk.
서버를 통해 파일을 보낼 수 있나요?
네, 로컬 경로, URL 또는 base64를 통해 문서, 이미지, 오디오 또는 비디오를 보낼 수 있으며 최대 크기는 100 MB입니다.
디스패치 라우팅은 어떻게 작동하나요?
JetAPI는 채널 목록을 순서대로 사용하여 하나씩 시도하며, 이전 채널이 실패할 경우에만 다음 채널로 넘어갑니다.
데이터는 안전한가요?
확장 프로그램은 로컬에서 실행되며 분석이나 텔레메트리를 수집하지 않습니다. 요청된 작업을 수행하기 위해 JetAPI API로 데이터만 전송합니다.