@codespar/mcp-twilio 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,22 +4,32 @@ MCP server for [Twilio](https://www.twilio.com) — the global standard for prog
4
4
 
5
5
  SMS, WhatsApp, and Voice across 180+ countries. Verify (2FA) and Lookup (phone validation) included. Fills the global messaging gap in a catalog otherwise tilted to Brazil-specific providers (Z-API, Take Blip, Zenvia, Evolution API).
6
6
 
7
- ## Tools
7
+ ## Tools (22)
8
8
 
9
9
  | Tool | Purpose |
10
- |------|---------|
11
- | `send_message` | Send an SMS or WhatsApp message (prefix `To` with `whatsapp:+E164` for WhatsApp) |
12
- | `get_message` | Retrieve a message by SID |
13
- | `list_messages` | List messages with optional filters (To, From, DateSent) |
14
- | `delete_message` | Delete a message from history |
15
- | `make_call` | Place an outbound voice call driven by a TwiML `Url` |
16
- | `get_call` | Retrieve a call by SID |
17
- | `update_call` | Hang up or redirect an in-progress call |
18
- | `start_verification` | Send a Verify (2FA) code via sms / whatsapp / call |
19
- | `check_verification` | Check a Verify (2FA) code |
20
- | `lookup_phone` | Validate + format + classify a phone number (Lookups v2) |
21
- | `list_incoming_numbers` | List your Twilio-provisioned phone numbers |
22
- | `buy_phone_number` | Provision a new phone number |
10
+ |---|---|
11
+ | `send_message` | Send an SMS or WhatsApp message. |
12
+ | `get_message` | Retrieve a message resource by SID (SM... |
13
+ | `list_messages` | List messages with optional filters. |
14
+ | `delete_message` | Delete a message from history. |
15
+ | `make_call` | Place an outbound voice call. |
16
+ | `get_call` | Retrieve a call resource by SID (CA...). |
17
+ | `update_call` | Modify an in-progress call. |
18
+ | `start_verification` | Start a Verify (2FA) challenge. |
19
+ | `check_verification` | Check a Verify (2FA) code against a Service SID. |
20
+ | `lookup_phone` | Validate and normalize a phone number via Lookups v2. |
21
+ | `list_incoming_numbers` | List Twilio-provisioned phone numbers on this account. |
22
+ | `buy_phone_number` | Provision a new phone number. |
23
+ | `list_recordings` | List call recordings on this account. |
24
+ | `create_verify_service` | Create a Verify Service (VA...). |
25
+ | `create_conversation` | Create a Twilio Conversation. |
26
+ | `list_conversations` | List Conversations. |
27
+ | `add_conversation_participant` | Add a participant to a Conversation. |
28
+ | `send_conversation_message` | Post a message into a Conversation. |
29
+ | `list_messaging_services` | List Messaging Services (MG...). |
30
+ | `execute_studio_flow` | Trigger a Studio Flow Execution for a contact. |
31
+ | `create_taskrouter_task` | Create a TaskRouter Task on a Workspace. |
32
+ | `list_taskrouter_workers` | List Workers on a TaskRouter Workspace. |
23
33
 
24
34
  ## Install
25
35
 
package/dist/index.js CHANGED
@@ -110,7 +110,7 @@ function buildQuery(params) {
110
110
  const s = q.toString();
111
111
  return s ? `?${s}` : "";
112
112
  }
113
- const server = new Server({ name: "mcp-twilio", version: "0.2.0" }, { capabilities: { tools: {} } });
113
+ const server = new Server({ name: "mcp-twilio", version: "0.2.1" }, { capabilities: { tools: {} } });
114
114
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
115
115
  tools: [
116
116
  {
@@ -648,7 +648,7 @@ async function main() {
648
648
  const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
649
649
  t.onclose = () => { if (t.sessionId)
650
650
  transports.delete(t.sessionId); };
651
- const s = new Server({ name: "mcp-twilio", version: "0.2.0" }, { capabilities: { tools: {} } });
651
+ const s = new Server({ name: "mcp-twilio", version: "0.2.1" }, { capabilities: { tools: {} } });
652
652
  server._requestHandlers.forEach((v, k) => s._requestHandlers.set(k, v));
653
653
  server._notificationHandlers?.forEach((v, k) => s._notificationHandlers.set(k, v));
654
654
  await s.connect(t);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codespar/mcp-twilio",
3
- "version": "0.2.0",
4
- "description": "MCP server for Twilio global SMS, WhatsApp, Voice, Verify, and Lookup across 180+ countries",
3
+ "version": "0.2.1",
4
+ "description": "MCP server for Twilio \u2014 global SMS, WhatsApp, Voice, Verify, and Lookup across 180+ countries",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "bin": {
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "source": "github",
8
8
  "subfolder": "packages/communication/twilio"
9
9
  },
10
- "version": "0.2.0",
10
+ "version": "0.2.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@codespar/mcp-twilio",
15
- "version": "0.2.0",
15
+ "version": "0.2.1",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },
package/src/index.ts CHANGED
@@ -123,7 +123,7 @@ function buildQuery(params: Record<string, unknown>): string {
123
123
  }
124
124
 
125
125
  const server = new Server(
126
- { name: "mcp-twilio", version: "0.2.0" },
126
+ { name: "mcp-twilio", version: "0.2.1" },
127
127
  { capabilities: { tools: {} } }
128
128
  );
129
129
 
@@ -623,7 +623,7 @@ async function main() {
623
623
  if (!sid && isInitializeRequest(req.body)) {
624
624
  const t = new StreamableHTTPServerTransport({ sessionIdGenerator: () => randomUUID(), onsessioninitialized: (id) => { transports.set(id, t); } });
625
625
  t.onclose = () => { if (t.sessionId) transports.delete(t.sessionId); };
626
- const s = new Server({ name: "mcp-twilio", version: "0.2.0" }, { capabilities: { tools: {} } });
626
+ const s = new Server({ name: "mcp-twilio", version: "0.2.1" }, { capabilities: { tools: {} } });
627
627
  (server as unknown as { _requestHandlers: Map<unknown, unknown> })._requestHandlers.forEach((v, k) => (s as unknown as { _requestHandlers: Map<unknown, unknown> })._requestHandlers.set(k, v));
628
628
  (server as unknown as { _notificationHandlers?: Map<unknown, unknown> })._notificationHandlers?.forEach((v, k) => (s as unknown as { _notificationHandlers: Map<unknown, unknown> })._notificationHandlers.set(k, v));
629
629
  await s.connect(t);