Connecting AI Assistants to ViaMore
MCP (Model Context Protocol) lets a compatible assistant call ViaMore's tools using your account. It requires a separate OAuth sign-in and consent; signing into the website alone does not connect the assistant.
Before connecting
Open Connect AI assistants in the navigation or from the Support page for the endpoint configured on this site, copy buttons and provider instructions. The production address is https://viamoreai.com/mcp. Deployment settings determine availability; a configured endpoint does not establish a successful provider connection.
Your ViaMore account must be active, approved, email-confirmed, and not currently locked out. To read an existing trip, you need linked accepted membership. An assistant does not gain access to other people's trips just because it has a connection.
The ChatGPT client registration is named viamore-chatgpt. Available actions depend on the permissions allowed by the deployed registration and approved in your connection. Trip workflows use trips.read and, for changes, trips.write. Private bucket lists use separate bucketlists.read and bucketlists.write permissions. Date-change previews also require itinerary.read and reservations.read. Existing tokens do not automatically gain permissions when the site adds tools; reconnect and review expanded consent when needed.
Connect using a compatible assistant
- Open your assistant's interface for custom MCP connections.
- Create a connection with server URL
https://viamoreai.com/mcpand OAuth authentication. - For the configured ChatGPT registration, use client ID
viamore-chatgptand no client secret if those fields are requested. Have the operator check that the callback shown by the assistant matches the registered callback before connecting. - Follow the browser sign-in to ViaMore and review the requested permissions on its consent screen. Request trips.read trips.write when you want the implemented write tools; trips.read alone keeps the connection read-only.
- Approve the permissions you intend to grant and return to the assistant.
- Ask it to list your upcoming trips, then read a specific trip you recognize.
The connection screen provides setup guidance, not connection status or grant management. Connected accounts manages external login providers, not MCP grants. All four providers still require live connection testing against the deployed configuration.
ChatGPT by OpenAI
Open ChatGPT's Apps settings and create a custom MCP connection named ViaMore using the URL above and OAuth. Enable developer mode if required by your account. Supply the existing viamore-chatgpt public client ID without a secret when requested. The operator must confirm ChatGPT's displayed callback matches the registered URI. Sign in to ViaMore, review consent, then select ViaMore in chat and request upcoming trips. Missing creation controls can reflect account or workspace restrictions; ask your administrator. Refresh tool discovery after a server update and reconnect after scope changes. See OpenAI's custom MCP setup.
Claude by Anthropic
- Open Customize → Connectors → Add custom connector. Organization owners use Organization settings → Connectors.
- Name it ViaMore and enter the MCP URL.
- Select OAuth sign-in and Use your own OAuth client. Request a dedicated
viamore-clauderegistration from the operator. It has no client secret. - Complete ViaMore sign-in and consent, add the connector, then enable it through the conversation's + → Connectors menu.
- Ask for upcoming trips and select a known trip to read.
Claude documents Free (one custom connector), Pro, Max, Team and Enterprise availability. Managed organizations control connector access. ViaMore supports neither automatic registration nor published client identity documents; the operator must register the actual callback shown by Claude. Claude's remote connector runs from its cloud, so localhost is insufficient. See Claude's connector guide.
Gemini by Google
Gemini consumer web application
Google now documents custom MCP apps for personal accounts in the US, age 18+, in English, with Keep Activity enabled. Work/school accounts are excluded. The cited guide does not specify a paid subscription requirement.
- On Gemini web open Settings → Connected Apps, possibly under Personal Intelligence, then Custom apps → Add a custom app.
- Enter ViaMore's MCP URL. Expand Advanced features → Show more for the separately registered
viamore-geminiOAuth client ID. - Continue through ViaMore sign-in and consent. Enable/select the app with @ in chat and request upcoming trips.
Connection setup is on web; connected apps can also be used on mobile. Google documents credentials for servers without dynamic registration, but successful PKCE/public-client operation with ViaMore has not been verified. If a secret is mandatory, stop and contact the operator; do not invent a secret or use another provider's registration. See Google's custom app setup and eligibility.
Gemini CLI
CLI supports remote Streamable HTTP (httpUrl) and OAuth with a static public clientId. In ~/.gemini/settings.json, a developer can configure:
{
"mcpServers": {
"viamore": {
"httpUrl": "https://viamoreai.com/mcp",
"oauth": {
"enabled": true,
"clientId": "OPERATOR_REGISTERED_CLI_CLIENT_ID",
"redirectUri": "http://localhost:8766/oauth/callback",
"scopes": ["trips.read"]
}
}
}
}
Run /mcp auth viamore, complete ViaMore sign-in/consent, then /mcp to inspect tools. The callback above is an example requiring exact operator registration. Current ViaMore production policy rejects customer HTTP loopback callbacks, so this CLI configuration is for a permitted Development deployment with its own URL/client, not a ready production connection. Browser access is required. Request offline_access only with operator-enabled refresh. See Gemini CLI OAuth and transport configuration.
Gemini Code Assist and Gemini API
Code Assist agent mode supports developer MCP server configuration in the IDE. Use a distinct registration, confirm the IDE's actual callback, configure the remote HTTP URL and OAuth, and authenticate through the IDE. Its account, IDE and organization requirements differ from consumer Gemini; public-client/callback compatibility with this deployment remains untested.
The Gemini API's MCP integration uses an MCP client session in a developer application. The application must implement ViaMore's authorization-code/PKCE flow, token refresh and secure storage; a Gemini API key is not ViaMore authentication. There is no consumer connector to enable in the API.
Grok by xAI
- Open grok.com/connectors → New Connector → Custom.
- Name the connector ViaMore where prompted and enter the MCP URL.
- Ask the operator to register Grok's exact OAuth callback as a separate
viamore-grokclient. Supply that ID if client settings are offered, then complete ViaMore sign-in and consent. - Enable/select the connector in Grok and ask for upcoming trips.
xAI documents connectors for Grok users; verify the custom option in your account rather than purchasing a plan on that assumption. Business/Enterprise administrators must first provision the custom server in console.x.ai → Grok Business → Connectors. See Grok connectors and team administration.
Grok's consumer guide does not establish static public-client, PKCE, refresh or transport details. ViaMore compatibility is pending live testing. A client that insists on dynamic registration or identity documents cannot connect to the current server. The xAI Remote MCP API separately documents HTTP/SSE and an authorization token parameter. Developer applications must obtain and refresh the user's ViaMore token through OAuth and pass it securely; xAI API access is separate from a consumer subscription. Start with an explicit read-tool allowlist. Never paste tokens into chat.
Authentication and compatibility
All assistants use the same /mcp endpoint and tools. ViaMore uses Streamable HTTP, OAuth discovery, authorization code with S256 PKCE, explicit consent and bearer access tokens. Clients are public and preregistered with exact redirects, allowed resources and scopes. No dynamic client registration or client-identity metadata document support is advertised. Separate provider IDs do not grant extra rights.
Refresh requires both an enabled client and offline_access consent; otherwise reconnect after expiration. Cookies and provider API keys cannot replace the ViaMore token. Only grant the scopes you need. The operator must verify new provider callbacks and origin requirements before activating registrations; deployment and real provider tests are still required.
What the assistant can read
Trip and friend tools require trips.read. Bucket-list tools use their separate bucket-list scopes. Common read tools include:
| Ask for | Tool |
|---|---|
| Upcoming trips | get_upcoming_trips |
| A trip's details | get_trip |
| Calendar days | get_trip_days |
| Itinerary stops | get_trip_itinerary_stops |
| Overnight plans | get_trip_overnight_plans |
| Activities | get_trip_activities |
| Trip members | get_trip_members |
| One known reservation | get_trip_reservation |
| Flight bookings | get_trip_flights |
| Rental cars | get_trip_rental_cars |
| Assigned and selectable personal vehicles | get_trip_vehicles, get_selectable_trip_vehicles |
| Your saved friends | get_friends |
| Current cover metadata and crop | get_trip_cover |
Example: Show my upcoming trips. For Maine coast, summarize the itinerary stops and days still needing a location. If multiple trips match, identify the intended trip before requesting changes.
These reads do not book travel, apply an itinerary, resolve map locations, or save new plans. The MCP tools do not include a general reservation-list tool; use the website for a full reservation review.
Request a write when your connection supports it
Trip and friend writes also require trips.write. Most trip planning writes require accepted Owner or Planner access. Editing a day, changing the trip date range and adding a friend as a trip member require Owner access. Friend records remain private to you. Consent to a scope does not override ownership or your trip role.
| Implemented tool | Result and review requirement |
|---|---|
create_trip |
Creates a new draft trip and accepted Owner membership when you request creation and have creation access. Name, explicit start/end dates and a creation request ID are required; reuse that ID for retries of the same creation. |
add_itinerary_item |
Adds one stop to the end of the itinerary. A location and positive whole-day count are required. Approve AI-generated or extracted suggestions before submission. |
update_itinerary_item |
Edits an existing stop after your request or approval. The assistant must read the current stop first. Requires accepted Owner/Planner access; does not apply stops to trip days. |
add_recipe |
Saves one private recipe to My Recipes after your request or approval. Requires a name and positive original serving count. No trip is required; it does not create a trip meal or image. |
add_activity |
Adds one activity after a direct request or your approval. Without a day, it remains floating. It can link one eligible existing reservation. |
prepare_reservation |
Saves a pending proposal from confirmed campground, lodging, or backcountry booking facts for an existing overnight plan. It does not create a reservation yet. |
get_reservation_suggestion |
Reads the saved proposal and its current warnings, duplicates, target, and review version. It requires Owner/Planner access. |
approve_reservation_suggestion |
Creates the reservation only after the assistant presents the saved proposal and you explicitly approve it. Requires the exact reviewed version. |
update_trip_day |
Changes an existing day's location, title or notes using its current version. Owner only; does not assign stops or create stays. |
add_overnight_plan |
Adds an overnight plan from approved dates and location facts. Does not book accommodation. |
change_trip_status |
Changes the manual trip status using the current saved version. Does not cancel bookings. |
preview_move_trip, move_trip, preview_resize_trip, resize_trip |
Owner-only whole-trip date changes. Present preview impacts first, then apply only the exact reviewed change after approval. These do not rearrange day groups. |
add_friend, remove_friend, add_friend_to_trip |
Saves or removes your private contact, or adds a saved friend as a trip member. Trip-member addition is Owner only; access still requires invitation acceptance. |
add_personal_vehicle_to_trip |
Assigns an eligible existing personal vehicle after checking selectable choices. Does not create a permanent vehicle. |
add_trip_rental_car, update_trip_rental_car |
Creates or edits a trip rental from supplied facts. Does not reserve a car with a supplier. |
save_trip_flight, add_trip_flight, update_trip_flight |
Saves a complete flight booking with segments and travelers. Read the existing booking and its current version before updates. |
prepare_flight_import, review_flight_import, approve_flight_import |
Extracts a temporary flight proposal, reviews create/update choices, then saves only after explicit approval of the current revision. |
cancel_trip_flight, remove_trip_flight, mark_flight_reviewed |
Cancels, permanently deletes or acknowledges review of an exact flight record using its current version and your explicit intent. Deletion requires approval of the selected route and dates. |
set_trip_cover, crop_trip_cover, remove_trip_cover |
Uploads, adjusts or removes a private trip cover using its current version. Upload needs an actual approved image; a URL or local path alone is insufficient. |
Examples for a connection authorized to write:
- Create a trip called Maine coast from October 11 to October 17, 2026. Then check the saved trip in ViaMore.
- Add Bar Harbor to Maine coast for three days, with notes: allow a rainy-day alternative. Review the trip's itinerary afterward. Daily assignment remains a separate website action.
- Add Kayaking as an unscheduled activity to Maine coast. Check Floating Activities before scheduling it.
- Prepare a reservation suggestion from this campground confirmation for my existing stay. Show me the saved proposal before creating the reservation. Check the proposed target, confirmation number, dates, warnings, and duplicates before explicitly approving.
The assistant must ask about missing required facts or ambiguous trips and dates. Text inside a pasted email is not your approval. A stale reservation proposal must be retrieved and reviewed again before approval. None of these tools books or contacts a provider.
Other examples: Show my rental cars and flights for Maine coast, Show which of our personal vehicles can be added, or Preview moving Maine coast to start October 18, 2026; show all impacts before applying it. Read the transportation, flights and trip-day guides for the same planning rules on the website.
To save a recipe, ask Save this recipe to My Recipes for four servings, supplying its name, ingredients and instructions. The connection needs trips.read and trips.write, even though the recipe is private and needs no trip membership. A source URL is attribution only; ViaMore does not fetch it. Check My Recipes before retrying after an uncertain response, since retrying may create a duplicate. See recipes and meals.
To change a stop, ask Change Bar Harbor to four days and set its state to Maine and country to United States. The assistant must identify the trip and stop and read its current version first. Unspecified fields stay unchanged. Location changes clear old coordinates unless reliable replacements are supplied. If someone else changes the stop, read and review it again before retrying. Apply itinerary remains a separate website action.
Private bucket-list tools can read lists, prepare drafts and apply reviewed changes with the appropriate bucket-list scopes; see My Bucket Lists. Use the website for applying itinerary stops, grouped day rearrangement, general member editing and revocation, trip notes, editing existing recipes and managing their images, Trip Menu and Shopping List. There are no MCP tools for those workflows. None of the tools books travel or contacts a provider.
If the connection fails
- Ask the operator whether MCP is enabled at the supplied HTTPS address.
- If sign-in is rejected, check account approval, email confirmation, and account eligibility.
- If a trip is missing or denied, ask its Owner to check your linked membership and accepted access.
- If reading works but writing is denied, check the deployed client's allowed scopes, the scopes requested by the assistant, and your trip role. After a scope update, reconnect and approve the expanded permissions; a previously issued read-only token cannot perform writes.
- If a write fails without a clear result, inspect saved records before retrying. Reuse the same creation request ID for a trip-creation retry and the same reviewed draft for an import retry. Adding stops or activities again can create duplicates; a new trip-creation request ID represents another creation.
Use the assistant's connection controls to disconnect or reconnect when available. Disconnecting in a client is not proof that the server-side OAuth grant was revoked; ask the operator about revocation if required. User-facing grant revocation in ViaMore is not implemented.