docs(mcp): add Rendex MCP Server extension tutorial#8541
docs(mcp): add Rendex MCP Server extension tutorial#8541Dan425953 wants to merge 5 commits intoaaif-goose:mainfrom
Conversation
Rendex is an MCP server that lets goose capture screenshots, generate PDFs, and render HTML to images via the Rendex API (Cloudflare Workers back end). Single outcome-focused tool (rendex_screenshot) handles all three rendering modes. Notable features documented: - PNG/JPEG/WebP/PDF output with full-page + element-selector capture - CSS/JS injection and cookie/header injection for authenticated pages - PDF options (A4/Letter/Legal/Tabloid/A3, landscape, margins, scale) - Geo-targeting (Pro/Enterprise) with ISO country + city/state - Async pipeline with HMAC-signed webhook callbacks - Raw HTML input for generating invoices, OG images, and email previews Install path is stdio (`npx -y @copperline/rendex-mcp`). Remote Streamable HTTP option at `https://mcp.rendex.dev/mcp` is documented for clients that support `type: http`. Free tier has 500 calls/month, no credit card required. Follows the existing docs/mcp template structure used by other third- party server tutorials (browserbase-mcp, agentql-mcp, etc.). Signed-off-by: DanE <[email protected]>
Adds the corresponding entry to documentation/static/servers.json so Rendex shows up in the goose docs site extensions browser UI alongside the existing tutorial page at documentation/docs/mcp/rendex-mcp.md. Inserted alphabetically between reddit-mcp and repomix-mcp. Entry uses the standard is_builtin=false, endorsed=false defaults and mirrors the stdio install path (npx -y @copperline/rendex-mcp) with the required RENDEX_API_KEY environment variable. Signed-off-by: DanE <[email protected]>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f3fc35660c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
… + fix YAML schema Per @angiejones review: - Restructure the tutorial so "Rendex Remote MCP" is the default tab, matching the apify-mcp.md convention. Local stdio (npx) becomes the secondary tab. - Switch the servers.json entry from the local npx command to the streamable-http variant (mirrors github-mcp's shape) so the docs extensions picker surfaces the zero-install remote endpoint by default. Per @chatgpt-codex-connector review: - Drop the standalone YAML config example that used the wrong schema (`type: http` + `url:` + `envVars:` with implicit Bearer mapping). Instead, both Desktop and CLI install paths now use the canonical GooseDesktopInstaller / CLIExtensionInstructions components with type="http" (which the installer maps to streamable_http) and an explicit `Authorization: Bearer YOUR_RENDEX_API_KEY` header. This matches goose's actual streamable_http parser (crates/goose/src/agents/extension.rs lines 220-242 — type is `streamable_http`, field is `uri` not `url`, headers map is explicit and required for Bearer auth — there's no auto-mapping from RENDEX_API_KEY env var to Authorization). Tutorial structure now mirrors apify-mcp.md exactly, including the Quick Install header → Desktop installer → CLI block sequence, the Custom Request Header pattern, and the Remote / Local tab grouping. Signed-off-by: DanE <[email protected]>
|
Thanks @angiejones and @chatgpt-codex-connector — both points addressed in Changes in this revision:
The local Happy to iterate further if anything else needs tweaking. |
|
To use Codex here, create a Codex account and connect to github. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 48084f46a3
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "name": "Authorization", | ||
| "description": "Bearer <YOUR_RENDEX_API_KEY>", | ||
| "required": true |
There was a problem hiding this comment.
Disable unusable CLI install command for auth-required server
This entry declares Authorization as a required header, but because show_install_command is not set to false, the extensions UI will still render the generic command goose session --with-streamable-http-extension "https://mcp.rendex.dev/mcp" (see documentation/src/components/server-card.tsx and documentation/src/pages/extensions/detail.tsx). That command path cannot carry headers: --with-streamable-http-extension only parses a URL plus optional timeout (crates/goose-cli/src/cli.rs), so users who follow the displayed command cannot satisfy the required auth header and will hit connection/auth failures. Please suppress the command for this server (or provide a header-capable command flow).
Useful? React with 👍 / 👎.
Per @chatgpt-codex-connector P2: with type=streamable-http and a required Authorization header, the docs extensions UI would still render `goose session --with-streamable-http-extension <url>` per documentation/src/components/server-card.tsx and documentation/src/pages/extensions/detail.tsx. That CLI flag in crates/goose-cli/src/cli.rs only takes a URL plus optional timeout — no header support — so anyone copying the displayed command would hit auth failures. Set show_install_command: false on the rendex-mcp entry to suppress that command and force users through the goose:// installer link or the manual config flow described in installation_notes, both of which carry the Authorization header correctly. Precedent: jetbrains uses the same show_install_command: false pattern in this file. Note: github-mcp has the same shape (required Authorization header, streamable-http type) without this field set — that entry has the same latent issue but is out of scope for this PR. Signed-off-by: DanE <[email protected]>
|
Good catch from Codex — verified in Confirmed the rendering logic in `documentation/src/components/server-card.tsx:14` and `documentation/src/pages/extensions/detail.tsx:106-128` would emit: ``` …unless `show_install_command` is explicitly `false`. And `crates/goose-cli/src/cli.rs`'s `--with-streamable-http-extension` flag only accepts a URL + optional timeout — no header support — so a user copying that command would hit auth failures the moment goose tries to call `tools/list`. Added `"show_install_command": false` to the rendex-mcp entry. Users now flow through either the `goose://` installer link (which carries headers) or the manual config path described in `installation_notes`, both of which set the `Authorization` header correctly. Precedent: `jetbrains` already uses `show_install_command: false` in this file. Side note (out of scope, FYI): I noticed `github-mcp` has the identical shape — `type: streamable-http`, required `Authorization` header, no `show_install_command: false` — so it has the same latent issue, but that's not for this PR. Happy to file a follow-up if you'd like. |
|
|
||
| </TabItem> | ||
|
|
||
| <!-- LOCAL SETUP --> |
There was a problem hiding this comment.
| <!-- LOCAL SETUP --> |
| <TabItem value="cli" label="goose CLI"> | ||
| **Command** | ||
| ```sh | ||
| npx -y @copperline/rendex-mcp |
There was a problem hiding this comment.
this should use the streamable flow
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| ## Available Tool |
There was a problem hiding this comment.
lets remove this section. dont want to the burden of keeping it updated. if anyone wants to know the tools, they should go to the MCP's official page
| ``` | ||
| ::: | ||
|
|
||
| :::info |
Address @angiejones round 2: - Remove outer `remote-or-local` tabs wrapper and drop the Local MCP (stdio/npx) tab entirely — tutorial is now streamable_http only, matching the already-landed servers.json shape (type: streamable-http, show_install_command: false). - Remove the "Available Tool" capability table (avoid duplicating schema that lives on rendex-mcp's own MCP registry page). - Remove the Node.js `:::info` note (no longer relevant once the npx install path is gone). - Remove the `<!-- LOCAL SETUP -->` / `<!-- REMOTE SETUP -->` HTML comment markers. Signed-off-by: DanE <[email protected]>
|
Thanks @angiejones — round 2 addressed in
Net |
What this adds
A new MCP extension tutorial page at `documentation/docs/mcp/rendex-mcp.md` for Rendex — an MCP server that gives goose the ability to capture screenshots, generate PDFs, and render HTML to images from any webpage or raw HTML.
Single outcome-focused tool (`rendex_screenshot`) with a typed JSON Schema covering 30+ parameters across three rendering modes:
Plus geo-targeting (Pro/Enterprise), an async pipeline with HMAC-signed webhook callbacks, and signed-R2-URL caching. Hosted on Cloudflare Workers with Browser Rendering on the back end, so no local Chromium needed.
Why a small first PR
Following the guidance in CONTRIBUTING.md — starting with a narrow, single-file contribution that follows the existing `documentation/docs/mcp/template.mdx` structure and mirrors conventions from the current third-party server tutorials (`browserbase-mcp.md`, `agentql-mcp.md`, etc.).
Install paths documented
Canonical metadata
Test plan
Happy to iterate on tone, copy, or structure if the maintainers want anything changed.
🤖 Generated with Claude Code