← Plugin catalog
Travel
ChooseCruise
ChooseCruise Technologies llc v1.0.0
Publisher description
From the marketplace listing
ChooseCruise helps users search live ocean and river cruise inventory by destination, ports, dates, cruise line, price, and duration, compare matching sailings, inspect detailed itineraries and cabin information, and continue to ChooseCruise when ready to book.
Language: English · Automatically detected from descriptions.
Files & skills
File archives
Plugin package5 files · 4.03 KBBrowse files →
Skill instructions
choosecruise-chatgpt-app3.9 KB
--- name: choosecruise-chatgpt-app description: Build, debug, review, deploy, or prepare submissions for the ChooseCruise ChatGPT app in this repository. Use for MCP tools, the cruise carousel widget, Apps SDK metadata, ownership verification, analytics behavior, production descriptors, and submission artifacts; do not use for unrelated ChooseCruise backend or mobile work. --- # ChooseCruise ChatGPT App Work on the existing submission-ready React-widget app under `mcp-gateway/`. Preserve its established registry, stateless HTTP transport, compact result format, and shared backend integrations. Before changing Apps SDK or MCP Apps behavior, use the OpenAI Developers `build-chatgpt-app` guidance and current official documentation. Prefer current standards, but inspect the deployed compatibility requirements before removing aliases or changing the widget MIME type. ## Start with the real surface Read the files involved in the requested change rather than inferring behavior from names. Begin with: - `mcp-gateway/src/mcpServer.ts` and `mcp-gateway/src/toolRegistry.ts` for the public tool surface. - `mcp-gateway/src/tools/<tool>/definition.ts`, handler, service, and called helpers for behavior and side effects. - `mcp-gateway/src/resourceRegistry.ts` and `mcp-gateway/web/src/CruiseCarousel/` for widget metadata and host integration. - `mcp-gateway/src/analytics.ts` when annotations, privacy, or data use are relevant. - `mcp-gateway/docs/chatgpt-app-listing.md` for deployment and listing context, checking source when it is stale. Read [references/app-contract.md](references/app-contract.md) before changing tools, widget metadata, the challenge endpoint, or submission artifacts. ## Implementation rules - Keep `search_cruises` and `get_cruise_details` as the public consumer tools unless the requested product scope changes. - Do not register `ping` in production. `/health` is the operational health surface. - Give every exposed tool explicit `readOnlyHint`, `openWorldHint`, and `destructiveHint` values based on the full implementation, including analytics writes. - Give every exposed tool an `outputSchema` that matches `structuredContent`; update the schema and implementation together. - Keep model-facing `structuredContent` compact. Put large widget-only payloads in `_meta`. - Do not expose an unauthenticated `userId` or another personalization identifier through the public tool schema. - Keep CSP allowlists exact. Do not add ChatGPT, API, wildcard, frame, or asset domains unless widget code actually needs them. - Preserve the ownership challenge route and serve its configured token as plain text. Replace the token only when the user supplies a new one. - Treat analytics as a real side effect and data transfer. Keep tool descriptions, annotations, privacy disclosures, and submission justifications consistent with it. - Preserve the existing URI versioning and legacy widget URI alias unless a verified migration plan covers already-connected hosts. ## Submission work Use the OpenAI Developers `chatgpt-app-submission` skill for a submission audit or JSON generation. Inspect deployed descriptors after deployment; a portal rescan cannot see local source changes. The import file must describe exactly the currently exposed production tools. Remove entries for tools that are no longer registered, and never make JSON annotations differ from `tools/list`. ## Verification Exercise the smallest relevant checks while building, then run: ```bash cd mcp-gateway npm test -- --runInBand npx tsc --noEmit --incremental false ``` For descriptor changes, add or update an in-memory MCP client test that checks `tools/list`. For HTTP routes, add an HTTP test. For widget changes, build the widget and exercise the rendered flow; apply the repository's UI guidelines to anything users see. Report tests or builds that were skipped or blocked. Deployment and portal rescanning are separate actions and require explicit user authorization.
Referenced files: 2
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package author
- ChooseCruise Technologies llc
Package observed Oct 2, 2026.
Technical details
- First seen
- Sep 30, 2026 · 22:02 UTC
- Last seen
- Oct 2, 2026 · 00:00 UTC
- Collection status
- Collected
plugin_asdk_app_6a8b7bbd015c8191b94d8cee58beef3e
Download plugin data (JSON)