@theyahia/sms-ru-mcp
This server exposes SMS.RU API tools for managing SMS: it can send an SMS, check the delivery status of a sent SMS by ID, retrieve the account balance, calculate the cost of an SMS before sending, and list approved sender names.
send_sms— send an SMS to a phone number (with optional sender name)check_status— check SMS delivery status by SMS IDget_balance— get the current account balanceget_cost— calculate the cost of an SMS before sendingget_senders— list approved sender names
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., "@@theyahia/sms-ru-mcpОтправь SMS на номер 79161234567 с текстом 'Привет'"
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.
SMS.RU MCP — отправка СМС из нейросети без написания кода
Если вы искали, как отправить SMS прямо из диалога с ИИ-ассистентом, проверить доставку сообщения или узнать остаток на счету не заходя в кабинет — это оно. 5 инструментов поверх API SMS.RU: отправка SMS, статус сообщения, баланс, расчёт стоимости и список отправителей.
Часть серии Russian API MCP (50 серверов) by @theYahia.
Установка
Claude Desktop
{
"mcpServers": {
"sms-ru": {
"command": "npx",
"args": ["-y", "@theyahia/sms-ru-mcp"],
"env": { "SMS_RU_API_ID": "your-api-id" }
}
}
}Claude Code
claude mcp add sms-ru -e SMS_RU_API_ID=your-api-id -- npx -y @theyahia/sms-ru-mcpVS Code / Cursor
{ "servers": { "sms-ru": { "command": "npx", "args": ["-y", "@theyahia/sms-ru-mcp"], "env": { "SMS_RU_API_ID": "your-api-id" } } } }Streamable HTTP
SMS_RU_API_ID=your-api-id npx @theyahia/sms-ru-mcp --http
# POST http://localhost:8080/mcp
# GET http://localhost:8080/healthSmithery
npx -y @smithery/cli install @theyahia/sms-ru-mcp --client claudeТребуется
SMS_RU_API_ID. Получите на sms.ru.
Related MCP server: smsmanager
Инструменты (5)
Инструмент | Описание |
| Отправить SMS (номер, текст, опционально имя отправителя) |
| Проверить статус SMS по ID |
| Баланс аккаунта SMS.RU |
| Рассчитать стоимость SMS до отправки |
| Список одобренных имён отправителей |
Skills (Claude Code)
Skill | Триггер |
| «Отправь SMS на номер...» |
| «Проверь баланс SMS.ru» |
Примеры
Отправь SMS на 79001234567 с текстом "Привет"
Сколько будет стоить SMS на 79001234567 "Тестовое сообщение"?
Проверь статус сообщения 123456
Какой баланс на SMS.RU?
Покажи список отправителейРазработка
npm install
npm run build
npm testЛицензия
MIT
Telegram: @vhodvai
Available Tools
5 toolscheck_statusA
Проверить статус отправленного SMS по его ID.
| Name | Required | Description | Default |
|---|---|---|---|
| sms_id | Yes | ID сообщения для проверки статуса |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It only states the read operation without detailing behavior like idempotency, error handling, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with key information. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter; description covers essential purpose. However, without output schema, additional detail on expected statuses would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description adds no extra meaning beyond the schema's parameter description. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (check status), resource (sent SMS), and identifier (by ID). Distinguishes from sibling tools like send_sms and get_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies when to use (after sending an SMS). No explicit exclusions or alternatives, but context from sibling tools makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceB
Проверить баланс аккаунта SMS.RU.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action (check balance). It does not disclose idempotency, rate limits, authentication needs, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words. However, it is in Russian, which may limit accessibility for non-Russian agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a simple tool with no parameters, the description does not explain the return value format or any side effects. With no output schema, the agent lacks information about what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds no parameter information, but none is needed given the tool takes no arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'check' and the resource 'balance of the SMS.RU account', effectively distinguishing it from sibling tools like send_sms, check_status, get_cost, and get_senders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks any contextual cues about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_costA
Рассчитать стоимость SMS до отправки. Принимает номер и текст сообщения.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Номер получателя (формат 79XXXXXXXXX) | |
| msg | Yes | Текст сообщения для расчёта стоимости |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates calculation without mutation, but lacks details on rate limits, return format, or potential side effects. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. Purpose is front-loaded. All information earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with two well-documented parameters, but lacks output schema and description of return value. No annotations to supplement. Adequate but could detail the result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond the parameter descriptions. Baseline score applies as schema already documents both parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Рассчитать' (calculate) and resource 'стоимость SMS' (cost of SMS), distinguishing it from sibling tools like send_sms or check_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'до отправки' (before sending) implies when to use, but no explicit exclusion or alternative names. Context is clear, but could be more direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sendersA
Получить список одобренных имён отправителей на аккаунте SMS.RU.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, error handling, or any side effects. The description merely states the action without depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundant information. It is front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description adequately explains what the tool returns. It could be improved by mentioning the scope (account-level) or format, but it is sufficient for a simple list retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema is trivially complete. The description adds value by specifying the output (list of approved sender names), which is not inherent in the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of approved sender names on the SMS.RU account, using a specific verb and resource. It distinguishes itself from siblings like send_sms, check_status, get_balance, and get_cost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context. The description only states what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_smsB
Отправить SMS через SMS.RU. Принимает номер (79XXXXXXXXX), текст, опционально имя отправителя.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Номер получателя (формат 79XXXXXXXXX) | |
| msg | Yes | Текст сообщения | |
| from | No | Имя отправителя (если одобрено) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states action, not behavioral traits like cost, rate limits, or side effects. For a mutation tool sending SMS, this is insufficient disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing return value, error cases, and usage prerequisites. Given no annotations and no output schema, description is too thin for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% parameter descriptions. Description adds minimal extra value by summarizing and specifying phone format, but not beyond schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states the specific verb 'Отправить' (send) and resource 'SMS через SMS.RU', clearly distinguishing it from sibling tools like check_status and get_balance, which do not send messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance, but sibling tools are all non-sending so confusion is unlikely. Still, lacks context like prerequisites (e.g., sufficient balance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.1.0- First observed
check_status - First observed
get_balance - First observed
get_cost - First observed
get_senders - First observed
send_sms
TDQS
Scored across 5 tools
Each tool has a distinct purpose: sending, status checking, balance, cost calculation, and sender list. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (send_sms, check_status, get_balance, get_cost, get_senders).
5 tools are well-scoped for an SMS service, covering the essential operations without being overwhelming or sparse.
Covers core SMS lifecycle (send, check, balance, cost, senders) but lacks features like message history or scheduling, which are minor gaps.
Maintenance
Related MCP Connectors
Hosted MCP server for the Wavix telecom platform: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs.
MCP server for Russian books search, details, and recommendation candidates.
The Mobile Text Alerts SMS MCP server enables your AI to send SMS messages & manage contacts
The first MCP server for physical mail: send postcards and letters, manage lists and campaigns.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Ileti Merkezi SMS API (Turkey). Enables sending SMS, bulk SMS, checking delivery reports, and managing contacts and blacklists via API Key + Hash authentication.819 npm1MIT
- FlicenseAqualityDmaintenanceMCP server for sending SMS messages via SmsManager.cz HTTP API, supporting high, economy, and low delivery gateways.1-
- AlicenseBqualityDmaintenanceMCP server for integrating with SMS-Activate service, enabling phone number operations, email activations, and account management for receiving SMS verification codes and temporary email addresses.17MIT
- AlicenseBqualityBmaintenanceMCP server for sending SMS via the SMSPM API. Send transactional SMS from Claude Desktop, Cursor, Windsurf, Cline, or any MCP client.120 npmMIT