virtualsms-mcp 1.0.0 → 1.0.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.
Files changed (2) hide show
  1. package/README.md +54 -32
  2. package/package.json +18 -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")
@@ -190,22 +223,22 @@ On timeout, returns `order_id` for recovery:
190
223
 
191
224
  `wait_for_code` uses a two-tier delivery system:
192
225
 
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.
226
+ 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
227
 
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.
228
+ 2. **Polling fallback** — if WebSocket fails to connect or disconnects, automatically falls back to polling `GET /api/v1/order/{id}` every 5 seconds.
196
229
 
197
230
  The `delivery_method` field in the response tells you which was used.
198
231
 
199
232
  ### Architecture
200
233
 
201
234
  ```
202
- AI Agent (Claude/Cursor)
235
+ AI Agent (Claude / Cursor / any MCP client)
203
236
 
204
237
  ▼ MCP stdio protocol
205
238
  VirtualSMS MCP Server (this package)
206
239
 
207
240
  ├──► REST API: https://virtualsms.io/api/v1/
208
- │ buy_number, check_sms, cancel_order, etc.
241
+ │ buy_number, check_sms, cancel_order, get_balance ...
209
242
 
210
243
  └──► WebSocket: wss://virtualsms.io/ws/orders
211
244
  real-time SMS push delivery
@@ -215,7 +248,7 @@ VirtualSMS MCP Server (this package)
215
248
 
216
249
  ## Typical Workflows
217
250
 
218
- ### Simple: Get a Telegram code
251
+ ### Simple: Get a Telegram verification code
219
252
  ```
220
253
  wait_for_code(service: "telegram", country: "US")
221
254
  ```
@@ -231,35 +264,24 @@ wait_for_code(service: "telegram", country: "PK")
231
264
  ```
232
265
  buy_number(service: "google", country: "GB")
233
266
  # → order_id: "abc123", phone: "+447911123456"
234
-
235
- # Use the phone number to trigger the SMS...
236
-
267
+ # Use the number to trigger the SMS, then:
237
268
  check_sms(order_id: "abc123")
238
- # Poll until sms_code appears, or:
239
- cancel_order(order_id: "abc123") # if taking too long
269
+ # or cancel if no longer needed:
270
+ cancel_order(order_id: "abc123")
240
271
  ```
241
272
 
242
273
  ---
243
274
 
244
275
  ## Crash Recovery
245
276
 
246
- If your MCP server crashes or the AI session is interrupted mid-verification:
277
+ If your session is interrupted mid-verification:
247
278
 
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
- ```
279
+ 1. **Restart the MCP server**
280
+ 2. **List active orders:** `active_orders(status: "pending")`
281
+ 3. **Check for codes:** `check_sms(order_id: "abc123")`
282
+ 4. **Cancel if not needed:** `cancel_order(order_id: "abc123")`
261
283
 
262
- The `wait_for_code` tool always returns `order_id` even on timeout — this is your recovery handle.
284
+ `wait_for_code` always returns `order_id` even on timeout — use it to recover.
263
285
 
264
286
  ---
265
287
 
@@ -267,4 +289,4 @@ The `wait_for_code` tool always returns `order_id` even on timeout — this is y
267
289
 
268
290
  MIT — See [LICENSE](./LICENSE)
269
291
 
270
- Built with ❤️ by [VirtualSMS.io](https://virtualsms.io)
292
+ Built with ❤️ by [VirtualSMS.io](https://virtualsms.io) — virtual phone numbers for SMS verification, built on own infrastructure.
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.1",
4
+ "description": "MCP server for VirtualSMS — receive SMS verification codes with AI agents. Virtual phone numbers 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,33 @@
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"
23
34
  ],
24
35
  "author": "VirtualSMS",
25
36
  "license": "MIT",
26
37
  "homepage": "https://virtualsms.io",
27
38
  "repository": {
28
39
  "type": "git",
29
- "url": "https://github.com/virtualsms/mcp-server"
40
+ "url": "git+https://github.com/virtualsms-io/mcp-server.git"
30
41
  },
31
42
  "bugs": {
32
- "url": "https://github.com/virtualsms/mcp-server/issues"
43
+ "url": "https://github.com/virtualsms-io/mcp-server/issues"
33
44
  },
34
45
  "engines": {
35
46
  "node": ">=18"