Thaibulksms
БесплатноНе проверенMCP server for ThaiBulkSMS and ThaiBulkMail APIs, enabling SMS, email, credit check, and OTP operations through natural language.
Описание
MCP server for ThaiBulkSMS and ThaiBulkMail APIs, enabling SMS, email, credit check, and OTP operations through natural language.
README
Zero-dependency MCP & CLI for ThaiBulkSMS and ThaiBulkMail APIs.
Install
npm install -g @thaibulksms/tbs
Quick Start
# 1. Save credentials (from developer.thaibulksms.com)
tbs login
# 2. Use it
tbs send 0812345678 "Hello" --sender OTP_SMS # Send SMS
tbs email [email protected] "Subject" --from [email protected] --template <uuid> # Send email
tbs credit # Check balance
tbs otp 0812345678 # SMS OTP
tbs email-otp [email protected] --template <uuid> # Email OTP
No install needed with npx:
npx @thaibulksms/tbs login
npx @thaibulksms/tbs send 0812345678 "Hello"
Add to AI Agent (MCP)
Claude Code
claude mcp add thaibulksms \
-e THAIBULKSMS_API_KEY=xxx \
-e THAIBULKSMS_API_SECRET=xxx \
-e THAIBULKSMS_OTP_KEY=xxx \
-e THAIBULKSMS_OTP_SECRET=xxx \
-- npx -y @thaibulksms/tbs
Or .mcp.json (project-scoped, commit to git):
{
"mcpServers": {
"thaibulksms": {
"command": "npx",
"args": ["-y", "@thaibulksms/tbs"],
"env": {
"THAIBULKSMS_API_KEY": "${THAIBULKSMS_API_KEY}",
"THAIBULKSMS_API_SECRET": "${THAIBULKSMS_API_SECRET}",
"THAIBULKSMS_OTP_KEY": "${THAIBULKSMS_OTP_KEY}",
"THAIBULKSMS_OTP_SECRET": "${THAIBULKSMS_OTP_SECRET}"
}
}
}
}
Gemini CLI
gemini mcp add thaibulksms -- npx -y @thaibulksms/tbs
OpenCode
{
"mcp": {
"thaibulksms": {
"type": "local",
"command": ["npx", "-y", "@thaibulksms/tbs"],
"environment": {
"THAIBULKSMS_API_KEY": "{env:THAIBULKSMS_API_KEY}",
"THAIBULKSMS_API_SECRET": "{env:THAIBULKSMS_API_SECRET}",
"THAIBULKSMS_OTP_KEY": "{env:THAIBULKSMS_OTP_KEY}",
"THAIBULKSMS_OTP_SECRET": "{env:THAIBULKSMS_OTP_SECRET}"
},
"enabled": true
}
}
}
OpenClaw
OpenClaw reads .mcp.json (same as Claude Code). Drop the .mcp.json file in your project root — OpenClaw picks it up automatically.
Claude Desktop
Config: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{
"mcpServers": {
"thaibulksms": {
"command": "npx",
"args": ["-y", "@thaibulksms/tbs"],
"env": {
"THAIBULKSMS_API_KEY": "your_key",
"THAIBULKSMS_API_SECRET": "your_secret",
"THAIBULKSMS_OTP_KEY": "your_otp_key",
"THAIBULKSMS_OTP_SECRET": "your_otp_secret"
}
}
}
}
Then ask your agent: "Check my SMS credit balance"
CLI Commands
tbs login Save API credentials
tbs credit Check SMS + email credit
tbs send <to> <message> Send SMS
tbs email <to> <subject> Send email (template)
tbs otp <to> Request SMS OTP
tbs verify <token> <pin> Verify SMS OTP
tbs email-otp <to> Request email OTP
tbs email-verify <token> <code> Verify email OTP
tbs profiles List saved profiles
tbs help <command> Per-command help
Flags
| Flag | Description | Commands |
|---|---|---|
--sender <id> |
SMS sender ID (default: SMS.) |
send |
--from <email> |
Sender email address | email |
--template <uuid> |
Template UUID | email, email-otp |
--json |
Machine-readable output | all |
--profile <name> |
Use specific profile | all |
Examples
tbs send 0812345678 "Hello" --sender OTP_SMS
tbs send 0812345678 "Hello" --json
tbs email [email protected] "Subject" --from [email protected] --template <uuid>
tbs credit --json
tbs otp 0812345678
tbs verify <token> 1234
tbs email-otp [email protected] --template <uuid>
tbs email-verify <token> 733923
tbs login --profile production
tbs credit --profile production
MCP Tools (8)
| Tool | Description |
|---|---|
send_sms |
Send SMS to one Thai mobile number |
send_email |
Send email via ThaiBulkMail template |
check_sms_credit |
Check SMS credit balance |
check_email_credit |
Check email credit balance |
request_otp |
Send OTP PIN via SMS |
verify_otp |
Verify SMS OTP PIN |
request_email_otp |
Send OTP code via email |
verify_email_otp |
Verify email OTP code |
Credentials & Setup
API Keys
| What | Where to get it |
|---|---|
| SMS/Email API Key & Secret | Dashboard > Developer Settings |
| SMS OTP Key & Secret | OTP Manager |
| SMS Sender Name | Dashboard > Sender Name (must register before use) |
| Email Template | Dashboard > Email Templates (create and copy template UUID) |
| Email OTP Template | Dashboard > Email OTP (create and copy template UUID) |
Environment Variables
| Variable | For | Required |
|---|---|---|
THAIBULKSMS_API_KEY |
SMS, Email | Yes |
THAIBULKSMS_API_SECRET |
SMS, Email | Yes |
THAIBULKSMS_OTP_KEY |
SMS OTP | For OTP |
THAIBULKSMS_OTP_SECRET |
SMS OTP | For OTP |
Precedence: --profile flag > env vars > ~/.config/tbs/default.json
SMS/Email use HTTP Basic Auth. SMS OTP uses separate key/secret in request body. Email OTP uses the same Basic Auth as email.
Architecture
src/
index.ts Entry point — CLI commands or MCP (no args)
cli.ts Twilio-style CLI handlers
profile.ts Credential storage (~/.config/tbs/, chmod 0600)
transport.ts MCP JSON-RPC stdio transport (~80 lines)
server.ts MCP tool definitions (raw JSON Schema) + handlers
client.ts ThaiBulk HTTP client (fetch + Basic Auth)
validators.ts Phone/email validation (pure regex)
Zero runtime dependencies. No @modelcontextprotocol/sdk (26MB, 91 packages). Just ~80 lines of JSON-RPC stdio transport using Node.js built-ins.
Development
npm install # Dev deps only
npm test # Node.js
npm run test:bun # Bun
npm run build # Compile
Security
- Credentials in
~/.config/tbs/(chmod 0600) or env vars — never hardcoded - Single-recipient only — no bulk sends
- Thai mobile validation, email header injection prevention
- Human-in-the-loop for destructive MCP tools
- Zero runtime deps = zero supply chain risk
Links
- npm: npmjs.com/package/@thaibulksms/tbs
- GitHub: github.com/thaibulksms/tbs
- API Docs: developer.thaibulksms.com
License
Установка Thaibulksms
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/thaibulksms/tbsFAQ
Thaibulksms MCP бесплатный?
Да, Thaibulksms MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Thaibulksms?
Нет, Thaibulksms работает без API-ключей и переменных окружения.
Thaibulksms — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Thaibulksms в Claude Desktop, Claude Code или Cursor?
Открой Thaibulksms на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Thaibulksms with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
