← Files NuriTripARCHIVED FILE
.codex-plugin/plugin.json
10.2 KB · Nov 15, 2026 · 07:35 UTC
{
"name": "app-6ab72b1540048191932f7b2700f4924d",
"version": "1.0.1",
"description": "NuriTrip stores your trip plans and lets ChatGPT read and update them. Ask what is on a trip, add or move an itinerary item, create a new trip, or save your travel preferences. Every change appears in the NuriTrip mobile app, where your plans and booking details stay with you, even offline. NuriTrip records plans only; it does not make reservations or payments.",
"author": {
"name": "Siriwong Wongthongserm"
},
"homepage": "https://nuritrip.com",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "NuriTrip",
"shortDescription": "Plan and save trip itineraries",
"longDescription": "NuriTrip stores your trip plans and lets ChatGPT read and update them. Ask what is on a trip, add or move an itinerary item, create a new trip, or save your travel preferences. Every change appears in the NuriTrip mobile app, where your plans and booking details stay with you, even offline. NuriTrip records plans only; it does not make reservations or payments.",
"developerName": "Siriwong Wongthongserm",
"category": "Travel",
"capabilities": [],
"defaultPrompt": [
"Load NuriTrip and help me plan a two-day trip to Tokyo around great food and must-see sights.",
"Show me my saved trips and walk me through day by day.",
"Add a dinner reservation to my trip for Saturday at 7pm."
],
"websiteURL": "https://nuritrip.com",
"supportURL": "https://nuritrip.com/support",
"privacyPolicyURL": "https://nuritrip.com/privacy",
"termsOfServiceURL": "https://nuritrip.com/terms",
"logo": "./assets/nuritrip-1024.png",
"composerIcon": "./assets/nuritrip-512.png"
},
"extensions": {
"com.openai": {
"review": {
"prompts": [
"Load NuriTrip and help me plan a two-day trip to Tokyo around great food and must-see sights.",
"Show me my saved trips and walk me through day by day.",
"Add a dinner reservation to my trip for Saturday at 7pm."
],
"test_cases": {
"positive": [
{
"description": "Fresh seeded reviewer account. List saved trips; the sample trip must be visible and unshared trips must not appear. Optional separate prompt: Load NuriTrip. The other cases must work without loading the guide.",
"prompt": "What trips do I have in NuriTrip?",
"tools_triggered": "nuritrip_list_trips; optional separate guidance check: nuritrip_load_companion",
"expected_behavior": "List Annecy (sample) and any trips created in these cases, using only returned titles and dates. Exclude trips the account cannot access. The optional guide check returns planning text without changing data."
},
{
"description": "Use the seeded Annecy (sample) trip. Read its itinerary and two item details. Follow up with: Show the full details of just the first stop. This exercises both batch and single-item reads.",
"prompt": "Show my Annecy itinerary and the full details of the first two stops.",
"tools_triggered": "nuritrip_list_trips, nuritrip_get_trip, nuritrip_list_items, nuritrip_get_items; follow-up: nuritrip_get_item",
"expected_behavior": "Resolve IDs from returned data. Show the saved itinerary and two full item records, then the single requested item on the follow-up. Preserve local times, notes and SAMPLE- confirmation references; do not invent bookings or missing details. Only authorized items appear."
},
{
"description": "Creates disposable test records, used by the next case. Use Europe/Paris for the dinner. If a previous run left a trip with the same name, identify the new returned ID for this run. No reservation or payment should occur.",
"prompt": "Create a trip called \"Bordeaux weekend\" for June 4 to 6, 2027. Add a planned dinner at La Tupina on June 4 at 7pm.",
"tools_triggered": "nuritrip_create_trip, nuritrip_create_item",
"expected_behavior": "Create the owned trip with dates 2027-06-04 through 2027-06-06 and one restaurant item at 19:00 Europe/Paris, status planned. Use the created trip ID. Report the saved entities from the mutation responses. No booking or payment is claimed; Annecy is unchanged."
},
{
"description": "Run after the preceding create case in the same conversation, using its returned trip and dinner IDs. Edit and delete only those disposable records. Follow host confirmation prompts. Do not delete a whole trip or any curated Annecy item.",
"prompt": "Rename that trip to \"Bordeaux food weekend\". Move its dinner to 7:30pm, then delete the dinner item.",
"tools_triggered": "nuritrip_update_trip, nuritrip_update_item, nuritrip_delete_item",
"expected_behavior": "Rename only the created trip, set its dinner to 19:30 Europe/Paris on 2027-06-04, then soft-delete only that dinner. Respect destructive-action confirmations. Use the before/after mutation results; do not claim a restaurant booking was changed or cancelled."
},
{
"description": "Use the reviewer profile. Read only the default display name and travel preferences. Merge the requested preference with existing preferences before writing; never request contact or medical information.",
"prompt": "What are my saved travel preferences? Add that I prefer morning departures.",
"tools_triggered": "nuritrip_get_user_profile, nuritrip_update_user_profile",
"expected_behavior": "Summarize only returned preferences, preserve existing text, and save the morning-departure preference to travel_persona. Respect the host confirmation. The returned profile reflects the saved preference and contains no unsolicited contact data."
}
],
"negative": [
{
"description": "A real purchase is unsupported. Explain that NuriTrip records plans but cannot reserve a table or pay a deposit. Do not call a NuriTrip write tool, claim a booking/payment, or store a plan without a separate request.",
"prompt": "Book a table at La Tupina for two people and pay the deposit for me."
},
{
"description": "Live weather lookup is not exposed by this MCP server. Explain the limit or use another available weather source. Do not invoke a NuriTrip tool or present invented live weather.",
"prompt": "What is the live weather and hourly forecast in Tokyo right now?"
},
{
"description": "Inviting collaborators is not exposed by this MCP server. Direct the user to trip-sharing controls in NuriTrip. Do not invoke a NuriTrip tool, collect a contact address, or claim an invitation was sent.",
"prompt": "Invite my friend as an editor on my NuriTrip trip."
}
]
},
"demo_recording_url": "https://nuritrip.com/demo/chatgpt-review.mp4",
"commerce": false,
"commerce_description": "The connector reads and saves travel plans and preferences. It does not sell products, make reservations, or process payments."
},
"publication": {
"countries": [
"AF",
"AL",
"DZ",
"AO",
"AG",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BB",
"BE",
"BZ",
"BJ",
"BT",
"BO",
"BA",
"BW",
"BR",
"BN",
"BG",
"BF",
"KH",
"CM",
"CA",
"CV",
"TD",
"CL",
"CO",
"CD",
"CG",
"CR",
"HR",
"CY",
"CZ",
"CI",
"DK",
"DM",
"DO",
"EC",
"EG",
"SV",
"EE",
"SZ",
"FJ",
"FI",
"FR",
"GA",
"GM",
"GE",
"DE",
"GH",
"GR",
"GD",
"GT",
"GW",
"GY",
"HN",
"HU",
"IS",
"IN",
"ID",
"IQ",
"IE",
"IL",
"IT",
"JM",
"JP",
"JO",
"KZ",
"KE",
"KR",
"KW",
"KG",
"LA",
"LV",
"LB",
"LR",
"LY",
"LT",
"LU",
"MG",
"MW",
"MY",
"MV",
"ML",
"MT",
"MR",
"MU",
"MX",
"FM",
"MD",
"MN",
"ME",
"MA",
"MZ",
"MM",
"NA",
"NR",
"NP",
"NL",
"NZ",
"NI",
"NE",
"NG",
"MK",
"NO",
"OM",
"PK",
"PW",
"PA",
"PG",
"PY",
"PE",
"PH",
"PL",
"PT",
"QA",
"RO",
"RW",
"SA",
"SN",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"SB",
"ZA",
"ES",
"LK",
"KN",
"LC",
"VC",
"SR",
"SE",
"CH",
"ST",
"TW",
"TJ",
"TZ",
"TH",
"TO",
"TT",
"TN",
"TM",
"TR",
"UG",
"UA",
"AE",
"GB",
"US",
"UY",
"UZ",
"VU",
"VN",
"YE",
"ZM",
"ZW"
],
"release_notes": "Correct the public names of all 14 customer tools to space-free identifiers and clarify itinerary tool descriptions. Include the remote MCP connection, current NuriTrip icons, review cases, demo link, and the existing 175-country targeting. Update the backend security toolchain and affected networking dependencies."
}
}
},
"apps": "./.app.json"
}
SHA-256: 1dfb428d3c681c83bc6aa4dfadcef6dc277075d5646e0d2061fa633fe8b21387