Skip to content

kailous/rainforest-navigator

v2.4.0MIT

Query and manage navigation entries stored in the RainForest Navigator browser extension and generate matching SVG website icons.

RainForest Navigator Plugin

This directory is the portable ChatGPT/Codex plugin package. The browser extension owns the data and executes operations; the deployable relay source lives in the repository-level mcp/ directory.

This package connects to the browser-extension MCP through a cloud relay. It operates only on extension IndexedDB data and never routes calls to the website database.

  • Remote MCP endpoint: https://mcp.nav.rainforest.org.cn/mcp
  • ChatGPT web authentication: OAuth 2.1 authorization code + PKCE.
  • Local Codex compatibility authentication: RAINFOREST_EXTENSION_TOKEN.
  • Copy the pairing key from the extension's independent MCP page when the authorization page asks for it.
  • No terminal window or local Node.js server is required.

The deployed website has its own independent Streamable HTTP MCP endpoint at /api/mcp. It is a separate deployment with its own authorization server, its own data store (Vercel Blob) and its own credentials. Calls are never routed between the two.

Credential isolation is deliberate — three credentials exist and none of them works in another's place:

CredentialBelongs toWorks only against
Plugin access key (generated locally in the extension)Browser extensionExtension MCP
Online MCP key (rfn_live_*, generated in the site admin)WebsiteOnline MCP
Admin login passwordWebsiteWebsite admin console

The extension MCP resource is https://mcp.nav.rainforest.org.cn/mcp — the MCP endpoint URL, not the bare origin. Rotating the plugin access key permanently revokes previously issued grants: a refresh_token exchange is refused unless the extension currently holds a bridge connection, and rotation moves the extension to a different isolated route.

Claude Desktop's CIMD / DCR behaviour is pending verification against the real client.

The bundled rainforest-icon-generator skill can generate a RainForest-standard SVG and apply it with extension_generate_navigation_icon. ChatGPT web can discover the same workflow directly from MCP through the rainforest://skills/icon-generator resource, the rainforest_generate_navigation_icon prompt, and extension_get_icon_generation_guide.

Icon acquisition is built in: inspect_website_icon_assets discovers first-party candidates, fetch_public_resource_text reads SVG/XML/manifest source even when served as image/svg+xml, and extension_extract_rendered_page_assets handles logos created in the browser's rendered DOM. New sites should use extension_add_navigation_entry_with_icon, which commits the entry and validated SVG together. Generated-icon writes require the current skillDigest returned by the guide tool so a client cannot silently skip the active specification.

The portable entry points are plugin.json and mcp.json. .codex-plugin/plugin.json and .mcp.json remain as compatibility files for local Codex installations.