clicksend-mcp-server
OfficialClick on "Install 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., "@clicksend-mcp-serverSend a text message to +61411111111 saying 'Hello from ClickSend!'"
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.
ClickSend MCP Server
This is the official ClickSend MCP Server developed by the ClickSend team. For security reasons do not use unofficial versions of ClickSend MCP.
Purpose
ClickSend MCP is designed to extend ClickSend’s messaging capabilities into modern AI ecosystems and platforms - allowing developers to easily send SMS via ClickSend without needing to write custom code.
This accelerates adoption, enables new AI-driven use cases, and positions ClickSend as a future-ready messaging platform in the age of intelligent automation.
Related MCP server: Twilio MCP Server
Requirements
Node.js >= 18
you can use
nvm(Node Version Manager) to set the right version to run this app
Installation
Download an AI desktop client. An example would be Claude for Desktop which you can download here.
Configuration
The server requires two environment variables:
CLICKSEND_USERNAME: Your ClickSend usernameCLICKSEND_API_KEY: Your ClickSend API Key
You can find the username and key at https://dashboard.clicksend.com/account/subaccounts once you Sign Up to ClickSend.
Claude Desktop Configuration
Open Claude for Desktop
Go to Settings from the system's menu bar
In the settings window, navigate to the Developer tab and click Edit Config. This opens the configuation file located at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Using NPM Package
{
"mcpServers": {
"clicksend": {
"command": "npx",
"args": [
"-y",
"@clicksend/clicksend-mcp-server@latest"
],
"env": {
"CLICKSEND_USERNAME": "<username>",
"CLICKSEND_API_KEY": "<api-key>"
}
}
}
}
Using Local Build
{
"mcpServers": {
"clicksend": {
"command": "node",
"args": [
"/path/to/repository/build/clicksend-mcp.js"
],
"env": {
"CLICKSEND_USERNAME": "your clicksend username",
"CLICKSEND_API_KEY": "your API Key"
}
}
}
}
After that, restart Claude Desktop to reload the configuration. If connected, you should see clicksend-send-sms when you click on the hammer icon.
Example Interactions with Claude
Here are some natural ways to interact with the server through Claude:
Simple SMS:
Send a text message to the number 61411111111 saying "I'm using ClickSend MCP server to sent SMS!"Features
Send one SMS at a time by setting up the clicksend username and API Key
Get Price for sending message to contact list
Search Contacts or Contact Lists and send message to them
Get SMS Templates, and use that to send message
View/Retrieve SMS history
Get SMS Statistics for last 30 days
Supported APIs
POST /v3/sms/send
Operation ID:
send-smsSummary: Send SMS
Description: Send messages to recipients, either as phone numbers or contacts from a contact list.
POST /v3/sms/price
Operation ID:
calculate-sms-priceSummary: Calculate SMS Price
Description: Calculate the price of sending messages based on message type and length.
GET /v3/sms/templates
Operation ID:
view-sms-templatesSummary: View SMS Templates
Description: Retrieve SMS templates with filtering options.
GET /v3/sms/history
Operation ID:
view-sms-historySummary: View SMS History
Description: View previously sent SMS with filtering and pagination options.
GET /v3/statistics/sms
Operation ID:
view-sms-statisticsSummary: View SMS Statistics
Description: Get SMS statistics for the last 30 days.
GET /v3/search/contacts-lists
Operation ID:
view-contact-listsSummary: View Contact Lists
Description: Get a list of searched contact lists.
Important Notes
Phone Number Format: All phone numbers must be in E.164 format (e.g., +61411111111)
Rate Limits: Be aware of your ClickSend account's rate limits and pricing
Security: Keep your ClickSend credentials secure and never commit them to version control
Troubleshooting
Common error messages and solutions:
"Phone number must be in E.164 format"
Make sure the phone number starts with "+" and the country code
"Invalid credentials"
Double-check your CLICKSEND_USERNAME and CLICKSEND_API_KEY. You can copy them from the ClickSend Dashboard
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Security
Please do not include any sensitive information (like phone numbers or ClickSend credentials) in GitHub issues or pull requests.
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