1. Connect Amazon
  2. Gemini
  3. Gemini CLI
DataDoe + Gemini CLI

Connect Gemini CLI to Amazon over MCP. Then script it.

One command adds DataDoe to Gemini CLI as an MCP server. After that, Seller Central, Vendor Central and Amazon Ads data is one prompt away, in a live session or a cron job, and by default Gemini CLI asks before any listing or bid change, with an optional dry run first.

  • Works headless and in cronCron-ready
  • Live writes ask by defaultAsks by default
  • 14-day free trial14 days free
• Setup

One command. Then /mcp.

Gemini CLI reaches DataDoe over streamable HTTP, and your MCP key travels in a request header. Gemini CLI itself needs Gemini API billing or a Code Assist Standard or Enterprise seat. Pro and Ultra subscribers were moved to Antigravity CLI in June, so that config gets its own tab.

gemini mcp add --transport http --scope project \
  -H "datadoe-mcp-key: YOUR_DATADOE_MCP_KEY" \
  datadoe https://mcp.datadoe.com/mcp/v1

Run it from your project folder. Use --scope user instead to make DataDoe available in every folder, which is what scheduled jobs usually want.

  1. 1

    Create an MCP key

    Connect your Amazon accounts in DataDoe, then create a key under Integrations → MCP.

  2. 2

    Add the server

    Paste the form that matches your setup. The server name datadoe is what you will see in prompts and policies.

  3. 3

    Trust the folder, then check

    Restart Gemini CLI and accept the folder-trust prompt. gemini mcp list or /mcp should show datadoe as connected.

• Headless

The same prompt, with nobody at the keyboard.

With -p, Gemini CLI answers once and exits. That turns a question about your Amazon business into a line in cron, a step in a shell script or input for the next tool.

  1. 01

    Morning stock check from cron

    Runs at 7:00 on weekdays and leaves a dated file in the repo. Nobody opens a terminal. In a crontab, % has to be escaped.

    0 7 * * 1-5  cd ~/amazon-ops && gemini -p "List FBA SKUs with under 21 days of cover, worst first" --allowed-mcp-server-names datadoe > reports/stock-$(date +\%F).md
  2. 02

    JSON for the next step

    -o json returns one object with the answer in its response field, so jq can hand it to Slack, a sheet or your own script.

    gemini -p "Yesterday's ad spend and sales by marketplace as a JSON array" -o json \
      | jq -r '.response' > spend.json
  3. 03

    Pipe a file in

    Whatever you pipe in goes in front of the prompt: a list of ASINs, a supplier price sheet, last week's report.

    cat asins.txt | gemini -p "For each ASIN, compare this week's sessions and unit session percentage with last week"
  4. 04

    Keep a log of every call

    -o stream-json writes each tool call and result as its own line, so the log shows which DataDoe tool ran, with what, and when.

    gemini -p "Summarise this week's Vendor Central purchase orders by fill rate" \
      -o stream-json >> logs/vendor-weekly.jsonl

DataDoe refreshes most tables daily at 2:00 in the seller’s local time, and some intraday. Schedule morning checks after that. For events you need within minutes, DataDoe also sends webhooks. On Antigravity CLI the same jobs run as agy -p with --output-format json.

• Write access

Changes wait for a yes, with an optional dry run.

Actions stay off until you switch on a type in DataDoe and set the account to read and write. Then Gemini CLI can call actions_start with a dry run first and show you the result, and by default it stops to ask before the live call.

• Unattended runs

Who says yes when nobody is watching?

Nobody. In a headless run, Gemini CLI treats every “ask the user” as a no. Allow DataDoe’s read tools in a policy, keep live Actions on ask, and a cron job can read everything and change nothing.

What Gemini CLI lets DataDoe do in each way of running it
How Gemini CLI runsReading dataDry runsLive changes on Amazon
Interactive sessiondefault approval modeAsks, or always allowAsksAsks every time
Headless -p, no policycron, scripts, CIRefusedRefusedRefused
Headless -p with the policy belowthe setup we suggest for scheduled jobsAllowedAllowedRefused
--approval-mode=yoloany modeAllowedAllowedAllowed, unasked
Action type off in DataDoewhatever Gemini CLI allowsAllowedAllowedRejected by DataDoe

One policy file for scheduled jobs

Gemini CLI loads every .toml file in ~/.gemini/policies/. The higher priority wins: everything from datadoe is allowed, actions_start goes back to ask, and a dry run is let through.

On Antigravity CLI the same split is two lines of settings. Ask beats allow there, so dry runs ask too, and a headless agy -p run skips anything that would ask and notes it on stderr.

DataDoe adds its own limits on top: up to 500 live Actions per organisation, and every Action is written to the Action log.

~/.gemini/policies/datadoe.toml
[[rule]]
mcpName = "datadoe"
decision = "allow"
priority = 100
 
[[rule]]
mcpName = "datadoe"
toolName = "actions_start"
decision = "ask_user"
priority = 200
 
[[rule]]
mcpName = "datadoe"
toolName = "actions_start"
argsPattern = '"dryRun":\s*true'
decision = "allow"
priority = 300
~/.gemini/antigravity-cli/settings.json
{
  "permissions": {
    "allow": ["mcp(datadoe/*)"],
    "ask": ["mcp(datadoe/actions_start)"]
  }
}
• Which terminal, which job

Ops in Gemini CLI. Engineering in Codex.

All of these reach the same DataDoe server, so the data and the guardrails don’t change. What changes is the job each tool is good at.

• Cheat sheet

The commands you’ll actually type.

Gemini CLI flags and slash commands that matter once DataDoe is connected. Click any of them to copy.

FAQ

Things people ask about Gemini CLI.

Use gemini mcp add or edit the mcpServers block in settings.json. For a remote server such as DataDoe, choose the http transport and pass the key as a header: gemini mcp add --transport http -H "datadoe-mcp-key: YOUR_KEY" datadoe https://mcp.datadoe.com/mcp/v1. In settings.json the same server uses httpUrl and headers. Restart the session and check it with /mcp.

Gemini CLI does not load project-level MCP servers in a folder you have not trusted. Open Gemini CLI in that folder, accept the trust prompt (you can change it later with /permissions), then run gemini mcp list again. For scheduled jobs, adding DataDoe with --scope user avoids the question.

Only through DataDoe Actions, and only after you allow it twice: switch the Action type on in DataDoe settings, and set the account to read and write. By default, Gemini CLI then asks before every live call to actions_start. A dry run validates the change without sending it to Amazon, and every Action is logged.

Not any more: in June 2026 Google moved Pro and Ultra subscribers to Antigravity CLI (agy). Gemini CLI keeps working for anyone billed through the Gemini API and for Code Assist Standard or Enterprise seats. DataDoe works in both: in Antigravity CLI, add it to ~/.gemini/config/mcp_config.json with serverUrl and the datadoe-mcp-key header.

Not by default. In non-interactive mode Gemini CLI treats any tool that needs approval as refused, so a headless run cannot send live changes unless you allow them in a policy or run with --approval-mode=yolo. We suggest allowing reads and dry runs for scheduled jobs and keeping live changes in an interactive session.

Yes. Seller, Vendor and Ads data share one DataDoe schema with 100+ tables that join on SKU and ASIN, so one prompt can compare purchase orders, organic sales and ad spend for the same product.

Both connect to the same DataDoe server. Gemini CLI suits operations: scheduled checks, reports written to files and approved bulk changes. Codex suits engineering: writing and testing tools on your Amazon data. See DataDoe for Codex, or the Gemini MCP guide for Amazon for the other Google options.

Gemini CLI is open source; its usage limits depend on how you sign in to Google. DataDoe is $97 a month after a 14-day free trial, and that covers all your Seller, Vendor and Ads accounts. MCP calls count against the AI tokens in your plan.

Want a hand with the first script?

We'll set up a demo account, run a scheduled check from Gemini CLI on real Amazon data and walk through the policy file with you.

Book a demo
• Get started

Amazon checks, on a schedule.

Connect Seller Central, Vendor Central and Amazon Ads once. Gemini CLI reads them from any terminal, script or cron job — and changes only what you approve.

  • Gemini CLI over MCP
  • Seller, Vendor and Ads
  • Live changes need your yes
  • $97/mo after 14 days free