Skip to main content
Glama
sky-access

skyaccess-mcp

Official
by sky-access

skyaccess-mcp

One command to add the SkyAccess private-jet MCP server to your AI client.

npx skyaccess-mcp

The server is public, anonymous, and read-mostly. It serves five tools:

Tool

Does

search_empty_legs

Find discounted empty-leg flights by route, date, pax

get_flight

Re-read one leg by id

booking_handoff

Get the customer-facing booking link for a leg

get_charter_estimate

Indicative price range for a charter route

request_booking

Submit a charter enquiry (the only tool that writes)

Endpoint: https://mcp.skyaccess.com/mcp

Do you even need this package?

Often not, and that is the honest answer. Checked against vendor docs on 2026-08-28:

Client

Supports a remote URL natively?

What you actually do

Claude.ai / Claude Desktop (Connectors)

Yes

Settings → Connectors → Add custom connector → paste the URL

Claude Code

Yes

claude mcp add --transport http --scope user skyaccess <url>

Cursor

Yes

a { "url": ... } entry in ~/.cursor/mcp.json

claude_desktop_config.json

No — stdio only

needs a local process, i.e. the bridge in this package

So this package does two things and nothing more:

  1. Writes the config for clients that take a remote URL, so you do not have to hand-edit JSON.

  2. Ships a stdio↔HTTP bridge for the one path that genuinely cannot take a URL — Claude Desktop's config file, and any other stdio-only client.

If you would rather paste a URL into a settings pane, do that. Nothing here is required.

Related MCP server: Google Flights MCP Server

Commands

npx skyaccess-mcp              # register with every supported client found on this machine
npx skyaccess-mcp --dry-run    # show what would be written, write nothing
npx skyaccess-mcp doctor       # check the endpoint and list its tools
npx skyaccess-mcp bridge       # the stdio<->HTTP bridge (clients spawn this; not for humans)

Options: --url <url>, --client <cursor|claude-desktop>, --dry-run, --help.

doctor exits non-zero if the endpoint is unreachable or returns no tools, so it is usable in a script.

What gets written

Cursor~/.cursor/mcp.json, remote, no local process:

{ "mcpServers": { "skyaccess": { "url": "https://mcp.skyaccess.com/mcp" } } }

Claude Desktop config file — stdio, because that file rejects a url:

{
  "mcpServers": {
    "skyaccess": {
      "command": "npx",
      "args": ["-y", "skyaccess-mcp", "bridge", "--url", "https://mcp.skyaccess.com/mcp"]
    }
  }
}

Safety rules the installer follows:

  • A client is only written to if its own directory already exists — running this will not create ~/.cursor on a machine with no Cursor.

  • Every other key in the file is preserved; your other MCP servers survive verbatim.

  • A config that does not parse as JSON is left untouched and reported, never overwritten.

  • An existing entry is backed up to <config>.skyaccess-backup before it is replaced.

Design notes

  • Zero runtime dependencies. npx downloads exactly this package and nothing else, so there is no transitive supply chain to audit for a one-shot installer. Node 20+ only.

  • Plain ESM, no build step. What is published is what is in src/.

  • The bridge writes only JSON-RPC to stdout, one message per line; every diagnostic goes to stderr. A stray stdout write corrupts the protocol.

  • A notification answered with 202 produces no stdout line — synthesising a reply the client never asked for is a protocol violation.

  • A failed HTTP hop for a request is turned into a JSON-RPC error carrying the same id, so the client fails fast instead of hanging forever.

Tests

pnpm --filter skyaccess-mcp test        # offline: real local http server, no network
pnpm --filter skyaccess-mcp test:live   # hits https://mcp.skyaccess.com/mcp

The live suite is opt-in (SKYACCESS_MCP_LIVE=1) and deliberately outside the CI gate: it depends on DNS, the public internet and a 30-req/min rate limit, none of which say anything about whether this code is correct.

Publishing

⚠️ Not published yet. registry.npmjs.org/skyaccess-mcp is a 404 and the name is unclaimed. This is also the first non-private package in this monorepo — everything else is private: true.

To publish (requires an npm account with rights to the name):

cd packages/skyaccess-mcp
npm publish --access public     # publishConfig.access is already set to public

Then verify the real path a user takes:

npx -y skyaccess-mcp@latest doctor
F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Live flight prices and working booking links for AI agents and travel apps.

  • Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.

  • Last-minute booking slots across 11 suppliers. Search, price, and execute bookings via AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sky-access/skyaccess-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server