SMSC MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SMSC MCP show my SMS cost analytics from the local history"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SMSC MCP
Чтение SMSC и аналитика расходов через FastMCP. Состояние хранится в одном приватном SQLite файле. Отправки SMS, платежей, платных проверок и изменений аккаунта в коде нет.
Быстрый старт
Установить uv, затем:
git clone https://github.com/heist1337/smsc-analytics-mcp.git
cd smsc-analytics-mcp
cp .env.example .env
# Записать API-ключ SMSC в приватный .env.
uv run --locked --env-file .env smsc-mcpПо умолчанию используется stdio: сервер запускается самим MCP-клиентом. Python и зависимости устанавливает uv. Готовый шаблон подключения: mcp.example.json.
Related MCP server: WhatsApp Read Agent MCP Server
Инструменты
Инструмент | Действие |
| Каталог разрешённых чтений; живые чтения и обезличенные локальные снимки |
| Одна страница исходящих с явным продолжением |
| Анализ одной живой страницы; не итог большого периода |
| Одна страница в локальную историю, checkpoint и защита конкуренции |
| Аналитика SQLite без API-ключа и запросов к SMSC |
Начать с smsc_read(operation="catalog"): ключ для каталога не нужен.
Даты — DD.MM.YYYY. Проверять complete, next_cursor, coverage и
truncated; пустой или неполный кеш не означает отсутствие расходов.
Стоимость сообщений отличается от всех списаний со счёта. Валюты не смешиваются,
суммы считаются Decimal. Тексты и персональные данные по умолчанию скрыты.
Настройки
Переменная | Назначение |
| API-ключ SMSC; alias |
| Подтверждённая валюта аккаунта; без настройки |
| По умолчанию |
| По умолчанию |
| По умолчанию false; подтвердить валюту поля cost перед накопленной загрузкой |
| По умолчанию false; хранение текстов требует отдельного решения |
| Необязательный прежний HMAC-секрет; иначе создаётся и сохраняется в SQLite |
|
|
| Необязательный приватный JSON вместо env; поддерживает прежние login/psw |
refresh принимает только закрытые дни и проверенную валюту cost.
Нет автоматической загрузки истории и расписаний. Изменение валюты, зоны или
HMAC-ключа после загрузки блокируется до согласования данных.
Все экземпляры одного аккаунта должны использовать один SQLite файл: в нём общий rolling budget, CAS/checkpoints и leases. Лимит истории — 20 запросов/час с интервалом минимум 21 секунда; неудачные запросы не возвращают резерв. Другие потребители SMSC на других машинах требуют координации отдельно.
HTTP и Docker
Для HTTP задать MCP_TOKEN длиной от 32 символов:
uv run --locked --env-file .env smsc-mcp --transport http --port 18092URL: http://127.0.0.1:18092/mcp/, Authorization: Bearer <MCP_TOKEN>.
Сервер слушает loopback; доступ извне требует приватного транспорта/HTTPS.
docker build -t smsc-mcp .
docker run --rm -i --env-file .env -v smsc-state:/state smsc-mcpКонтейнер работает UID 1000. Том /state нужно сохранять между запусками:
бюджет, checkpoints и HMAC-ключ не должны пропадать. Docker Desktop не требуется.
Перенос и разработка
Остановить процессы и перенести checkout, приватный env и SQLite файл. Для живого backup использовать штатный SQLite backup API. База содержит финансовые данные и HMAC-секрет: файл 0600, каталог 0700, вне Git. Нет зависимости от Personal Context, Windmill, PostgreSQL или другого MCP.
uv sync --locked
uv run ruff check src tests
uv run python -m unittest discover -b -s tests
uv buildAvailable Tools
5 toolssmsc_analyticsSmsc AnalyticsARead-onlyIdempotent
Analyze accumulated local history without loading API credentials. Operations: coverage, summary, breakdown, messages, repeats, snapshots, reconcile. Check coverage/truncated; empty or partial cache is not zero spending.
Inputs: end (required), start (required), operation (required), limit, +4 more. Returns: object
smsc_cost_reportSmsc Cost ReportCRead-only
Analyze one live history page in its reported currency/timezone. Check complete and next_cursor; partial pages are not period totals. Message costs differ from all account charges.
Inputs: end (required), start (required), prev_id, max_pages, +1 more. Returns: object
smsc_historySmsc HistoryARead-only
Read one outgoing-history page, dates DD.MM.YYYY. Follow next_cursor as prev_id until complete; this does not prove archive retention. Personal data/text hidden by default.
Inputs: end (required), start (required), email, phone, +6 more. Returns: object
smsc_readSmsc ReadC
Discover allowed SMSC reads without credentials using catalog. Other reads save redacted local snapshots. No sending, payments or account changes.
Inputs: operation, parameters, include_text, include_personal_data. Returns: object
smsc_refreshSmsc RefreshB
Explicitly ingest one page into private SQLite, retaining a checkpoint. Only closed days, verified currency and stable redaction key are accepted. Never changes SMSC or schedules work.
Inputs: end (required), start (required), restart. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
smsc_history and smsc_cost_report both operate on a live history page, and smsc_read is a broad catalog/discovery tool, but the descriptions clarify live vs local and read vs analyze/ingest. Boundaries are mostly distinct with only minor overlap.
All names use the smsc_ prefix and snake_case, which is readable and predictable. However, suffixes mix verbs (read, refresh) and nouns (history, cost_report, analytics), so there is no consistent verb_noun pattern.
Five tools are well-scoped for a read-only SMS history/cost analytics server. Each tool covers a distinct stage: discovery, retrieval, reporting, ingestion, and analysis.
The core read-only workflow is covered: catalog discovery, paged history retrieval, cost reporting, local ingestion, and analytics with coverage/reconcile operations. Minor gaps around cache maintenance/reset and explicit checkpoint inspection limit it slightly.
Maintenance
Related MCP Connectors
Read account details, contacts, groups, SMS history, numbers and opt-outs.
Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Read-only analytics for all your apps: users, AI traffic, revenue, with the SQL behind every number.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables local querying of WhatsApp message history via SQLite, with profile separation, media transcription, and operational summaries.1MIT
- FlicenseAqualityCmaintenanceEnables read-only access to your own WhatsApp history and attachments via the Model Context Protocol, allowing AI assistants to enumerate chats, page history deterministically, and retrieve approved attachment bytes.7-
- FlicenseNot gradedqualityBmaintenanceEnables AI clients to read and search macOS Messages history through a read-only MCP interface.-
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to Signal Desktop message history, enabling listing conversations, retrieving messages, and searching messages through MCP tools.1MIT