smsOn-MCP
MCP server for the smsOn/mobileOn SMPP API, enabling sending SMS and checking delivery status directly from Claude Code.
README
smsOn-MCP
Serwer MCP pod API SMPP smsOn / mobileOn (mobileOn sp. z o.o.). Pozwala wysyłać SMS-y i sprawdzać ich status bezpośrednio z Claude Code - bez klikania w panelu i bez własnego skryptu.
Wersja API: 1.0 (dokumentacja z 2025-08-05). Oba endpointy producenta obsługują to samo API:
https://smppapi.smson.pl(domyślny)https://smppapi.mobileon.pl
Jak to działa
Serwer to jeden plik (index.js), stdio, zero magii. Wystawia dwa narzędzia mapowane 1:1
na endpointy API:
| Narzędzie | Endpoint | Co robi |
|---|---|---|
send_sms |
POST /createShipment |
Zleca wysyłkę jednej lub wielu wiadomości |
get_sms_status |
GET /getShipmentStatus |
Zwraca stan doręczenia wysyłki |
Autoryzacja: nagłówek Authorization: Bearer <SMSON_TOKEN>, gdzie tokenem jest login klienta.
send_sms
| Parametr | Wymagany | Opis |
|---|---|---|
messages[].msisdn |
tak | Numer w formacie międzynarodowym bez +, np. 48600600600 |
messages[].content |
tak | Treść wiadomości |
messages[].externalId |
nie | Własny identyfikator; domyślnie kolejny numer w tablicy |
sender |
nie | Identyfikator nadawcy; domyślnie SMSON_SENDER |
ttl |
nie | Ważność wiadomości, np. 1_HOUR |
normalize |
nie | true usuwa polskie znaki z treści |
timestamp |
nie | Wysyłka zaplanowana, np. 2025-08-02T13:45:00 |
transactionId generuje serwer (UUID) - API go nie nadaje.
W odpowiedzi dostajesz shipmentUid i transactionId - obie wartości są potrzebne
do sprawdzenia statusu, więc warto je zachować.
get_sms_status
Przyjmuje shipmentUid + transactionId z odpowiedzi send_sms. Zwraca listę elementów
wysyłki ze stanem (DELIVERED itd.), numerem odbiorcy i externalMessageId.
Uwaga: system (env SMSON_SYSTEM) musi być identyczny przy wysyłce i przy odpytaniu
o status - dlatego jest zmienną środowiskową, a nie parametrem narzędzia.
Instalacja
git clone https://github.com/devsjony/smson-mcp.git
cd smson-mcp
npm install
Wymagany Node 18+ (wbudowany fetch). Testowane na Node 22.
Podłączenie do Claude Code
claude mcp add smson -s user \
--env SMSON_TOKEN=TWOJ_LOGIN_KLIENTA \
--env SMSON_ENDPOINT=https://smppapi.smson.pl \
--env SMSON_SENDER=smsOn \
--env SMSON_SYSTEM=ClaudeMCP \
-- node /sciezka/do/smson-mcp/index.js
Albo ręcznie w ~/.claude.json (na Windows ukośniki w JSON trzeba podwoić):
"smson": {
"type": "stdio",
"command": "node",
"args": ["/sciezka/do/smson-mcp/index.js"],
"env": {
"SMSON_TOKEN": "TWOJ_LOGIN_KLIENTA",
"SMSON_ENDPOINT": "https://smppapi.smson.pl",
"SMSON_SENDER": "smsOn",
"SMSON_SYSTEM": "ClaudeMCP"
}
}
Konfiguracja
Serwer czyta wyłącznie zmienne środowiskowe - nie ładuje żadnego pliku .env.
Ustaw je w konfiguracji klienta MCP (claude mcp add --env ...) albo w powłoce.
.env.example to tylko ściąga z listą zmiennych.
Wszystkie cztery są wymagane - serwer nie ma wbudowanych wartości domyślnych i kończy się z kodem 1, wypisując, których brakuje.
| Zmienna | Przykład | Opis |
|---|---|---|
SMSON_TOKEN |
login123 |
Login klienta (token Bearer) |
SMSON_ENDPOINT |
https://smppapi.smson.pl |
Adres API (albo https://smppapi.mobileon.pl) |
SMSON_SENDER |
smsOn |
Domyślny identyfikator nadawcy (można nadpisać w send_sms) |
SMSON_SYSTEM |
ClaudeMCP |
Nazwa systemu zlecającego wysyłkę |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.