Packages¶
LetsFG is available as a Python SDK, JavaScript SDK, MCP server, and remote MCP endpoint. Works with OpenClaw, Perplexity Computer, Claude Desktop, Cursor, Windsurf, and any MCP-compatible agent.
Overview¶
| Package | Install | What it is | API Key Required? |
|---|---|---|---|
| Python SDK + CLI | pip install letsfg |
SDK + CLI + 200 local airline connectors | No (local search). Yes (cloud search, unlock, book) |
| JS/TS SDK + CLI | npm install -g letsfg |
SDK + letsfg CLI command |
Yes |
| MCP Server | npx letsfg-mcp |
Model Context Protocol for AI agents | No (local search). Yes (cloud search, unlock, book) |
| Remote MCP | https://api.letsfg.co/mcp |
Streamable HTTP — no install needed | Yes |
| Smithery | smithery.ai/server/letsfg-mcp | One-click MCP install | No (local search). Yes (cloud search) |
Python SDK¶
Provides:
LetsFGclient class withsearch(),unlock(),book(),me(),resolve_location(),setup_payment()- 200 local airline connectors — run directly on your machine (Ryanair, Wizz Air, EasyJet, Norwegian, AirAsia, IndiGo, Qatar Airways, LATAM, Finnair, and 190+ more)
search_local()— free local-only search, no API key neededget_system_profile()— detect system RAM/CPU and recommended concurrencyconfigure_max_browsers(n)— set max concurrent browser instances (1–32)- CLI command
letsfgwith all operations - Virtual interlining engine — cross-airline round-trips from one-way fares
- Shared browser infrastructure — stealth Chrome launcher, CDP sessions, anti-bot handling
- Typed response models:
FlightSearchResponse,UnlockResponse,BookingResponse,AgentProfile - Exception classes:
AuthenticationError,PaymentRequiredError,OfferExpiredError
from letsfg import LetsFG
bt = LetsFG(api_key="trav_...")
flights = bt.search("LHR", "JFK", "2026-04-15")
Local Search (No API Key)¶
from letsfg.local import search_local
# Free, runs all relevant LCC connectors on your machine
result = await search_local("GDN", "BCN", "2026-06-15")
JavaScript / TypeScript SDK¶
Provides:
LetsFGclient class withsearch(),unlock(),book(),me()- CLI command
letsfg(same interface as Python) - TypeScript types for all responses
import { LetsFG } from 'letsfg';
const bt = new LetsFG({ apiKey: 'trav_...' });
const flights = await bt.search('LHR', 'JFK', '2026-04-15');
MCP Server¶
Model Context Protocol server for AI assistants like Claude Desktop, Cursor, and Windsurf.
Quick Setup¶
By default, search runs via cloud backend (75+ airline connectors on scalable infrastructure — no local Python/Playwright needed). Set LETSFG_SEARCH_MODE=local to run connectors on your machine instead.
Configuration¶
Add to your MCP config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"letsfg": {
"command": "npx",
"args": ["-y", "letsfg-mcp"],
"env": {
"LETSFG_API_KEY": "trav_your_api_key"
}
}
}
}
Environment Variables¶
| Variable | Default | Description |
|---|---|---|
LETSFG_API_KEY |
(none) | API key for unlock/book/payment operations |
LETSFG_SEARCH_MODE |
cloud |
cloud (default, recommended) or local (requires Python + Playwright) |
LETSFG_CLOUD_SEARCH_URL |
(production URL) | Override cloud search endpoint (for testing) |
LETSFG_BASE_URL |
https://api.letsfg.co |
Override API base URL |
Rate Limits¶
Cloud search is rate limited to 10 requests per minute per IP address. The server returns rate limit info in every response. If you exceed the limit, you'll receive a 429 error with a retry_after value.
Remote MCP (Streamable HTTP)¶
If your client supports remote MCP servers, connect directly without installing anything:
Available Tools¶
| Tool | Description |
|---|---|
search_flights |
Search 400+ airlines for flights |
get_agent_profile |
View account info and usage stats |
resolve_location |
Convert city names to IATA codes |
system_info |
System resources & recommended concurrency |
setup_payment |
Attach a Stripe payment method |
unlock_flight_offer |
Confirm price and reserve (free) |
book_flight |
Create airline booking (PNR) |
API Endpoints¶
All packages connect to the same API:
| Endpoint | Method | Description |
|---|---|---|
/api/v1/agents/register |
POST | Create account, get API key |
/api/v1/flights/search |
POST | Search flights |
/api/v1/flights/resolve-location |
GET | Resolve city/airport codes |
/api/v1/bookings/unlock |
POST | Unlock offer (free) |
/api/v1/bookings/book |
POST | Book flight |
/api/v1/agents/setup-payment |
POST | Setup Stripe payment |
/api/v1/agents/me |
GET | Agent profile |
Base URL: https://api.letsfg.co
Interactive docs: api.letsfg.co/docs