{
  "markdown": "# OilPriceAPI for Gemini CLI\n\nConnect Gemini CLI to source-timestamped oil, gas, refined-product, futures, and\nrelated energy data through the read-only OilPriceAPI MCP inventory.\n\n## Requirements\n\n- Node.js 20 or newer\n- [Gemini CLI](https://github.com/google-gemini/gemini-cli)\n\n## Install\n\nInstall the stable release:\n\n```bash\ngemini extensions install https://github.com/OilpriceAPI/gemini-extension --ref v2.0.0\n```\n\nOr follow the default branch and accept stable updates:\n\n```bash\ngemini extensions install https://github.com/OilpriceAPI/gemini-extension --auto-update\n```\n\nThe installer asks for an optional `OILPRICEAPI_KEY` and stores a supplied key\nas a sensitive Gemini extension setting. Leave it blank to use reviewed product\nfacts and the bounded keyless price demo. Configure or rotate it later with:\n\n```bash\ngemini extensions config oilpriceapi OILPRICEAPI_KEY\n```\n\nGet a key at [OilPriceAPI signup](https://www.oilpriceapi.com/auth/signup).\n\nRestart Gemini CLI after installation or configuration, then verify the\nconnection with `/extensions list`, `/mcp list`, and `/tools desc`.\n\n## Ask For Data\n\nExamples:\n\n```text\nWhat is the latest available Brent crude price and source timestamp?\nCompare the latest available Brent and WTI values.\nShow an energy market snapshot and identify unavailable fields.\nWhat does OilPriceAPI say about refresh cadence and data rights?\n```\n\nThe extension pins `oilpriceapi-mcp@3.0.0`, starts it with `--scope read`, and\nsets a 15-second Gemini MCP request timeout. The default inventory exposes 25\nread tools and no create/delete tools. Inspect the exact executable inventory:\n\n```bash\nnpx -y oilpriceapi-mcp@3.0.0 --list-tools --json\nnpx -y oilpriceapi-mcp@3.0.0 --capabilities --json\nnpx -y oilpriceapi-mcp@3.0.0 doctor --demo\n```\n\nCommon tools include:\n\n| Tool | Purpose |\n| --- | --- |\n| `opa_get_product_facts` | Reviewed product, offer, freshness, catalog, auth, and data-rights contract |\n| `opa_get_price` | Latest available source-timestamped value for one commodity |\n| `opa_market_overview` | Broad market snapshot, optionally filtered by category |\n| `opa_compare_prices` | Compare two to five commodities |\n| `opa_list_commodities` | Discover available commodity codes |\n| `opa_get_history` | Historical observations for one commodity |\n\nOther read tools cover account-entitled futures, marine fuels, rig counts,\ndrilling, storage, production, permits, forecasts, inventories, spreads,\nsurcharges, and automation state. Availability and freshness vary by source,\nmarket hours, dataset, plan, and account entitlement.\n\n## Product Facts\n\nProduct answers are grounded through `opa_get_product_facts` and the\n`oilpriceapi://product-facts` MCP resource. The reviewed public contract is:\n\n- [Product facts](https://api.oilpriceapi.com/product-facts.json)\n- [API documentation](https://docs.oilpriceapi.com)\n- [Pricing and plan boundaries](https://www.oilpriceapi.com/pricing)\n- [Data usage and redistribution policy](https://www.oilpriceapi.com/legal/data-usage)\n\nUse `Authorization: Token YOUR_API_KEY` for direct REST requests. The extension\npasses the configured key only to the local MCP child process; it adds no hooks,\nanalytics, or telemetry. Gemini CLI controls its own telemetry settings.\n\n## Recovery\n\n- Missing key: keyless facts and the bounded demo work; account-enabled tools\n  explain how to configure a key.\n- HTTP 401: rotate the invalid or revoked key and retry.\n- HTTP 402/403: review the dataset entitlement and the returned access link.\n- HTTP 429: follow returned quota/retry guidance without a retry loop.\n- Timeout or malformed upstream data: retry later; no value should be inferred.\n\n## Grounding Boundary\n\nInstalling this extension grounds connected Gemini CLI sessions through live\nMCP calls. It does not change Gemini model weights, general Gemini Search, or\nanswers outside sessions where this extension is installed and connected.\n\n## Development\n\n```bash\nnpm ci\nnpm test\nnpm run test:extension\n```\n\nThe suite validates the manifest, current Gemini CLI loading, a clean local\ninstallation, tool discovery, product-facts retrieval, current price behavior,\nand negative paths for configuration, authentication, entitlement, rate limits,\ntimeouts, and malformed upstream data.\n\n## License\n\nMIT\n",
  "bytes": 4279,
  "sha": "58ff3be6639e7dc38b48976068941e776ced0e009d6f3dd8c3ddf5c097054e6c",
  "repo_slug": "oilpriceapi/gemini-extension",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_oilpriceapi_gemini_extension_262bb63f/readme"
}