Solenne Harbour
Sydney · Resort
Before you check in
The hunt spans Meraki (the hotel's networks), Cisco Secure Access (what leaves the hotel) and AI Defense (Celeste's protection). The hosted Solenne Lab brings their evidence to your agent through one MCP connection.
The lab · data directory
Read-only accessOne hosted MCP server exposes Meraki, Secure Access and AI Defense evidence. Your agent reads prepared snapshots, not the live Cisco APIs. AI Defense events can optionally be live. Nothing you or your agent does can change the lab.
Meraki
8 tools · 6 datasets
Open on connection
Secure Access
3 tools · 3 datasets
Case key 1 · after question 3
AI Defense
5 tools · 4 datasets
Case key 2 · after question 6
Your organiser supplies the hosted endpoint and team code; this is separate from your website username. Run lab_check (no parameters) to confirm status: ready and your team name. All requests require a valid team code in the URL or a bearer header.
List tools return summaries. Matching get tools expose the full record, including notes or descriptions. Client, activity and event searches require a filter; search results stop at 25, and change logs return 25 per page.
* Required parameter · every Meraki dataset path starts with meraki/
| Tool / dataset | Parameters | Data returned |
|---|---|---|
meraki_list_organizationsorganizations.json | None | Organization ID and name |
meraki_list_networksnetworks.json | organization_id*; name_contains | Network ID, name, product types and tags; no notes |
meraki_get_networknetworks.json | network_id* | All network fields, including notes |
meraki_list_devicesdevices.json | network_id*; name_contains, tag, limit | Serial, name, model and tags; no notes; up to 25 |
meraki_get_devicedevices.json | serial* | All device fields, including LAN IP and notes |
meraki_list_ssidsssids.json | network_id* | All SSID slots: number, name, enabled state and auth mode |
meraki_list_clientsclients.json | network_id*; search or ssid* (at least one); limit | Client ID, MAC, IP, description, SSID, first/last seen; up to 25 |
meraki_get_configuration_changesconfig_changes.json | organization_id*, network_id*; admin_contains, page_number | Newest first: time, admin, page, setting, old/new value; 25 per page |
Sample snapshot counts, not live totals.
1 organization
List
meraki/organizations.json
Organization ID and name
4 hotels
By organization
meraki/networks.json
IDs, product types, time zone, tags and notes
38 devices
By network
meraki/devices.json
23 at Harbour Sydney: 1 MX, 2 switches, 20 APs. Serial, model, LAN IP, firmware, tags and notes
26 SSID slots
By network
meraki/ssids.json
Number, name, enabled state and authentication mode; disabled slots included
61 clients
By network
meraki/clients.json
60 at Harbour Sydney. Client ID, MAC, IP, description, SSID and first/last seen
47 changes
By organization
meraki/config_changes.json
Five admins over four days. Time, admin, network, setting, old/new values and SSID number where relevant
Calls are logged by team, tool and arguments; case keys are excluded. More than 30 calls in a minute triggers a burst warning. Snapshot updates are picked up within 60 seconds.
Using Claude Code, one command connects your agent to the Solenne Lab. Run this in a terminal:
claude mcp add --transport http CTF-Solenne https://mcp.lab.solenneharbour.com/mcp
Once it's connected, ask your agent to run lab_check — it should answer with status: ready and your team name. The event runs entirely on this hosted endpoint, so this is the only connection you need.
If the door won't open