virtualsms-mcp 1.0.0 → 1.0.2

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.
Files changed (3) hide show
  1. package/README.md +61 -32
  2. package/ROADMAP.md +6 -0
  3. package/package.json +21 -7
package/README.md CHANGED
@@ -1,8 +1,12 @@
1
- # VirtualSMS MCP Server
1
+ # VirtualSMS MCP Server — SMS Verification for AI Agents
2
2
 
3
- Receive SMS verification codes directly inside your AI agent workflows. Supports Claude Desktop, Cursor, and any MCP-compatible client.
3
+ [![npm version](https://img.shields.io/npm/v/virtualsms-mcp.svg)](https://www.npmjs.com/package/virtualsms-mcp)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
5
+ [![GitHub Stars](https://img.shields.io/github/stars/virtualsms-io/mcp-server?style=social)](https://github.com/virtualsms-io/mcp-server)
4
6
 
5
- **Powered by [VirtualSMS.io](https://virtualsms.io)** virtual phone numbers for SMS verification.
7
+ **VirtualSMS MCP Server** is a [Model Context Protocol](https://modelcontextprotocol.io) server that gives AI agents access to a complete SMS verification API. Get a virtual phone number, receive SMS online, and extract verification codes — all without leaving your AI workflow.
8
+
9
+ Powered by [VirtualSMS.io](https://virtualsms.io) — a phone verification service running on own infrastructure across 200+ countries.
6
10
 
7
11
  ---
8
12
 
@@ -22,6 +26,35 @@ Get your API key at [virtualsms.io](https://virtualsms.io).
22
26
 
23
27
  ---
24
28
 
29
+ ## What is VirtualSMS?
30
+
31
+ [VirtualSMS.io](https://virtualsms.io) is a **temporary phone number API** for SMS verification. Unlike resellers that aggregate other providers, VirtualSMS operates its own modem infrastructure — giving you direct access to real SIM cards across 200+ countries.
32
+
33
+ Use it to verify accounts on WhatsApp, Telegram, Google, Instagram, and 500+ other services — programmatically, via API or MCP.
34
+
35
+ ---
36
+
37
+ ## Why VirtualSMS?
38
+
39
+ - **Own infrastructure** — Not a reseller. Real SIM cards on our own hardware.
40
+ - **200+ countries** — Find the cheapest number for any service worldwide.
41
+ - **Real-time delivery** — WebSocket push means your agent gets the code in seconds, not minutes.
42
+ - **Competitive pricing** — Starting from $0.02 per number.
43
+ - **Simple REST + WebSocket API** — Clean, documented, agent-friendly.
44
+ - **11 MCP tools** — Everything from price discovery to one-step code retrieval.
45
+
46
+ ---
47
+
48
+ ## Migrating from SMS-Activate or DaisySMS?
49
+
50
+ If you're moving away from **SMS-Activate** or **DaisySMS** (closing March 2025), VirtualSMS is a straightforward alternative with comparable service coverage, competitive pricing, and a modern API built for programmatic use.
51
+
52
+ Just swap your API key and update the base URL — the concepts (buy number → wait for SMS → get code) are identical.
53
+
54
+ 👉 [Sign up at VirtualSMS.io](https://virtualsms.io) and get started in minutes.
55
+
56
+ ---
57
+
25
58
  ## Configuration
26
59
 
27
60
  ### Claude Desktop
@@ -82,7 +115,7 @@ list_services()
82
115
  ```
83
116
 
84
117
  #### `list_countries`
85
- Get all available countries for SMS verification.
118
+ Get all available countries for phone verification.
86
119
 
87
120
  ```
88
121
  list_countries()
@@ -137,7 +170,7 @@ Optional `status` filter: `"pending"`, `"sms_received"`, `"cancelled"`, `"comple
137
170
  ### Order Management Tools (API key required)
138
171
 
139
172
  #### `buy_number`
140
- Purchase a virtual phone number.
173
+ Purchase a virtual phone number for a specific service and country.
141
174
 
142
175
  ```
143
176
  buy_number(service: "telegram", country: "US")
@@ -145,7 +178,7 @@ buy_number(service: "telegram", country: "US")
145
178
  ```
146
179
 
147
180
  #### `check_sms`
148
- Check if an SMS code has arrived for an order.
181
+ Check if an SMS verification code has arrived.
149
182
 
150
183
  ```
151
184
  check_sms(order_id: "abc123")
@@ -184,28 +217,35 @@ On timeout, returns `order_id` for recovery:
184
217
 
185
218
  ---
186
219
 
220
+
221
+ ## Number Rentals (Coming Soon)
222
+
223
+ Need to keep the same phone number for days or weeks? VirtualSMS supports **number rentals** for recurring verifications — perfect for long-running automations, dev testing, and accounts that require re-verification with the same number.
224
+
225
+ Rental tools (`rent_number`, `extend_rental`, `list_rentals`) are coming in v1.1. See the [Roadmap](./ROADMAP.md).
226
+
187
227
  ## How It Works
188
228
 
189
229
  ### WebSocket vs Polling
190
230
 
191
231
  `wait_for_code` uses a two-tier delivery system:
192
232
 
193
- 1. **WebSocket (instant)** — connects to `wss://virtualsms.io/ws/orders?order_id=xxx` immediately after buying the number. When the SMS arrives, the server pushes it in real-time. Typical delivery: 2-15 seconds.
233
+ 1. **WebSocket (instant)** — connects to `wss://virtualsms.io/ws/orders?order_id=xxx` immediately after purchase. When the SMS arrives, the server pushes it in real-time. Typical delivery: 215 seconds.
194
234
 
195
- 2. **Polling fallback** — if WebSocket fails to connect or disconnects, automatically falls back to polling `GET /api/v1/order/{id}` every 5 seconds. Same result, slightly slower.
235
+ 2. **Polling fallback** — if WebSocket fails to connect or disconnects, automatically falls back to polling `GET /api/v1/order/{id}` every 5 seconds.
196
236
 
197
237
  The `delivery_method` field in the response tells you which was used.
198
238
 
199
239
  ### Architecture
200
240
 
201
241
  ```
202
- AI Agent (Claude/Cursor)
242
+ AI Agent (Claude / Cursor / any MCP client)
203
243
 
204
244
  ▼ MCP stdio protocol
205
245
  VirtualSMS MCP Server (this package)
206
246
 
207
247
  ├──► REST API: https://virtualsms.io/api/v1/
208
- │ buy_number, check_sms, cancel_order, etc.
248
+ │ buy_number, check_sms, cancel_order, get_balance ...
209
249
 
210
250
  └──► WebSocket: wss://virtualsms.io/ws/orders
211
251
  real-time SMS push delivery
@@ -215,7 +255,7 @@ VirtualSMS MCP Server (this package)
215
255
 
216
256
  ## Typical Workflows
217
257
 
218
- ### Simple: Get a Telegram code
258
+ ### Simple: Get a Telegram verification code
219
259
  ```
220
260
  wait_for_code(service: "telegram", country: "US")
221
261
  ```
@@ -231,35 +271,24 @@ wait_for_code(service: "telegram", country: "PK")
231
271
  ```
232
272
  buy_number(service: "google", country: "GB")
233
273
  # → order_id: "abc123", phone: "+447911123456"
234
-
235
- # Use the phone number to trigger the SMS...
236
-
274
+ # Use the number to trigger the SMS, then:
237
275
  check_sms(order_id: "abc123")
238
- # Poll until sms_code appears, or:
239
- cancel_order(order_id: "abc123") # if taking too long
276
+ # or cancel if no longer needed:
277
+ cancel_order(order_id: "abc123")
240
278
  ```
241
279
 
242
280
  ---
243
281
 
244
282
  ## Crash Recovery
245
283
 
246
- If your MCP server crashes or the AI session is interrupted mid-verification:
284
+ If your session is interrupted mid-verification:
247
285
 
248
- 1. **Restart the MCP server** (it reconnects automatically)
249
- 2. **List active orders:**
250
- ```
251
- active_orders(status: "pending")
252
- ```
253
- 3. **Check for codes:**
254
- ```
255
- check_sms(order_id: "abc123")
256
- ```
257
- 4. **Cancel if no longer needed:**
258
- ```
259
- cancel_order(order_id: "abc123")
260
- ```
286
+ 1. **Restart the MCP server**
287
+ 2. **List active orders:** `active_orders(status: "pending")`
288
+ 3. **Check for codes:** `check_sms(order_id: "abc123")`
289
+ 4. **Cancel if not needed:** `cancel_order(order_id: "abc123")`
261
290
 
262
- The `wait_for_code` tool always returns `order_id` even on timeout — this is your recovery handle.
291
+ `wait_for_code` always returns `order_id` even on timeout — use it to recover.
263
292
 
264
293
  ---
265
294
 
@@ -267,4 +296,4 @@ The `wait_for_code` tool always returns `order_id` even on timeout — this is y
267
296
 
268
297
  MIT — See [LICENSE](./LICENSE)
269
298
 
270
- Built with ❤️ by [VirtualSMS.io](https://virtualsms.io)
299
+ Built with ❤️ by [VirtualSMS.io](https://virtualsms.io) — virtual phone numbers for SMS verification, built on own infrastructure.
package/ROADMAP.md CHANGED
@@ -46,3 +46,9 @@ Current version: **v1.0.0** — Core tools, WebSocket delivery, crash recovery.
46
46
  - **Rental numbers** — keep a number for days or weeks (not just one-time verification).
47
47
  - **Number recycling preferences** — opt out of recycled numbers for higher success rates.
48
48
  - **Operator filtering** — prefer specific carriers per country for higher deliverability.
49
+
50
+ ### Rental Tools (v1.1)
51
+ - `rent_number` — Rent a number for days/weeks for recurring verifications
52
+ - `extend_rental` — Extend an active rental period
53
+ - `list_rentals` — List active number rentals
54
+ - `rental_sms` — Check SMS received on a rented number
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "virtualsms-mcp",
3
- "version": "1.0.0",
4
- "description": "MCP server for VirtualSMS — receive SMS verification codes with AI agents",
3
+ "version": "1.0.2",
4
+ "description": "MCP server for VirtualSMS — receive SMS verification codes with AI agents. Virtual phone numbers and number rentals for WhatsApp, Telegram, Google & 200+ services. SMS-Activate & DaisySMS alternative.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "virtualsms-mcp": "dist/index.js"
@@ -14,22 +14,36 @@
14
14
  },
15
15
  "keywords": [
16
16
  "mcp",
17
+ "mcp-server",
18
+ "model-context-protocol",
17
19
  "sms",
18
- "verification",
20
+ "sms-verification",
21
+ "sms-activate",
19
22
  "virtual-number",
23
+ "virtual-phone-number",
20
24
  "phone-verification",
21
- "sms-activate",
22
- "model-context-protocol"
25
+ "receive-sms",
26
+ "ai-agent",
27
+ "claude",
28
+ "cursor",
29
+ "daisysms-alternative",
30
+ "temporary-phone-number",
31
+ "whatsapp-verification",
32
+ "telegram-verification",
33
+ "virtualsms",
34
+ "phone-number-rental",
35
+ "long-term-virtual-number",
36
+ "sms-rental"
23
37
  ],
24
38
  "author": "VirtualSMS",
25
39
  "license": "MIT",
26
40
  "homepage": "https://virtualsms.io",
27
41
  "repository": {
28
42
  "type": "git",
29
- "url": "https://github.com/virtualsms/mcp-server"
43
+ "url": "git+https://github.com/virtualsms-io/mcp-server.git"
30
44
  },
31
45
  "bugs": {
32
- "url": "https://github.com/virtualsms/mcp-server/issues"
46
+ "url": "https://github.com/virtualsms-io/mcp-server/issues"
33
47
  },
34
48
  "engines": {
35
49
  "node": ">=18"