Read this first
Consumer Gemini is not supported
Gemini chat can't add custom MCP servers
Google's consumer Gemini app at gemini.google.com only allows Google-curated Connected Apps — Workspace, Maps, YouTube and similar. There is no option to add a custom MCP server, so Hero cannot be connected there.
This is a Google platform limitation, not a Dayos one. See Google's Connected Apps documentation.
The good news: Gemini CLI fully supports Hero. Instead of pasting a connector URL into a settings screen, you add the Dayos MCP server to a local JSON config file and authenticate with a long-lived access token.
The same configuration works in Antigravity, Claude Code, and Cursor — only the config file location changes. See Step 3 for the full path table.
Prefer a chat interface?
If you'd rather work in a chat app than a terminal, Claude and ChatGPT both support the Hero connector directly. Follow the Claude setup guide or the ChatGPT setup guide.
Before you begin
Requirement 01
Gemini CLI
Installed and signed in to your Google account.
Requirement 02
Node.js 18+
Providesnpx, which runs the MCP bridge.
Requirement 03
Oracle access
An active Oracle Fusion Cloud environment and your login.
Check your IP allowlist first
Some organizations restrict which external IP addresses can reach Oracle. If your IT team uses IP allowlisting, Dayos's IP ranges must be approved before you start. Contact support@dayos.com first.
Install Node.js
Hero connects throughmcp-remote, which runs vianpx. Confirm you have it before editing any config:
If you see a version number, you're set. If you getcommand not found, install Node.js from nodejs.org and run the check again.
Get your access token
Unlike the chat connectors, Gemini CLI doesn't run an interactive OAuth flow. You generate a token once and place it in your config file.
- Go to dev.dayos.com/mcp.
- Enter your Oracle Fusion details — tenant code, datacenter, username, and password. How to find your tenant code and datacenter.
- Submit the form. Your access token is displayed on the next screen.
- Copy the token now and store it somewhere safe — it is shown only once.
Your access token
SS-G1The access token screen at dev.dayos.com/mcp.
Treat this token like a password
The token authenticates as your Oracle user and is valid for one year. Never commit it to a shared repository. If it leaks, generate a new one at dev.dayos.com/mcp to invalidate the old token.
Find your config file
Gemini CLI reads MCP servers from a JSON config in your home directory. If the file doesn't exist yet, create it.
| Editor | Config file location |
|---|---|
| Gemini CLI | ~/.gemini/config/mcp_config.json |
| Claude Code CLI | .mcp.json (project) or ~/.claude/mcp.json (global) |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json (project) |
Add the Dayos MCP server
Paste the following inside themcpServers key, replacingYOUR_JWT_TOKEN with the token from Step 2. Pick the tab for your operating system — the only difference is thePATH value.
Mind the space after Bearer
The header must readAuthorization: Bearer TOKEN. Omitting the space is the most common setup error.
No trailing slash
The server URL ends in/mcp — not/mcp/. A trailing slash prevents tools from loading.
The env block is required
CLI editors don't inherit your shell'sPATH. Leaving out theenv block is the usual cause of a 30-second connection timeout.
Verify the connection
Save the config file and restart Gemini CLI — configuration is read only at startup. Then list your MCP servers:
SS-G2A healthy connection: status connected, 13 tools loaded.
If you can test the bridge outside the editor, run it directly — useful for reading raw errors:
Run your first report
Hero is connected. Ask in plain English — Gemini picks the right tool path automatically.
SS-G3Hero running an existing Oracle report from Gemini CLI, with CSV output.
Available tools
Hero exposes 13 tools across three workflow paths. Gemini chooses a path from your intent — you never call these directly.
| What you ask | Path | Starting tool |
|---|---|---|
| "Show me…", "Build a query…", "I need a report for…" | A — Create new | discover_schema |
| "Change the…", "Add a column to…", "Fix the GL report…" | B — Edit existing | search_reports |
| "Run the…", "Pull data from…", "Execute the… report" | C — Run existing | search_reports →run_report |
Create a new report
discover_schemaExplore Oracle Fusion tables by domain (GL, AP, HR…); auto-loads join patterns.
inspect_tableGet columns, data types, and sample rows for a specific table.
lookup_valuesFind exact stored values for WHERE clauses — ledger names, department codes.
explore_sqlRun an arbitrary SELECT for investigation. Capped at 20 rows; last resort.
get_domain_skillLoad domain-specific Oracle knowledge: join patterns, SQL templates, anti-patterns.
validate_sqlValidate SQL structure against Oracle BIP rules. Local, no network call.
execute_reportDeploy a new SQL query to Oracle BIP, execute it, return data plus a CSV download.
Edit an existing report
search_reportsFind existing BIP data models by name or path — "Trial Balance", "AP Invoices".
get_report_sqlFetch the current SQL datasets from a data model.
validate_sqlValidate the modified SQL before saving.
apply_report_changeSave modified SQL back to the data model. Auto-clones Oracle-seeded reports.
Run an existing report
search_reportsFind the report by name or path.
run_reportExecute a data model and return rows plus CSV. Auto-converts .xdm paths to .xdo companion reports, with ephemeral fallback for standalone models.
list_reportsBrowse the full BIP report catalog by domain. Shared utility.
Troubleshooting
The server connection times out and the initialize request never completes.
- Verify the env block with PATH is present — it's required for CLI editors.
- Check your token hasn't expired. Tokens are valid for one year.
- Test the bridge manually with npx -y mcp-remote … --header "Authorization: Bearer YOUR_TOKEN" to see the raw error.
- Check the header format — "Authorization: Bearer TOKEN" needs a space after Bearer.
- Confirm the token is valid and not expired.
- Look for typos in the --header argument.
- Restart the editor — config changes are only read at startup.
- Check the editor logs for MCP connection errors.
- Verify there is no trailing slash in the URL: /mcp, not /mcp/.
- Ensure the header has a space: "Authorization: Bearer", not "Authorization:Bearer".
- Check for proper quoting in the JSON — the whole header is one string.
- Install Node.js from nodejs.org.
- Verify with npx --version.
- Update PATH in your config to include the Node.js bin directory.
- Still stuck? Ask in the Dayos community — our team monitors it daily.