Skip to Content
GuidesGemini

Connect Gemini to Traveler.md

Connect Traveler.md to Gemini so it can read your Traveler.md and Trip.md files and keep them updated. The Gemini app and Gemini Enterprise both support custom MCP (Model Context Protocol) servers, with different setup steps.

In this guide:

Option A: Gemini app (custom apps)

The Gemini app calls a custom MCP server a custom app. You can use a custom app in chat or in workflows with Gemini Spark.

Before you start

  • You must be 18 or over and in the US.
  • Sign in with a personal Google Account. Work and school accounts cannot use custom apps.
  • Turn on Keep Activity. Custom apps are unavailable when this setting is off.
  • Custom apps are only available in English.
  • You can only connect a custom app in the Gemini web app. After you connect it, you can use it in the Gemini web app and the Gemini mobile app.

Steps

  1. On your computer, go to gemini.google.com .

  2. At the bottom, click Settings, then Connected Apps.

  3. Under Custom apps, click Add a custom app.

  4. Enter the MCP server URL:

    MCP server URL
    https://mcp.traveler.md/mcp
  5. Click Next and follow the on-screen instructions. Sign in to Traveler.md and approve the scopes. Traveler.md supports dynamic client registration, so you do not need to enter credentials under Advanced features.

  6. Paste the instruction block below into your Gemini instructions, or send it as your first message.

    Send this to Gemini:

    I use Traveler.md as my travel memory, so my preferences and my trips live in one place I can connect to the travel tools I use. There are two kinds of files, and I manage both on the Traveler.md platform: one profile with my lasting travel preferences, and one file per trip with the details for that trip. You can read and update both through the Traveler.md connector. Follow these rules whenever travel comes up: - Read before answering. For any travel-related request, first read my profile and the relevant trip file. Use what's there, and don't ask me for anything the files already contain. - If you can't reach my files, say so. Don't guess or invent preferences. Tell me the connector isn't responding so I can reconnect it. - Capture durable preferences immediately. When I state a lasting travel preference, even casually with no trip in progress (e.g. "I prefer aisle seats"), update my profile right away, then confirm in one line what changed. Make the actual update, don't just say you will. - Keep one-off details in the trip file. Needs specific to a single trip (e.g. "ground-floor room this time") go in that trip's file, not my profile. For that trip, the trip file overrides my general defaults. - One file per trip. Create a trip file as soon as I mention somewhere I'd like to go, even loosely, with status Dreaming. Store the itinerary and ideas in it, and update it as plans firm up. - Ask before archiving. Check with me before you archive a trip. - Keep everything clean. No duplicates, and preserve existing entries unless you're correcting or replacing them. If a new preference conflicts with an old one, replace it and note the change. - Flag the edits that matter. Tell me briefly when you create a trip file or make a significant change, and skip announcing trivial ones.

To make sure Gemini uses Traveler.md for a prompt, type @ in the chat and select the custom app.

Option B: Gemini Enterprise

In Gemini Enterprise, an administrator adds Traveler.md as a custom MCP server data store. People in the organization then authorize it with their own Traveler.md account.

Before you start

  • You need the Discovery Engine Editor IAM (Identity and Access Management) role (roles/discoveryengine.editor) to create the data store.
  • Gemini Enterprise supports only the Streamable HTTP transport. Traveler.md uses Streamable HTTP.
  • Custom MCP servers work in VPC (Virtual Private Cloud) Service Controls projects when the required egress domains are allowed. An administrator must override the organization policy constraint that blocks Custom MCP data store creation. The administrator must also allow the FQDNs (fully qualified domain names) of the server URL, authorization URL, and token URL: mcp.traveler.md and connect.traveler.md.

Step 1: Register an OAuth client with Traveler.md

Gemini Enterprise needs a client ID and a client secret that you register before you create the data store. Register them with Traveler.md’s authorization server. Registration needs no authentication:

Bash
curl -X POST https://connect.traveler.md/v1/oauth/register \ -H 'Content-Type: application/json' \ -d '{ "client_name": "Gemini Enterprise", "redirect_uris": ["https://vertexaisearch.cloud.google.com/oauth-redirect"], "grant_types": ["authorization_code", "refresh_token"] }'

Keep the client_id and client_secret from the response. See Authentication for the discovery document and the full endpoint list.

Step 2: Create the data store

  1. In the Google Cloud console, go to Gemini Enterprise → Data stores → Create data store.

  2. Search for and select Custom MCP Server, then Add MCP server.

  3. Enter the MCP Server URL:

    MCP server URL
    https://mcp.traveler.md/mcp
  4. Under Authentication settings, select OAuth 2.0 and fill in the fields:

    • Authorization URL: https://connect.traveler.md/v1/oauth/authorize
    • Authorization URL Parameters: leave empty
    • Token URL: https://connect.traveler.md/v1/oauth/token
    • Client ID: the client_id from step 1
    • Enable PKCE Support: turn on. Traveler.md supports PKCE (Proof Key for Code Exchange) with S256.
    • Client Secret: the client_secret from step 1
    • Scopes: the scopes listed on Authentication
  5. Click Verify Auth, then Continue.

  6. Select the location of your data connector, enter a name, and click Create.

Step 3: Enable actions

All actions are off by default. You can enable up to 100 actions at a time.

  1. Open the data store.
  2. Click Actions → Reload custom actions.
  3. Select the Traveler.md actions you want, then click Enable actions.

Step 4: Authorize and add instructions

  1. Each user authorizes Gemini Enterprise to access Traveler.md the first time they use it. Sign in to Traveler.md and approve the scopes.

  2. Paste the instruction block below into the agent’s instructions, or send it as your first message.

    Send this to Gemini:

    I use Traveler.md as my travel memory, so my preferences and my trips live in one place I can connect to the travel tools I use. There are two kinds of files, and I manage both on the Traveler.md platform: one profile with my lasting travel preferences, and one file per trip with the details for that trip. You can read and update both through the Traveler.md connector. Follow these rules whenever travel comes up: - Read before answering. For any travel-related request, first read my profile and the relevant trip file. Use what's there, and don't ask me for anything the files already contain. - If you can't reach my files, say so. Don't guess or invent preferences. Tell me the connector isn't responding so I can reconnect it. - Capture durable preferences immediately. When I state a lasting travel preference, even casually with no trip in progress (e.g. "I prefer aisle seats"), update my profile right away, then confirm in one line what changed. Make the actual update, don't just say you will. - Keep one-off details in the trip file. Needs specific to a single trip (e.g. "ground-floor room this time") go in that trip's file, not my profile. For that trip, the trip file overrides my general defaults. - One file per trip. Create a trip file as soon as I mention somewhere I'd like to go, even loosely, with status Dreaming. Store the itinerary and ideas in it, and update it as plans firm up. - Ask before archiving. Check with me before you archive a trip. - Keep everything clean. No duplicates, and preserve existing entries unless you're correcting or replacing them. If a new preference conflicts with an old one, replace it and note the change. - Flag the edits that matter. Tell me briefly when you create a trip file or make a significant change, and skip announcing trivial ones.

Troubleshooting

  • Revoked or narrowed a connection and the assistant still has access? Changes take effect within a minute.
  • Other issues: see Support.