AI Desktop Apps: Connect Gemini Enterprise to Time Doctor
Note: Time Doctor MCP is accessible by Owners, Admins, and Managers. Each person also needs a Gemini Enterprise license from their Google Cloud administrator. Regular Users cannot use the connection: Time Doctor returns a "no permission" error, although Gemini may show a different message.
TL;DR
- Ask Gemini Enterprise questions about Time Doctor data in plain words. Gemini can currently only read data, and only what the signed-in person can already see in Time Doctor.
- A Google Cloud administrator connects Time Doctor once (about 10 minutes) by adding a Custom MCP Server data store with the values in this article.
- Each person then signs in with their own Time Doctor account from the chat box (about one minute).
💡 TIP: The video covers the same steps as the text guide below.
Before Starting
▶️ In Time Doctor (Owner or Admin): confirm that Time Doctor MCP is enabled in Settings / Company Settings under Configuration. Follow Connecting AI Tools to the Time Doctor MCP if it is not.
▶️ In Google Cloud (administrator): check these four things first. Most setup problems start here.
-
- A Gemini Enterprise app exists. If not, create one.
- The administrator has the Discovery Engine Editor role on the Google Cloud project. See Gemini Enterprise access control.
- Custom MCP servers are allowed. The Google Cloud organization policy that blocks custom MCP servers must not be enforced on the project. See how to override the constraint.
- Time Doctor addresses are allowed. If the organization limits outgoing traffic, allow api2.timedoctor.com and oauth.timedoctor.com. See configure allowed egress FQDNs.
▶️ Private cloud customers: the values below work only against Time Doctor cloud (api2.timedoctor.com). Gemini Enterprise is not available on private cloud yet. Contact support@timedoctor.com and do not use the values below against a private host.
Step 1: Add Time Doctor to Gemini Enterprise (Administrator, One-Time Setup)
Gemini Enterprise cannot register itself with Time Doctor, so Time Doctor publishes one shared Client ID. Google's guide for this screen: Set up a custom MCP server.
1.1 Open the Form
- Go to Google Cloud console > Gemini Enterprise.
- Click Data stores, then Create data store.
- Search for Custom MCP Server and select it.
- Choose OAuth 2.0 as the authentication type.
1.2 Fill in the Form
Copy each value into the field with the same name.
|
Field in the form |
What to enter |
|---|---|
|
MCP Server URL |
https://api2.timedoctor.com/api/2.0/mcp/mcp |
|
Authorization URL |
https://oauth.timedoctor.com/oauth2/authorize |
|
Authorization URL Parameters |
&resource=https://api2.timedoctor.com/api/2.0/mcp/mcp |
|
Token URL |
https://oauth.timedoctor.com/oauth2/token |
|
Client ID |
client_01M470P5NE75FZEDKG5BTR0X9Z |
|
Client Secret |
Leave empty |
|
Scopes |
openid profile email offline_access |
|
Enable PKCE Support |
On |
|
Use HTTP Basic Authentication |
Off. It is on by default, so untick it. |
Two values matter most. offline_access keeps people signed in; without it, the connection stops working after about an hour. The &resource= parameter tells Time Doctor which server the sign-in is for.
Do not enter a redirect URI. Google sends https://vertexaisearch.cloud.google.com/oauth-redirect , and Time Doctor already allows it.
The current values are always published on the Time Doctor MCP setup page under "Gemini Enterprise".
1.3 Verify and Create
- Click Verify Auth. A Time Doctor sign-in window opens. Sign in.
- A green check appears. Click Continue.
- Location: choose Multi-region.
- Name: type Time Doctor. Use exactly this name; longer names are cut off in the chat menu that Users see.
- Click Create. Wait until the status is Active (about one minute).
This administrator sign-in only checks the setup. It does not sign anyone else in.
1.4 Turn On the Time Doctor Actions
- Open the new Time Doctor data store.
- Click Actions, then Reload custom actions.
- About 40 actions appear, for example td_whoami and td_get_time_summary. The exact count depends on the plan. Select all of them.
- Click Enable actions.
1.5 Connect the Data Store to the App
- Click Apps and open the Gemini Enterprise app.
- Click Connected data stores, then Add existing data stores.
- Select Time Doctor and click Save.
Google's guide: Connect a data store to an app. Then send Users the app link and Step 2.
Step 2: Sign In to Time Doctor (Every User, Once)
Each person signs in with their own Time Doctor account. Gemini then sees only what that person can see in Time Doctor.
Before starting, make sure the browser is signed in to the correct Time Doctor account. If a Time Doctor session is already open in the browser, Gemini may connect to it without showing a sign-in page.
- Open the Gemini Enterprise app (the administrator sends the link).
- In the chat box, click the puzzle-piece icon.
- Next to Time Doctor, click Authorize.
- If a Time Doctor sign-in page opens, check that the address is oauth.timedoctor.com. This is Time Doctor's own sign-in service, run with its identity partner WorkOS.
- Sign in the usual way (email and password, or the company's single sign-on).
- Gemini reopens. Time Doctor now shows as connected.
Test it: type Using Time Doctor, how many hours did I track last week? The answer should show hours from Time Doctor. If the answer does not come from Time Doctor, see Troubleshooting below.
The sign-in stays active. Repeat this step only after signing out, after the administrator re-creates the connector, or when Gemini asks to sign in again.
To use a different Time Doctor account, start a new chat before signing in with it. In the same chat, Gemini may keep answering from the previous account's data.
Step 3: Ask Gemini About Time Doctor Data
Ask in plain words. Starting with "Using Time Doctor" helps Gemini pick the right source, and questions that clearly need Time Doctor data work best.
|
Try asking |
Result |
|---|---|
|
Using Time Doctor, how many hours did my team work last week? |
Hours per person |
|
Using Time Doctor, who was late or absent yesterday? |
Attendance list |
|
Using Time Doctor, which projects took the most time this month? |
Time per project |
|
Using Time Doctor, compare my team this week with last week. |
What went up or down |
💡 Good to know:
- Access follows the Time Doctor role. A Manager sees their team. An Owner or Admin sees the whole company.
- Managers see only the people they manage. Other people will not appear in answers, even if they are in the same company.
- Read only. Gemini cannot change anything in Time Doctor.
- Give dates. "Last week" or "October 1–15" works best. Very long periods can be slow; ask for a shorter range or one team.
- Time zone. Ask Gemini which time zone it used if the dates matter, and ask for a different one if needed.
For more question ideas, see Getting Started: What to Ask Your Time Doctor MCP.
Troubleshooting
|
Problem |
What to do |
|---|---|
|
Create fails with "Operation denied by org policy" |
The Google Cloud organization administrator must allow custom MCP servers. See how to override the constraint. |
|
Verify Auth fails |
Check the form: Use HTTP Basic Authentication off, Enable PKCE Support on, Client Secret empty, Authorization URL Parameters filled in, Scopes exactly as shown. |
|
No actions appear after Reload custom actions |
Wait one minute and click Reload custom actions again. If the list is still empty, contact support@timedoctor.com. |
|
Gemini answers without Time Doctor data, or says it has no Time Doctor tool |
Administrator: complete Step 1.4 (enable actions) and Step 1.5 (connect the data store to the app). User: confirm Time Doctor shows as connected in the puzzle-piece menu, then ask a question that clearly needs Time Doctor data. |
|
Clicking Authorize shows "not allowed to perform this operation" |
Reload the page and click Authorize again. If it still fails, wait a few minutes and retry. |
|
Gemini asks to sign in again, or says "unauthorized" |
Repeat Step 2. If this happens about an hour after signing in, the administrator should confirm that Scopes include offline_access. |
|
Gemini says there is "no active Time Doctor integration", reports an "infrastructure" issue, or suggests uploading CSV exports |
The signed-in Time Doctor account has no access to Time Doctor MCP, for example a regular User. Time Doctor returns a "no permission" error, but Gemini shows its own message instead. Ask an Owner or Admin to check the account's role and the Time Doctor MCP setting in Settings / Company Settings. |
|
After switching Time Doctor accounts, Gemini shows another person's name or hours |
Gemini is repeating answers from earlier in the same chat, not making a new Time Doctor request. Start a new chat and complete Step 2 again with the correct account. |
|
Gemini is connected to the wrong Time Doctor account |
Contact support@timedoctor.com. |
|
No answer, or a very slow answer |
Ask for a shorter date range, or one team instead of the whole company. See Time Doctor MCP: Data & Limitations. |
|
The company runs Time Doctor on private cloud |
Gemini Enterprise is not available on private cloud yet. Contact support@timedoctor.com. |
Should there be any inconsistencies or concerns regarding the article, contact support@timedoctor.com for prompt assistance.