Skip to main content
Glama
ClickSend

clicksend-mcp-server

Official
by ClickSend

ClickSend MCP Server

이것은 ClickSend 팀이 개발한 공식 ClickSend MCP Server입니다. 보안상의 이유로 ClickSend MCP의 비공식 버전을 사용하지 마십시오.

목적

ClickSend MCP는 ClickSend의 메시징 기능을 현대 AI 생태계와 플랫폼으로 확장하도록 설계되었습니다 - 개발자가 직접 코드를 작성하지 않고도 ClickSend를 통해 SMS를 쉽게 보낼 수 있게 해줍니다.

이를 통해 채택이 가속화되고, 새로운 AI 기반 사용 사례가 가능해지며, 지능형 자동화 시대에 ClickSend가 미래를 준비하는 메시징 플랫폼으로 자리매김할 수 있습니다.

Related MCP server: Twilio SMS MCP Server

요구 사항

  • Node.js >= 18

    • 이 앱을 실행할 올바른 버전을 설정하려면 nvm(Node Version Manager)을 사용할 수 있습니다.

설치

AI 데스크톱 클라이언트를 다운로드하십시오. Claude Desktop이 한 예이며, **여기**에서 다운로드할 수 있습니다.

구성

이 서버에는 두 개의 환경 변수가 필요합니다:

  • CLICKSEND_USERNAME: 귀하의 ClickSend 사용자 이름

  • CLICKSEND_API_KEY: 귀하의 ClickSend API 키

ClickSend에 가입 후 https://dashboard.clicksend.com/account/subaccounts에서 사용자 이름과 키를 확인할 수 있습니다.

Claude Desktop 구성

  • Claude Desktop을 엽니다

  • 시스템 메뉴에서 Settings로 이동합니다

  • 설정 창에서 Developer 탭으로 이동하여 Edit Config를 클릭합니다. 이렇게 하면 구성 파일이 열립니다:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %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을 다시 시작하여 구성을 다시 로드합니다. 연결된 경우, hammer 아이콘을 클릭하면 clicksend-send-sms가 표시됩니다.

Claude와의 상호작용 예시

Claude를 통해 이 서버와 자연스럽게 상호 작용할 수 있는 몇 가지 방법은 다음과 같습니다:

간단한 SMS:

Send a text message to the number 61411111111 saying "I'm using ClickSend MCP server to sent SMS!"

기능

  • ClickSend 사용자 이름과 API 키를 설정하여 한 번에 하나의 SMS를 전송합니다

  • 연락처 목록에 메시지를 보낼 때 요금을 확인합니다

  • 연락처 또는 연락처 목록을 검색하고 해당 연락처에 메시지를 보냅니다

  • SMS 템플릿을 가져와 이를 사용하여 메시지를 보냅니다

  • SMS 내역을 보기/검색합니다

  • 지난 30일간의 SMS 통계를 확인합니다

지원되는 API

  1. POST /v3/sms/send

  • Operation ID: send-sms

  • 요약: SMS 보내기

  • 설명: 전화번호 또는 연락처 목록에 있는 연락처를 대상으로 수신자에게 메시지를 전송합니다.

  1. POST /v3/sms/price

  • Operation ID: calculate-sms-price

  • 요약: SMS 요용 계산

  • 설명: 메시지 유형과 길이에 따라 전송 요용을 계산합니다.

  1. GET /v3/sms/templates

  • Operation ID: view-sms-templates

  • 요약: SMS 템플릿 보기

  • 설명: 필섎터링 옵션을 포함하여 SMS 템플릿을 조회합니다.

  1. GET /v3/sms/history

  • Operation ID: view-sms-history

  • 요약: SMS 내역 보기

  • 설명: 필터링 및 페이징 옵션과 함께 이전에 전송한 SMS를 확인합니다.

  1. GET /v3/statistics/sms

  • Operation ID: view-sms-statistics

  • 요약: SMS 통계 보기

  • 설명: 지난 30일간의 SMS 통계를 가져옵니다.

  1. GET /v3/search/contacts-lists

  • Operation ID: view-contact-lists

  • 요약: 연락처 목록 보기

  • 설명: 검색된 연락처 목록을 조회합니다.

중요 참고 사항

  1. 전화번호 형식: 모든 번호는 E.164 형식이어야 합니다 (예: +61411111111)

  2. 속도 제한: ClickSend 계정의 속도 제한과 가격 조건을 잘 인지하십시오

  3. 보안: ClickSend 자격 증명을 안전하게 유지하며 버전 관리 시스템에 커밋하지 마십시오

문제 해결

일반적인 오류 메시지와 해결 방법:

  1. "Phone number must be in E.164 format"

    • 전화번호가 "+"와 국가 코드로 시작하는지 확인하십시오

  2. "Invalid credentials"

    • CLICKSEND\_USERNAME과 CLICKSEND\_API\_KEY를 다시 확인하십시오. ClickSend 대시보드에서 복사할 수 있습니다

기여

기여는 환영합니다! 풀 리퀘스트를 제출하기 전에 당사의 기여 규칙을 읽어 주십시오.

라이선스

이 프로젝트는 MIT License의 적용을 받습니다 - 자세한 내용은 LICENSE 파일을 참조하십시오.

보안

전화번호나 ClickSend 자격 증명과 같은 민감한 정보를 GitHub 이슈나 풀 리퀘스트에 포함하지 마십시오.

Available Tools

6 tools
get--v3-search-contacts-listsC

View Contact Lists

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoAllows 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>
pageNoThe page number to retrieve. Use this parameter to navigate through the [pagination](/#pagination) results. The default value is 1.
limitNoThe number of items to return per page. This parameter controls the size of each page of results. The default value is 15.
date_toNoEnd 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_byNoSpecifies 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_fromNoStart 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_requestNo[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

C2.7/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoAllows 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>
pageNoThe page number to retrieve. Use this parameter to navigate through the [pagination](/#pagination) results. The default value is 1.
limitNoThe number of items to return per page. This parameter controls the size of each page of results. The default value is 15.
order_byNoSpecifies 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

C2.2/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesNoMessages to send to customers.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesNoMessages to send to customers.

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 6 tool updatesv2026.8.10
    • First observedget--v3-search-contacts-lists
    • First observedget--v3-sms-history
    • First observedget--v3-sms-templates
    • First observedget--v3-statistics-sms
    • First observedpost--v3-sms-price
    • First observedpost--v3-sms-send

TDQS

B3/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-powered SMS messaging through Twilio with automatic conversation threading, message status tracking, and webhook support for receiving inbound messages.
    32 npm
    1
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables 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.
    16
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to send SMS, manage contacts, verify numbers, and query campaigns via SMS Masivos platform using natural language.
    30
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables sending SMS messages, managing contacts, campaigns, and inbox from AI assistants like Claude and ClickUp.
    33 npm
    MIT