letsfg-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 +51 -59
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,24 +1,22 @@
1
- # boostedtravel-mcp
1
+ # letsfg-mcp
2
2
 
3
- The largest open flight-search MCP server. 73 ready-to-run airline connectors fire in parallel on your machine — Ryanair, EasyJet, Wizz Air, Southwest, AirAsia, and 68 more — plus enterprise GDS/NDC providers (Amadeus, Duffel, Sabre) through the BoostedTravel backend. One tool call scans the entire world for flights, including airlines your agent didn't know existed.
3
+ The largest open flight-search MCP server. 75 ready-to-run airline connectors fire in parallel on your machine — Ryanair, EasyJet, Wizz Air, Southwest, AirAsia, and 70 more — plus enterprise GDS/NDC providers (Amadeus, Duffel, Sabre) through the LetsFG backend. One tool call scans the entire world for flights, including airlines your agent didn't know existed.
4
4
 
5
- **Your agent doesn't need to build a flight integration. It doesn't need to scrape. Just add this MCP server and it can search and book flights in seconds — what would take 30+ minutes of integration work becomes a single tool call.**
5
+ **Your agent doesn't need to build a flight integration. It doesn't need to scrape. Just add this MCP server and it can search and book flights in seconds.**
6
6
 
7
- Works with OpenClaw, Perplexity Computer, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
7
+ Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
8
8
 
9
- > 🎥 **[Watch the demo](https://github.com/Boosted-Chat/LetsFG#demo-boostedtravel-vs-default-agent-search)** — side-by-side comparison of default agent search vs BoostedTravel CLI.
10
-
11
- [![npm](https://img.shields.io/npm/v/boostedtravel-mcp)](https://www.npmjs.com/package/boostedtravel-mcp)
9
+ [![npm](https://img.shields.io/npm/v/letsfg-mcp)](https://www.npmjs.com/package/letsfg-mcp)
12
10
  [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](../../LICENSE)
13
11
 
14
12
  ---
15
13
 
16
14
  ## What This Is
17
15
 
18
- BoostedTravel is not a scraper wrapper. It's a production-grade **agent-to-airline connector layer**:
16
+ LetsFG is not a scraper wrapper. It's a production-grade **agent-to-airline connector layer**:
19
17
 
20
18
  - **75 airline connectors** run locally on your machine via Python + Playwright — no API key needed for search
21
- - **Enterprise GDS/NDC feeds** (Amadeus, Duffel, Sabre, Travelport, Kiwi) run through the BoostedTravel backend — these are contract-only data sources that require enterprise agreements, made available to everyone through our API
19
+ - **Enterprise GDS/NDC feeds** (Amadeus, Duffel, Sabre, Travelport, Kiwi) run through the LetsFG backend — these are contract-only data sources that require enterprise agreements, made available to everyone through our API
22
20
  - **Virtual interlining** — the combo engine mixes one-way fares across airlines (e.g., Ryanair outbound + Wizz Air return) to find deals no single airline offers
23
21
  - **City-wide airport expansion** — search `LON` and it auto-searches LHR, LGW, STN, LTN, SEN, LCY. Works for 25+ major cities worldwide
24
22
  - **Zero price bias** — no cookie tracking, no demand-based inflation, no surge pricing. Same raw airline price every time
@@ -27,21 +25,21 @@ BoostedTravel is not a scraper wrapper. It's a production-grade **agent-to-airli
27
25
  - Saves thousands of tokens vs. browser automation or scraping
28
26
  - 75 connectors fire in parallel — scans airlines across Europe, Asia, Americas, Middle East, Africa simultaneously
29
27
  - Finds deals on carriers your agent wouldn't think to check (Lucky Air, 9 Air, Jazeera Airways, FlySafair...)
30
- - Enterprise-contracted GDS deals that require contracts worth $50k+/year — we give them to you for free on search
28
+ - Enterprise-contracted GDS deals that require contracts worth $50k+/year — available for free on search
31
29
 
32
30
  ---
33
31
 
34
32
  ## Quick Start
35
33
 
36
34
  ```bash
37
- npx boostedtravel-mcp
35
+ npx letsfg-mcp
38
36
  ```
39
37
 
40
38
  That's it. The MCP server starts on stdio, ready for any MCP-compatible client.
41
39
 
42
40
  **Prerequisites for local search:**
43
41
  ```bash
44
- pip install boostedtravel
42
+ pip install letsfg
45
43
  playwright install chromium
46
44
  ```
47
45
 
@@ -56,18 +54,18 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
56
54
  ```json
57
55
  {
58
56
  "mcpServers": {
59
- "boostedtravel": {
57
+ "letsfg": {
60
58
  "command": "npx",
61
- "args": ["-y", "boostedtravel-mcp"],
59
+ "args": ["-y", "letsfg-mcp"],
62
60
  "env": {
63
- "BOOSTEDTRAVEL_API_KEY": "trav_your_api_key"
61
+ "LETSFG_API_KEY": "trav_your_api_key"
64
62
  }
65
63
  }
66
64
  }
67
65
  }
68
66
  ```
69
67
 
70
- > **Note:** Add `"BOOSTEDTRAVEL_MAX_BROWSERS": "4"` to `env` to limit browser concurrency on constrained machines.
68
+ > **Note:** Add `"LETSFG_MAX_BROWSERS": "4"` to `env` to limit browser concurrency on constrained machines.
71
69
 
72
70
  ### Cursor
73
71
 
@@ -76,11 +74,11 @@ Add to `.cursor/mcp.json` in your project root:
76
74
  ```json
77
75
  {
78
76
  "mcpServers": {
79
- "boostedtravel": {
77
+ "letsfg": {
80
78
  "command": "npx",
81
- "args": ["-y", "boostedtravel-mcp"],
79
+ "args": ["-y", "letsfg-mcp"],
82
80
  "env": {
83
- "BOOSTEDTRAVEL_API_KEY": "trav_your_api_key"
81
+ "LETSFG_API_KEY": "trav_your_api_key"
84
82
  }
85
83
  }
86
84
  }
@@ -94,11 +92,11 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
94
92
  ```json
95
93
  {
96
94
  "mcpServers": {
97
- "boostedtravel": {
95
+ "letsfg": {
98
96
  "command": "npx",
99
- "args": ["-y", "boostedtravel-mcp"],
97
+ "args": ["-y", "letsfg-mcp"],
100
98
  "env": {
101
- "BOOSTEDTRAVEL_API_KEY": "trav_your_api_key"
99
+ "LETSFG_API_KEY": "trav_your_api_key"
102
100
  }
103
101
  }
104
102
  }
@@ -111,19 +109,19 @@ Add to `~/.continue/config.yaml`:
111
109
 
112
110
  ```yaml
113
111
  mcpServers:
114
- - name: boostedtravel
112
+ - name: letsfg
115
113
  command: npx
116
- args: ["-y", "boostedtravel-mcp"]
114
+ args: ["-y", "letsfg-mcp"]
117
115
  env:
118
- BOOSTEDTRAVEL_API_KEY: trav_your_api_key
116
+ LETSFG_API_KEY: trav_your_api_key
119
117
  ```
120
118
 
121
- ### OpenClaw / Perplexity Computer
119
+ ### Any MCP-Compatible Agent
122
120
 
123
- Any MCP-compatible agent works. Point it at the MCP server:
121
+ Point it at the MCP server:
124
122
 
125
123
  ```bash
126
- npx boostedtravel-mcp
124
+ npx letsfg-mcp
127
125
  ```
128
126
 
129
127
  Or connect via remote MCP (no install):
@@ -139,11 +137,11 @@ If you get `spawn npx ENOENT` on Windows, use the full path to `npx`:
139
137
  ```json
140
138
  {
141
139
  "mcpServers": {
142
- "boostedtravel": {
140
+ "letsfg": {
143
141
  "command": "C:\\Program Files\\nodejs\\npx.cmd",
144
- "args": ["-y", "boostedtravel-mcp"],
142
+ "args": ["-y", "letsfg-mcp"],
145
143
  "env": {
146
- "BOOSTEDTRAVEL_API_KEY": "trav_your_api_key"
144
+ "LETSFG_API_KEY": "trav_your_api_key"
147
145
  }
148
146
  }
149
147
  }
@@ -155,11 +153,11 @@ Or use `node` directly:
155
153
  ```json
156
154
  {
157
155
  "mcpServers": {
158
- "boostedtravel": {
156
+ "letsfg": {
159
157
  "command": "node",
160
- "args": ["C:\\Users\\YOU\\AppData\\Roaming\\npm\\node_modules\\boostedtravel-mcp\\dist\\index.js"],
158
+ "args": ["C:\\Users\\YOU\\AppData\\Roaming\\npm\\node_modules\\letsfg-mcp\\dist\\index.js"],
161
159
  "env": {
162
- "BOOSTEDTRAVEL_API_KEY": "trav_your_api_key"
160
+ "LETSFG_API_KEY": "trav_your_api_key"
163
161
  }
164
162
  }
165
163
  }
@@ -173,7 +171,7 @@ To avoid unexpected updates:
173
171
  ```json
174
172
  {
175
173
  "command": "npx",
176
- "args": ["-y", "boostedtravel-mcp@0.2.4"]
174
+ "args": ["-y", "letsfg-mcp@1.0.0"]
177
175
  }
178
176
  ```
179
177
 
@@ -185,7 +183,7 @@ To avoid unexpected updates:
185
183
  |------|-------------|------|--------------|
186
184
  | `search_flights` | Search 400+ airlines worldwide | FREE | None (read-only) |
187
185
  | `resolve_location` | City name → IATA code | FREE | None (read-only) |
188
- | `unlock_flight_offer` | Confirm live price, reserve 30 min | $1 | Charges $1 |
186
+ | `unlock_flight_offer` | Confirm live price, reserve 30 min | | Confirms price |
189
187
  | `book_flight` | Create real airline reservation (PNR) | FREE | Creates booking |
190
188
  | `setup_payment` | Attach payment card (once) | FREE | Updates payment |
191
189
  | `get_agent_profile` | Usage stats & payment status | FREE | None (read-only) |
@@ -195,11 +193,11 @@ To avoid unexpected updates:
195
193
 
196
194
  ```
197
195
  search_flights → unlock_flight_offer → book_flight
198
- (free) ($1 quote) (free, creates PNR)
196
+ (free) (quote) (free, creates PNR)
199
197
  ```
200
198
 
201
199
  1. `search_flights("LON", "BCN", "2026-06-15")` — returns offers with prices from 75 airlines
202
- 2. `unlock_flight_offer("off_xxx")` — confirms live price with airline, reserves for 30 min, costs $1
200
+ 2. `unlock_flight_offer("off_xxx")` — confirms live price with airline, reserves for 30 min
203
201
  3. `book_flight("off_xxx", passengers, email)` — creates real booking, airline sends e-ticket
204
202
 
205
203
  The `search_flights` tool accepts an optional `max_browsers` parameter (1–32) to limit concurrent browser instances. Omit it to auto-detect based on system RAM.
@@ -222,8 +220,8 @@ curl -X POST https://api.letsfg.co/api/v1/agents/register \
222
220
 
223
221
  Or via CLI:
224
222
  ```bash
225
- pip install boostedtravel
226
- boostedtravel register --name my-agent --email you@example.com
223
+ pip install letsfg
224
+ letsfg register --name my-agent --email you@example.com
227
225
  ```
228
226
 
229
227
  ---
@@ -235,13 +233,13 @@ boostedtravel register --name my-agent --email you@example.com
235
233
  │ MCP Client (Claude Desktop / Cursor / Windsurf / etc.) │
236
234
  │ ↕ stdio (JSON-RPC, local only) │
237
235
  ├──────────────────────────────────────────────────────────────┤
238
- boostedtravel-mcp (this package, runs on YOUR machine)
236
+ letsfg-mcp (this package, runs on YOUR machine)
239
237
  │ │ │
240
238
  │ ├─→ Python subprocess (local connectors) │
241
239
  │ │ 75 airline connectors via Playwright + httpx │
242
240
  │ │ Data goes: your machine → airline website → back │
243
241
  │ │ │
244
- │ └─→ HTTPS to api.letsfg.co (backend)
242
+ │ └─→ HTTPS to api.letsfg.co (backend)
245
243
  │ unlock, book, payment, enterprise GDS search │
246
244
  └──────────────────────────────────────────────────────────────┘
247
245
  ```
@@ -262,12 +260,12 @@ boostedtravel register --name my-agent --email you@example.com
262
260
  ## Security & Privacy
263
261
 
264
262
  - **TLS everywhere** — all backend communication uses HTTPS. Local connectors connect to airline websites over HTTPS.
265
- - **No card storage** — payment cards are tokenized by Stripe. BoostedTravel never sees or stores raw card numbers.
266
- - **API key scoping** — `BOOSTEDTRAVEL_API_KEY` grants access only to your agent's account. Keys are prefixed `trav_` for easy identification and revocation.
267
- - **PII handling** — passenger names, emails, and DOBs are sent to the airline for booking (required by airlines). BoostedTravel does not store passenger PII after forwarding to the airline.
263
+ - **No card storage** — payment cards are tokenized by Stripe. LetsFG never sees or stores raw card numbers.
264
+ - **API key scoping** — `LETSFG_API_KEY` grants access only to your agent's account. Keys are prefixed `trav_` for easy identification and revocation.
265
+ - **PII handling** — passenger names, emails, and DOBs are sent to the airline for booking (required by airlines). LetsFG does not store passenger PII after forwarding to the airline.
268
266
  - **No tracking** — no cookies, no session-based pricing, no fingerprinting. Every search returns the same raw airline price.
269
267
  - **Local search is fully local** — when searching without an API key, zero data leaves your machine except direct HTTPS requests to airline websites. The MCP server and Python connectors run entirely on your hardware.
270
- - **Open source** — all connector code is MIT-licensed and auditable at [github.com/Boosted-Chat/LetsFG](https://github.com/Boosted-Chat/LetsFG).
268
+ - **Open source** — all connector code is MIT-licensed and auditable at [github.com/LetsFG/LetsFG](https://github.com/LetsFG/LetsFG).
271
269
 
272
270
  ---
273
271
 
@@ -279,7 +277,7 @@ Use Stripe's test token for payment setup without real charges:
279
277
  setup_payment with token: "tok_visa"
280
278
  ```
281
279
 
282
- This attaches a test Visa card. Unlock calls will show `$1.00` but use Stripe test mode — no real money is charged. Useful for agent development and testing the full search → unlock → book flow.
280
+ This attaches a test Visa card. Unlock calls will use Stripe test mode — no real money is charged. Useful for agent development and testing the full search → unlock → book flow.
283
281
 
284
282
  ---
285
283
 
@@ -297,22 +295,16 @@ Or install globally and use `node` directly (see Windows config above).
297
295
 
298
296
  - Check IATA codes are correct — use `resolve_location` first
299
297
  - Try a date 2+ weeks in the future (airlines don't sell last-minute on all routes)
300
- - Ensure `pip install boostedtravel && playwright install chromium` completed successfully
298
+ - Ensure `pip install letsfg && playwright install chromium` completed successfully
301
299
  - Check Python is available: the MCP server spawns a Python subprocess for local search
302
300
 
303
301
  ### How do I search without an API key?
304
302
 
305
- Just omit `BOOSTEDTRAVEL_API_KEY` from your config. Local search (75 airline connectors) works without any key. You'll only miss the enterprise GDS/NDC sources (Amadeus, Duffel, etc.).
303
+ Just omit `LETSFG_API_KEY` from your config. Local search (75 airline connectors) works without any key. You'll only miss the enterprise GDS/NDC sources (Amadeus, Duffel, etc.).
306
304
 
307
305
  ### Can I use this for commercial projects?
308
306
 
309
- Yes. MIT license. The local connectors and SDK are fully open source. The backend API (unlock/book/GDS) is a hosted service with usage-based pricing ($1 per unlock).
310
-
311
- ### How do I pin a version?
312
-
313
- ```json
314
- "args": ["-y", "boostedtravel-mcp@0.2.4"]
315
- ```
307
+ Yes. MIT license. The local connectors and SDK are fully open source.
316
308
 
317
309
  ### MCP server hangs on start
318
310
 
@@ -334,9 +326,9 @@ Ensure Node.js 18+ is installed. The server communicates via stdio (stdin/stdout
334
326
 
335
327
  ## Also Available As
336
328
 
337
- - **Python SDK + CLI**: `pip install boostedtravel` — [PyPI](https://pypi.org/project/boostedtravel/)
338
- - **JavaScript/TypeScript SDK + CLI**: `npm install boostedtravel` — [npm](https://www.npmjs.com/package/boostedtravel)
339
- - **Agent docs**: [AGENTS.md](../../AGENTS.md) — complete reference for AI agents
329
+ - **JavaScript/TypeScript SDK + CLI**: `npm install letsfg` — [npm](https://www.npmjs.com/package/letsfg)
330
+ - **Python SDK + CLI**: `pip install letsfg` — [PyPI](https://pypi.org/project/letsfg/)
331
+ - **GitHub**: [LetsFG/LetsFG](https://github.com/LetsFG/LetsFG)
340
332
 
341
333
  ## License
342
334
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "letsfg-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "mcpName": "io.github.Efistoffeles/letsfg",
5
5
  "description": "LetsFG MCP Server — 75 airline connectors run locally + enterprise GDS/NDC APIs. Flight search & booking for Claude, Cursor, Windsurf, and any MCP-compatible AI agent.",
6
6
  "main": "dist/index.js",