← 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.

Matches for “inventory”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher description

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.

Files & skills

File archives

Plugin package5 files · 4.03 KBBrowse files →
Skill instructions
choosecruise-chatgpt-app3.9 KB

View saved version →

---
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 5, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 6, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6a8b7bbd015c8191b94d8cee58beef3e

Download plugin data (JSON)

Before you connect ChooseCruise

How do I connect it?

Open the publisher's marketplace listing to check current availability and follow its connection instructions. This directory does not install plugins. Check the requested access and any account requirements before connecting.

Check marketplace availability ↗

Does it require paid access?

We have not established the pricing or subscription requirements for this plugin. An absent price does not mean free access.

Compare researched pricing and access models →

How can I evaluate it?

Check the declared skills and available files, then try a small task whose result you can verify. Our archived descriptions and instructions establish publisher claims, not tested runtime quality. Review sources and coverage limits.