MCP Server - JaiminBrahmbhatt/Global-Entry-Appointment-Scanner GitHub Wiki
MCP Server
The MCP (Model Context Protocol) server lets AI assistants — Claude Desktop, Cursor, and any MCP-compatible client — query Global Entry appointment availability directly.
Install
pipx install global-entry-scanner
Start the server
global-entry-scanner mcp
The server runs on stdio (standard MCP transport) and stays alive until killed.
Connecting to your AI tool
The MCP server works with any MCP-compatible client. The config snippet is the same across all of them — just drop it in the right file, then restart the app.
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"global-entry-scanner": {
"command": "global-entry-scanner",
"args": ["mcp"]
}
}
}
Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"global-entry-scanner": {
"command": "global-entry-scanner",
"args": ["mcp"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"global-entry-scanner": {
"command": "global-entry-scanner",
"args": ["mcp"]
}
}
}
VS Code (GitHub Copilot)
.vscode/mcp.json in your workspace, or in your user settings:
{
"mcpServers": {
"global-entry-scanner": {
"command": "global-entry-scanner",
"args": ["mcp"]
}
}
}
Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"global-entry-scanner": {
"command": "global-entry-scanner",
"args": ["mcp"]
}
}
}
Available tools
get_locations
Returns all Global Entry enrollment centers sorted by state and city.
Returns: list of {id, name, city, state, timezone}
search_locations
Search locations by city, state, or name (case-insensitive substring match).
Parameters:
query (str) — e.g. "chicago", "texas", "JFK"
Returns: list of {id, name, city, state}
check_appointments
Check available appointment slots for given location IDs.
Parameters:
location_ids (list[int]) — e.g. [5001, 5140]
Returns: list of {location_id, start, end, active}
start_scan
Start a background polling loop for the given locations.
Parameters:
location_ids (list[int])
stop_scan
Stop the background scanner.
get_scan_status
Get the current scanner state and latest results.
Returns: {active, location_ids, latest_results}
Example prompts in Claude Desktop
Once the MCP server is connected:
- "Are there any open Global Entry slots near Chicago or Dallas this month?"
- "Search for appointment centers in Texas"
- "Start monitoring Austin and San Antonio for new slots"
- "What's the status of the scanner?"
Troubleshooting
Server not appearing in Claude Desktop:
- Verify
global-entry-scanner mcpruns without error in your terminal - Run
which global-entry-scannerto confirm the path, then check it matches what's in your config - Fully quit and relaunch Claude Desktop (not just close the window)
ImportError: No module named 'mcp': Reinstall to ensure you have the latest version:
pipx reinstall global-entry-scanner