MCP Integration
Quick Release supports integration via Model Context Protocol (MCP), enabling AI assistants like Claude Desktop to work with your flights, bookings, and vouchers.
What is MCP?
Model Context Protocol is an open standard that allows language models and AI agents to securely access external tools and data sources. With MCP, you can:
- Ask Claude to “show me tomorrow’s flights” or “create a booking”
- Integrate Quick Release into custom AI agents and workflows
- Automate operations using natural language commands
- Build LLM-powered applications that need access to flight data
Learn more at modelcontextprotocol.io.
Setting Up Claude Desktop
1. Get your API key
In Quick Release, go to Settings → API. Copy your API key, or press Generate API key if you do not have one yet.
This is the same key used by the HTTP Integrator API. It identifies your operator account — Quick Release works out which operator you are from the key itself, so there is no tenant id to configure.
2. Install Claude Desktop
Download Claude Desktop for macOS or Windows. You will also need Node.js 22 or newer.
3. Add the Quick Release configuration
Edit your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration block:
{
"mcpServers": {
"quick-release": {
"command": "npx",
"args": ["-y", "@quick-release/mcp"],
"env": {
"QR_API_KEY": "paste-your-key-here"
}
}
}
}Replace paste-your-key-here with the key from Settings → API.
npx downloads the server on first use — there is nothing to install or keep up to date by hand.
4. Restart Claude Desktop
After saving the configuration, restart Claude Desktop. You should see the Quick Release tools available in the Tools panel. Try: “Which flights do I have coming up?”
Available Operations
The MCP server exposes exactly the operations of the standard Quick Release Integrator API — nothing more. The assistant cannot reach any other part of your account.
Queries (read-only)
| Tool | Description | Returns |
|---|---|---|
qr_get_flights | List all upcoming flights | Flights with date, hour, meeting time, period, balloon, location, region, and capacity |
qr_get_locations | List active launch locations | Locations with id and name |
qr_get_balloons | List active balloons in the fleet | Balloons with id, name, capacity, and call sign |
qr_get_regions | List available regions | Regions with id and name |
qr_get_booking | Get a booking by id | Contact details, region, flight assignment, passengers, tags |
qr_get_voucher | Get a voucher by id or reference code | Voucher type, dates, contact details, seats, payment info |
Mutations (write operations)
| Tool | Description | Required Parameters |
|---|---|---|
qr_create_booking | Create a new booking | contactName, contactPhone, contactEmail, contactLanguage, regionId |
qr_create_voucher | Create a gift voucher | voucherType, voucherReference, issueDate, expiryDate, contactName, adults, paymentStatus, paymentAmount, paymentDate, paymentType |
qr_create_flight | Schedule a new flight | date, hour (UTC), balloonId, locationId, period |
qr_update_booking_flight | Assign a booking to a flight | bookingId, flightId |
qr_remove_booking_flight | Remove a booking from its flight | bookingId |
Example Usage in Claude
Get information
Show me all upcoming flights for the next week.What balloons do we have available?Retrieve booking ABC123 and tell me which flight it's assigned to.Create bookings
Create a booking for John Smith, john@example.com, +32123456789, Dutch language
preference, from the Brussels region. He has 2 passengers.Manage flights
Schedule a new flight on 2026-03-15 at 08:00 UTC, AM period, using our Cameron
balloon from the Brussels launch site.Assign booking ABC123 to the morning flight on 15 March.Claude can chain these: it will call qr_get_balloons and qr_get_locations to resolve the ids it needs before scheduling.
Authentication
The MCP server uses the same authentication as the HTTP Integrator API: a single API key (QR_API_KEY), from Settings → API.
Your key identifies your operator account. Quick Release derives the account from the key, so — unlike a username/password — there is nothing else to configure and the key cannot be pointed at another operator’s data.
The key is read from the environment only. It is never accepted as a tool argument, so it stays out of the assistant’s context and out of conversation transcripts.
If a key is ever exposed, generate a new one in Settings → API. This immediately invalidates the old one.
Rate Limiting & Safety
The MCP server is a client of the HTTP Integrator API and inherits its limits and safeguards:
- Standard per-account rate limiting applies
- Only the operations listed above are reachable
- Changes are logged and auditable
- The server is stateless and stores no credentials
Troubleshooting
Tools not appearing in Claude
- Check that the configuration file has valid JSON syntax
- Confirm Node.js 22+ is installed (
node --version) - Restart Claude Desktop completely
- Check Claude’s logs for connection errors
“Missing QR API key”
QR_API_KEY is not set in the env block of your configuration.
“Quick Release rejected the API key (HTTP 401)”
The key is wrong, or it has been regenerated. Copy it again from Settings → API.
For Developers
The server speaks MCP over stdio and runs locally alongside your MCP client. It is a thin client of the public REST Integrator API — it holds no shared secret of its own.
Configuration
| Variable | Required | Default | Purpose |
|---|---|---|---|
QR_API_KEY | yes | — | Your API key from Settings → API |
QR_API_URL | no | https://api.quickrelease.aero | API base URL |
QR_API_DEV | no | false | Set to true to run against the acceptance environment |
Building custom agents
Any MCP-compatible client can connect. For example, with the TypeScript SDK:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
const transport = new StdioClientTransport({
command: 'npx',
args: ['-y', '@quick-release/mcp'],
env: { QR_API_KEY: 'your-api-key' },
});
const client = new Client({ name: 'my-agent', version: '1.0.0' }, { capabilities: {} });
await client.connect(transport);
const tools = await client.listTools();If you would rather call the API directly, see the standard API documentation — the MCP server exposes the same operations.
Support
For questions or issues, contact the Quick Release team.