clicksend-mcp-server
OfficialClickSend MCP Server
Это официальный ClickSend MCP Server, разработанный командой ClickSend. По соображениям безопасности не используйте неофициальные версии ClickSend MCP.
Назначение
ClickSend MCP предназначен для расширения возможностей обмена сообщениями ClickSend в современных экосистемах ИИ и платформах — он позволяет разработчикам легко отправлять SMS через ClickSend без необходимости писать пользовательский код.
Это ускоряет внедрение, открывает новые сценарии использования на основе ИИ и позиционирует ClickSend как готовую к будущему платформу обмена сообщениями в эпоху интеллектуальной автоматизации.
Related MCP server: Twilio MCP Server
Требования
Node.js >= 18
вы можете использовать
nvm(Node Version Manager), чтобы установить нужную версию для работы с этим приложением
Установка
Загрузите AI десктопный клиент. Примером может быть Claude для Desktop, который можно скачать здесь.
Конфигурация
Сервер требует две переменные окружения:
CLICKSEND_USERNAME: ваше имя пользователя ClickSendCLICKSEND_API_KEY: ваш API-ключ ClickSend
Имя пользователя и ключ можно найти на https://dashboard.clicksend.com/account/subaccounts после регистрации в ClickSend.
Настройка Claude Desktop
Откройте Claude для Desktop
Перейдите в Настройки в системном меню
В окне настроек перейдите на вкладку Разработчик и нажмите Изменить конфигурацию. Это откроет файл конфигурации, расположенный по адресу:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Использование NPM-пакета
{
"mcpServers": {
"clicksend": {
"command": "npx",
"args": [
"-y",
"@clicksend/clicksend-mcp-server@latest"
],
"env": {
"CLICKSEND_USERNAME": "<username>",
"CLICKSEND_API_KEY": "<api-key>"
}
}
}
}
Использование локальной сборки
{
"mcpServers": {
"clicksend": {
"command": "node",
"args": [
"/path/to/repository/build/clicksend-mcp.js"
],
"env": {
"CLICKSEND_USERNAME": "your clicksend username",
"CLICKSEND_API_KEY": "your API Key"
}
}
}
}
После этого перезапустите Claude Desktop, чтобы перезагрузить конфигурацию. Если подключение установлено, вы должны увидеть clicksend-send-sms при нажатии на значок молотка.
Примеры взаимодействий с Claude
Вот несколько естественных способов взаимодействия с сервером через Claude:
Простое SMS:
Send a text message to the number 61411111111 saying "I'm using ClickSend MCP server to sent SMS!"Возможности
Отправка одного SMS за раз с помощью настройки имени пользователя clicksend и API-ключа
Получение цены на отправку сообщения в список контактов
Поиск контактов или списков контактов и отправка им сообщений
Получение шаблонов SMS и использование их для отправки сообщения
Просмотр/получение истории SMS
Получение статистики SMS за последние 30 дней
Поддерживаемые API
POST /v3/sms/send
Идентификатор операции:
send-smsКраткое описание: Отправить SMS
Описание: Отправка сообщений получателям — либо по номерам телефонов, либо по контактам из списка контактов.
POST /v3/sms/price
Идентификатор операции:
calculate-sms-priceКраткое описание: Рассчитать цену SMS
Описание: Расчёт стоимости отправки сообщений на основе типа и длины сообщения.
GET /v3/sms/templates
Идентификатор операции:
view-sms-templatesКраткое описание: Просмотр шаблонов SMS
Описание: Получение шаблонов SMS с параметрами фильтрации.
GET /v3/sms/history
Идентификатор операции:
view-sms-historyКраткое описание: Просмотр истории SMS
Описание: Просмотр ранее отправленных SMS с параметрами фильтрации и постраничного вывода.
GET /v3/statistics/sms
Идентификатор операции:
view-sms-statisticsКраткое описание: Просмотр статистики SMS
Описание: Получение статистики SMS за последние 24 дня.
GET /v3/search/contacts-lists
Идентификатор операции:
view-contact-listsКраткое описание: Просмотр списков контактов
Описание: Получение списка найденных списков контактов.
Важные замечания
Формат номера телефона: Все номера телефонов должны быть в формате E.164 (например, +61411111111)
Лимиты скорости: Учитывайте лимиты скорости и тарифы вашего аккаунта ClickSend
Безопасность: Храните свои учетные данные ClickSend в безопасном месте и никогда не коммитьте их в систему контроля версий
Устранение неполадок
Распространенные сообщения об ошибках и их решения:
"Номер телефона должен быть в формате E.164"
Убедитесь, что номер телефона начинается с "+" и кода PAI
"Неверные учетные данные"
Перепроверьте
CLICKSEND_USERNAMEиCLICKSEND_API_KEY. Вы можете скопировать их из панели ClickSend.com)
Вклад в разработку
Приветствуется! Пожалуйста, прочитайте наши правила внесения вклада перед отправкой pull request.
Лицензия
Этот проект лицензирован в соответствии с MIT License - details см. файл LICENSE.
Безопасность
Пожалуйста, не вкincudeйте никакую конфиденциальную информацию (например, номера телефонов или данные ClickSend) в issues или pull request на GitHub.# ClickSend MCP Server
Это официальный ClickSend MCP Server, разработанный командой ClickSend. По соображениям безопасности не используйте неофициальные версии ClickSend MCP.
Назначение
ClickSend MCP предназначен для расширения возможностей обмена сообщениями ClickSend в современных экосистемах ИИ и связанных платформах — он позволяет разработчикам легко отправлять SMS через ClickSend без необходимости писать пользовательский код.
Это ускоряет внедрение, открывает новые сценарии использования на основе ИИ и позиционирует ClickSend как платформу обмена сообщениями, готовую к будущему, в эпоху интеллектуальной автоматизации.
Требования
Node.js >= 18
Вы можете использовать
nvm(Node Version Manager), чтобы выбрать нужную версию для запуска приложения
Установка
Скачайте ИИ-десктоп-клиент. Например, Claude для Desktop, который можно скачать здесь.
Конфигурация
Сервер требует две переменные:
CLICKSEND_USERNAME: ваше имя пользователя ClickSendCLICKSEND_API_KEY: ваш API-ключ ClickSend
Имя пользователя и ключ можно найти по адресу https://dashboard.click.send/account/subaccounts после регистрации в ClickSend.
Конфигурация Claude Desktop
Откройте Claude for Desktop
Перейдите в Настройки через меню системы.
В окне настроек перейдите на вкладку Разработчик и нажмите Изменить конфигурацию. Откроется файл конфигурации, расположенный по адресу:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Использование NPM-пакета
{
"mcpServers": {
"clicksend": {
"command": "npx",
"args": [
"-y",
"@clicksend/clicksend-mcp-server@latest"
],
"env": {
"CLICKSEND_USERNAME": "<username>",
"CLICKSEND_API_KEY": "<api-key>"
}
}
}
}
Использование локальной сборки
{
"mcpServers": {
"clicksend": {
"command": "node",
"args": [
"/path/to/repository/build/clicksend-mcp.js"
],
"env": {
"CLICKSEND_USERNAME": "your clicksend username",
"CLICKSEND_API_KEY": "your API Key"
}
}
}
}
После этого перезапустите Claude, чтобы перезагрузить конфигурацию. Если подключение установлено, вы увидите clicksend-send-sms при нажатии на иконку.
Примеры взаимодействия с Claude
Вот несколько естественных способов взаимодействия с через безClaude:
Простое SMS:
Send a text message to the number 61411111111 saying "I'm using ClickSend MCP server to sent SMS!"Возможности
Отправка одного SMS за раз с помощью настроек имена пользователя и API-ключа ClickSend
Получение цены за отправку сообщения в список контактов
Поиск контактов или списков контактов и отправка им сообщений
Получение SMS-шаблонов и их использование для отправки сообщений
Просмотр/получение SMS-истории
Получение статистики SMS за последние 30 дней
Поддерживаемые API
POST /v3/sms/send
Операция:
send-smsКраткое описание: Отправка SMS-
Описание: Отправляет сообщения получателям — либо на телефонные номера, либо контактам из списка контактов.
POST /v3/sms/price
Операция:
calculate-sms-priceКраткое описание: Расчет цены SMS
Описание: Рассчитывает цену отправки сообщений на основе типа и длины сообщения.
GET /v3/sms/templates
Операция:
view-sms-templatesКраткое описание: Просмотр шаблонов SMS
Описание: Получение шаблонов SMS с возможными вариантами фильтрами.
GET /v3/sms/history
Операция:
view-sms-historyКраткое описание: Просмотр истории SMS
Описание: Просмотр ранее отправленных SMS с фильтрацией и пагинацией.
GET /v3/statistics/sms
Операция:
view-sms-statisticsКраткое описание: Просмотр статистики SMS
Описание: Получение статистики SMS за последние 30 дней.
GET /v3/search/contacts-lists
Операция:
view-contact-listsКраткое описание: Просмотр списков контактов
Описание: Получение списка найденных списков.
Important Notes
Номер телефона: Все номера телефонов должны быть в формате E.164 (например, +61411111111)
Лимиты и тарифы: Учитывайте лимиты и тарифы вашего аккаунта ClickSend
Безопасность: Храните свои учетные данные ClickSend в безопасности и никогда не передавайте их в систему контроля версий
Возможные проблемы
Распространенные сообщения об ошибках и действия:
"Phone number must be in E.164 format" (Номер телефона должен быть в формате E.164)
Убедитесь, что номер начинается с "+" и кода страны.
"Invalid credentials" (Неверные данные)
Проверьте
CLICKSEND_USERNAMEиCLICKSEND_API_KEY. Их можно скопировать из панели ClickSend.
Участие в разработке
Приглашаем к участию! Пожалуйста, прочитайте наши рекомендации перед отправкой pull request.
Лицензия
Этот проект лицензионован на условиях MIT License — см. файл LICENSE.
Безопасность
Пожалуйста, не включайте никаую конфиденциальную информацию (например, номера телефонов или данные ClickSend) в issues или pull request GitHub.
Available Tools
6 toolsget--v3-search-contacts-listsC
View Contact Lists
| Name | Required | Description | Default |
|---|---|---|---|
| q | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry full behavioral disclosure. The word 'View' implies a read operation, but it does not describe the output format, the effect of the 'q' query parameter, pagination behavior, or whether the lists are sorted or filtered by default. This is too minimal to provide meaningful transparency.
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?
At only one short phrase, the description is under-specified rather than appropriately concise. It echoes the tool's name nearly verbatim and fails to earn its place, since it does not add meaningful information.
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?
Although the tool is simple with only one parameter and no nested objects, the description is incomplete. It does not explain the 'q' parameter, the type of data returned in the list, or any behavioral nuances, and without output schema there is no extra context to compensate.
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?
The schema defines one parameter, 'q', with no description, and the tool description does not mention it at all. Since schema description coverage is 0%, this leaves the agent with no idea what 'q' represents, what values are valid, or whether it is a filter, a search term, or something else.
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 uses a specific verb ('View') and resource ('Contact Lists'), clearly identifying the operation. It is distinct from the sibling tools, all of which focus on SMS (send, price, templates, statistics, history). However, it omits the 'search' aspect implied by the tool name and could be more specific about what 'view' entails.
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 description provides no guidance on when to use this tool versus alternatives. It does not mention the SMS-related siblings at all, nor does it explain any scenario where this tool is specifically needed. The agent can only infer usage from the resource name in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get--v3-sms-historyC
View SMS History
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Allows filtering of results based on your search criteria. The query should be in the format `field_name:value`. 1. **Field Name**: The field within the SMS history you want to filter by. You can use the following fields: - _Status_: The status of the SMS. Available values for status are: Queued, Completed, Scheduled, WaitApproval, Failed, Cancelled, CancelledAfterReview, Received, Sent. - _To_: The recipient of the SMS. - _from_: The sender of the SMS. - _subaccount_id_: The sub-account identifier. - _message_id_: The ID of your SMS. 2. **Value**: The text or keyword you're searching for within the specified field. If left empty after the colon, the filter will look for all templates with any value in the **Field Name**. For example, if you are searching for a SMS with the status of Scheduled, the final query would look like this: `q=status:Scheduled` <div class="info-box"> <h4><i class="fas fa-info-circle"></i> Note:</h4> <div> <p>Some characters have to be encoded. For example, if you are searching for SMS sent from the phone number +61437085284, your search query q would be:<br/></p> <ul> <li>q=from:%2B61437085284</li> </ul> <p>You can use the <a href="https://www.urlencoder.org/" target="_blank">URL encoder</a> to encode the text. If a character is not an alphanumeric character (A-Z, a-z, 0-9), it is typically either reserved or unsafe and should be encoded.</p> </div> </div> | |
| page | No | The page number to retrieve. Use this parameter to navigate through the [pagination](/#pagination) results. The default value is 1. | |
| limit | No | The number of items to return per page. This parameter controls the size of each page of results. The default value is 15. | |
| date_to | No | End date to filter results. It should be in <a href="http://help.clicksend.com/what-is-a-unix-timestamp" target="_blank">Unix format</a>. | |
| order_by | No | Specifies the field and order to sort the results by. The value is composed of the field name followed by a colon and the sort direction (_asc_ for ascending or _desc_ for descending). The default sort order is by _date_ in ascending order. You can use the following fields: - _date_ - _username_ - _from_ - _to_ - _status_ - _body_ For example, if you want to order by the most recently sent SMS, you should sort by date in descending order. The query would look like this: `order_by=date:desc` | |
| date_from | No | Start date to filter results. It should be in <a href="http://help.clicksend.com/what-is-a-unix-timestamp" target="_blank">Unix format</a>. | |
| user_date_request | No | [FOR AI AGENTS] When user requests dates in natural language (e.g., 'Aug 5 2025', 'yesterday', 'last Tuesday'), pass the EXACT original user message here. The backend will parse this to generate correct Unix timestamps for date_from/date_to, avoiding common AI errors like wrong years. This parameter overrides any date_from/date_to values if provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral disclosure burden. 'View SMS History' simply restates the tool name and adds no information about side effects, read-only behavior, response shape, pagination, or limitations.
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 extremely short with no filler or unnecessary content. It is front-loaded and concise, although it leaves out behavioral and usage details that would make it more helpful.
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?
The parameter schema is rich, but there is no output schema and no annotations. The description does not disclose the shape of the result, whether the operation is read-only, or when it should be preferred over siblings, leaving an under-specified contract for the agent.
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 description coverage is 100%, and the schema itself provides extensive documentation for filtering, pagination, sorting, and date conversion. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
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 gives a clear verb and resource: 'View SMS History'. It is naturally distinguishable from send, price, template, and contact-list siblings, though it does not explicitly differentiate it from a similar reporting sibling like statistics-sms.
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?
There is no guidance on when to use this tool versus alternatives such as post--v3-sms-send or get--v3-statistics-sms. The only hint is the word 'history', so usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get--v3-sms-templatesC
View SMS Templates
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Allows filtering of results based on your search criteria. The query should be in the format `field_name:value`. 1. **Field Name**: The field within the SMS history you want to filter by. You can use the following fields: - _template_id_ : The ID of the template - _template_name_ : The name of the template - _body_ : The body content of the template. 2. **Value**: The text or keyword you're searching for within the specified field. If left empty after the colon, the filter will look for all templates with any value in the **Field Name**. For example, if you are searching for the template with the name of _sample_name_, the final query would look like this: `q=template_name:sample_name` <div class="info-box"> <h4><i class="fas fa-info-circle"></i> Note:</h4> <div> <p>Some characters have to be encoded. For example, if you are searching for SMS sent from the phone number +61437085284, your search query q would be:<br/></p> <ul> <li>q=from:%2B61437085284</li> </ul> <p>You can use the <a href="https://www.urlencoder.org/" target="_blank">URL encoder</a> to encode the text. If a character is not an alphanumeric character (A-Z, a-z, 0-9), it is typically either reserved or unsafe and should be encoded.</p> </div> </div> | |
| page | No | The page number to retrieve. Use this parameter to navigate through the [pagination](/#pagination) results. The default value is 1. | |
| limit | No | The number of items to return per page. This parameter controls the size of each page of results. The default value is 15. | |
| order_by | No | Specifies the field and order to sort the results by. The value is composed of the field name followed by a colon and the sort direction (_asc_ for ascending or _desc_ for descending). The default sort order is by _template_id_ in ascending order. You can use the following fields: - _template_id_ : The ID of the Template - _template_name_ : The name of the Template - _body_ : The body content of the Template For example, if you want to order by the _template_id_ in descending order, the query would look like this: `order_by=template_id:desc` |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'View', which implies read-only behavior, but it does not mention pagination, filtering, sorting side effects, rate limits, or output formats. This is insufficient for a tool with no annotation support.
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 extremely short and front-loaded, but 'View SMS Templates' is under-specification, not concise value. It has no structured guidance, no context, and no contrast with sibling tools, so it does not earn its place as a meaningful description.
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 absence of annotations and output schema, the description should explain what the tool returns, how records flow, and how it is distinct from nearby SMS tools. It only provides the shallow phrase 'View SMS Templates', leaving the agent reliant on the schema for matters that the description should have clarified.
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?
The input schema provides 100% coverage of all 4 parameters with detailed descriptions for q, page, limit, and order_by, including field names, defaults, and encoding guidance. The description itself adds no parameter-level meaning, so the baseline score of 3 is appropriate.
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 is only 'View SMS Templates', which essentially restates the tool name without adding any clarifying details. It identifies the resource but offers no scope, behavior, or distinction from sibling tools, making it a tautology.
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 description provides no guidance on when to use this tool versus alternatives like get--v3-sms-history or post--v3-sms-send. There are no explicit conditions, exclusions, or references to sibling tools, so the agent is left to infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get--v3-statistics-smsB
View SMS Statistics
| 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 must carry behavioral transparency on its own. 'View' implies a read operation, but the description does not explain what statistics are returned, what time period is covered, or any 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 very short, but this brevity comes mostly from under-specification rather than precise, intentional economy. It is readable and front-loaded, but misses meaningful clarifying content.
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?
Because the tool has no parameters, the agent can invoke it without further input. However, with no annotations and no output schema, the description provides no context about what the returned statistics represent, which leaves enough ambiguity for a wrong interpretation.
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 schema requires no parameter documentation. The description's lack of parameter details is acceptable because there is nothing to configure.
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 states a clear verb and resource: 'View SMS Statistics.' This is readable and not misleading, but it does not provide enough detail to distinguish statistics from get--v3-sms-history, so it lacks sibling differentiation.
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?
There is no guidance on when to use this tool versus the SMS history, templates, price, or send tools. The phrase only describes the action, leaving the agent to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post--v3-sms-priceC
Calculate SMS Price
| Name | Required | Description | Default |
|---|---|---|---|
| messages | No | Messages to send to customers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full behavioral disclosure burden. 'Calculate SMS Price' does not say whether this is a read-only quote operation, whether it sends anything, what the response contains, or whether there are caveats such as pricing depending on country, character count, or message parts. The input schema hints at such details, but the description itself adds almost no behavioral context.
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 extremely brief and has no wasted words; it is front-loaded and immediately communicates the headline purpose. However, the brevity is close to under-specification, so it is concise but not as carefully structured as a minimally complete description could be.
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?
There are no annotations, no output schema, and the description is only three words. The schema compensates for parameter meaning, but the endpoint's observable behavior — the pricing result, what the request implies, and how it differs from other SMS endpoints — is left to guessing. This is not complete enough for an agent to confidently invoke it without further inference.
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 description coverage is 100%, and the input schema already documents every field, including the nested messages object and the rich meaning of body, to, from, country, and schedule. The description itself adds no parameter-level detail, so the baseline score of 3 is appropriate.
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 states a specific verb and resource: 'Calculate SMS Price.' This is enough to tell the agent that the tool performs pricing rather than sending, searching, or retrieving SMS statistics, which distinguishes it from the sibling tools. However, it is quite terse and does not clarify the scope beyond 'price,' so it just misses a perfect score.
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?
There is no explicit guidance about when to use this tool or how it differs from the siblings. It does not say 'use this instead of sending to estimate cost' or any conditions under which this endpoint should be preferred. The usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post--v3-sms-sendC
Send SMS
| Name | Required | Description | Default |
|---|---|---|---|
| messages | No | Messages to send to customers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral transparency burden. 'Send SMS' names the action, but it does not disclose side effects such as possible charges, dispatch behavior, invalid-recipient handling, or what the response will contain. There is no contradiction with annotations, but there is barely any behavioral context.
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 phrase is genuinely brief and front-loads the key verb, but it is more under-specified than usefully concise. A good summary would still be short, could include the target/manual alternatives for a fuller picture.
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?
This tool has a complex one-parameter schema containing an array of message objects with many nested constraints, and there is no output schema or annotations. A two-word description does not provide enough surrounding context for an agent to confidently choose and invoke this tool without potentially digging into every schema detail.
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 description coverage is 100%, so the JSON schema already documents the messages array and its nested properties in substantial detail. The description adds no parameter-level meaning beyond the word 'SMS', so the baseline score of 3 is appropriate.
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 states a concrete verb and resource: 'Send SMS' is clearly the outbound-SMS operation, distinct from sibling tools about pricing, history, statistics, or templates. It is short but not vague; a 5 would need more detail about recipients and message scope.
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?
There is no explanation of when to use this tool versus alternatives such as post--v3-sms-price, nor any mention of preconditions like the need for a Sender ID or a recipient/list. The only guidance is the imperative 'Send SMS', so an agent must infer the intended usage context.
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. Dates show when Glama detected each change.
6 tool updates
v2026.8.10- First observed
get--v3-search-contacts-lists - First observed
get--v3-sms-history - First observed
get--v3-sms-templates - First observed
get--v3-statistics-sms - First observed
post--v3-sms-price - First observed
post--v3-sms-send
TDQS
Each tool targets a distinct endpoint such as sending, pricing, or viewing templates, but 'View SMS Statistics' and 'View SMS History' could be mistaken for one another by an agent looking for past SMS data. The short descriptions provide only a general hint, leaving some ambiguity between those two.
Tool names follow a consistent pattern of HTTP method plus '--v3--' plus an endpoint path, making them predictable from the API structure. However, the resource portion varies in word order and phrasing (e.g., 'sms-send' vs 'statistics-sms' vs 'search-contacts-lists'), so it is not fully uniform.
Six tools is a well-scoped size for an SMS server, covering sending, pricing, templates, contact lists, history, and statistics. Each tool has a clear role and there is no obvious filler.
The core SMS workflow is covered: calculate price, view templates and contact lists, send the message, then capture history and statistics. The set has minor gaps around managing/updating contacts or templates, but these are not essential for sending or reviewing SMS messages.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Envoyez des SMS et gérez vos campagnes directement depuis vos agents IA.
Send and schedule SMS and WhatsApp messages, manage contacts and templates, and track delivery.
The Mobile Text Alerts SMS MCP server enables your AI to send SMS messages & manage contacts
Canadian SMS API for AI agents: send SMS, verify phones, buy numbers and handle CASL consent.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants and MCP-compatible clients to send and manage SMS messages through the 46elks API, leveraging Swedish telecommunications infrastructure.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered SMS messaging through Twilio with automatic conversation threading, message status tracking, and webhook support for receiving inbound messages.801MIT
- AlicenseCqualityDmaintenanceEnables AI agents to send, receive, schedule, and manage SMS and MMS messages using the Twilio Programmable Messaging API. It provides comprehensive tools for handling bulk messaging, conversation threads, and real-time inbox monitoring through a secure, production-grade architecture.161MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to send SMS, manage contacts, verify numbers, and query campaigns via SMS Masivos platform using natural language.3026MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ClickSend/clicksend-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server