Menu
Sign up

Claude MCP: OG images and screenshots from Claude.ai and Claude Desktop

Add the image API to Claude as a custom connector with OAuth sign-in, no API key. Render OG images, social cards and page screenshots from a Claude chat.

Published November 4, 2026 · 6 min read

Claude can make Open Graph images and page screenshots for you once Shareglint is added as a custom connector: in Claude.ai or Claude Desktop you add the URL https://shareglint.com/mcp, sign in with your Shareglint account (OAuth, no API key), and Claude can then call render_image, take_screenshot, list_templates and the other tools from any chat. Every render counts against the same monthly quota as the HTTP API — 100 images a month on the Free plan.

This page covers Claude's chat apps. For the terminal agent see Claude Code; for the background on MCP and the other clients, the overview guide.

What you can ask Claude to do

The server publishes these tools: render_image, get_image, list_templates, get_template, create_signed_url, get_usage, generate_template, take_screenshot, auto_og_url, create_batch, get_batch. In a chat they turn into requests like these:

  • One card from text you paste. "Here is my post. Make an OG image with the blog-og template — title from the headline, eyebrow 'Engineering', site yourblog.com." Claude calls render_image and replies with a PNG URL.
  • Several sizes at once. "Same card, but also square and story size for Instagram." One call with sizes: ["og", "square", "story"] returns three URLs, one render each.
  • A screenshot of a live page. "Take a full-page screenshot of https://example.com/pricing on an iPhone 15, with cookie banners hidden." take_screenshot with device, full_page and block_cookie_banners.
  • A tag for your site. "Give me the og:image meta tag for this card that renders on first visit." create_signed_url returns the URL and a ready <meta> tag; nothing is charged until a crawler fetches it.
  • A batch from a sheet. "Make cards for every row of this Google Sheet." create_batch with the sheet link, then get_batch for progress and the ZIP.
  • Budget questions. "How many renders do I have left?" get_usage.

Claude reads your text and picks the field values; the layout comes from the template, so the title is spelled exactly as you wrote it and every card in a series looks the same. That is the difference from asking Claude, or any image model, to draw a card.

Add the connector

Anthropic documents the steps in Add a connector that isn't in the directory and the custom connectors help article. For this server:

Free, Pro, Max or Ultra plan

  1. Open Customize → Connectors and click Add custom connector.
  2. Name it Shareglint and enter the server URL https://shareglint.com/mcp.
  3. Leave the OAuth client ID and secret empty and click Add.
  4. Click Connect. A Shareglint login opens; sign in (or create a free account) and approve.

The Free plan allows one custom connector, so this one takes your only slot there.

Team or Enterprise plan

An Owner adds it once for the organisation in Organization settings → Connectors → Add → Custom (choose Web if asked) with the same URL. Members then find it under Customize → Connectors with a Custom label and click Connect to sign in with their own Shareglint account.

If your dialog asks how Claude identifies itself, choose Register automatically. Shareglint supports OAuth dynamic client registration; it does not publish support for "Claude's published identity" (Client ID Metadata Documents), so that option will not work here. For Authentication, Sign in now and Sign in when needed both work.

You cannot change authentication settings on an existing connector — remove it and add it again if you picked the wrong option.

What you are approving

The consent screen shows the app's name and the address the login returns to (claude.ai for Claude), and, if you belong to more than one Shareglint workspace, which one the connection acts on. After that:

  • Claude acts on that workspace only: its templates, its quota, its plan. A team member removed from the workspace gets 401 on the next tool call.
  • Access tokens last a day and refresh on their own, so you do not reconnect daily.
  • Every connected app is listed in Account settings in the Shareglint dashboard, where Disconnect stops its tokens at once.

Connectors run from Anthropic's servers, not from your computer, so the requests reach us from Anthropic's network — your own IP never matters, and there is nothing to open in a firewall.

Request headers instead of OAuth. Anthropic is testing header authentication for a limited set of organizations. If your dialog has a Request headers section, you can choose No sign-in and add an authorization header with the value Bearer sk_live_… (Claude sends the value exactly as typed, so include Bearer ). OAuth is the better choice for a team, because each person signs in as themselves and the key does not sit in a shared connector.

Claude Desktop and mobile

Remote connectors belong to your Claude account. One added at claude.ai appears in Claude Desktop, and Anthropic lists custom connectors for Claude and Claude Desktop on every plan. There is no need to edit claude_desktop_config.json: that file configures local servers that run on your machine, while this server is remote.

In any app, turn the connector on for a conversation with the + button → Connectors. Tools you never want Claude to call — say create_batch on a shared workspace — can be set to Blocked under Customize → Connectors.

Worked example: a launch post, end to end

You have written a launch post and want a share card, a square version for LinkedIn and Instagram, and a screenshot of the new page for the post body.

Turn on Shareglint for this chat. Here is the post: [pasted text]. Use list_templates to check the fields of blog-og, then render it with render_image in sizes og and square: title = the headline, eyebrow = "Launch", author = "Maya Chen", site = "northwind.dev", accent = "#f97316". Then take a screenshot of https://northwind.dev/new with take_screenshot, viewport only, dark mode. Give me all URLs in a table.

What happens:

  1. list_templates (read-only) returns blog-og with its fields — title, eyebrow, author, site, date, reading_time, photo, accent, theme.
  2. Claude asks to run render_image. Approve it. It returns two renders: the 1200×630 card and the 1080×1080 square.
  3. take_screenshot with dark_mode: true returns a PNG of the page at the default 1280×800 viewport.
  4. Claude answers with a table of three URLs.

Cost: two renders for the card sizes and 1 for the viewport screenshot. Ask for the same card again with the same fields and it is free; the same screenshot within 24 hours is free too.

If you like the layout but not the design, ask "make a template like this screenshot" with an image attached: generate_template (paid plans) designs one and returns a free preview before anything is saved.

Troubleshooting

"Connect" returns to Claude without connecting. Check that you finished the consent screen (closing the tab at the login cancels it) and that you signed in to the Shareglint account you meant to. If it still fails, remove the connector and add it again with Register automatically.

The connector is connected but Claude ignores it. It is probably off for this chat. Open + → Connectors and switch it on. Then name the tool: "use render_image", not "make a picture" — otherwise Claude may answer with an SVG or a description instead.

plan_required from generate_template. AI template generation is for paid plans. Rendering, screenshots, batches and signed URLs work on Free.

quota_exceeded. The month's renders are used up. get_usage shows used and remaining, and the error comes back as {"error": "quota_exceeded", …} rather than a bill. See pricing for plans and top-ups.

Screenshot fails with a blocked address. The browser only reaches public http(s) pages. localhost, private IPs and pages behind a login cannot be captured; deploy a preview URL first.

A badge on the image. Images rendered on the Free plan carry a small Shareglint badge in the corner, from Claude exactly as from the API.

You added the wrong auth type. Authentication cannot be edited. Remove the connector, add it again, and members reconnect.

For anything Claude cannot do here — a webhook, a CI job — the same account works over plain HTTP: see the docs.

FAQ

Do I need an API key to use the image API in Claude.ai?

No. Claude.ai and Claude Desktop add the server as a custom connector and sign in with OAuth: you log in to Shareglint and approve the connection. Claude never sees an API key, and you can disconnect it in Account settings at any time.

Can I use the connector on Claude's Free plan?

Yes. Anthropic allows one custom connector on the Free plan and more on Pro, Max, Ultra, Team and Enterprise. The Shareglint Free plan includes 100 renders a month, with a small badge on the images.

Is the connector the same in Claude Desktop?

Yes. Remote connectors belong to your Claude account, so one added at claude.ai appears in Claude Desktop too. The desktop app's local configuration file is for servers that run on your own computer, which this one does not need.

Why does Claude draw a picture instead of using the template?

Claude only calls a tool when it thinks the tool fits. Turn the connector on for the chat in the + menu and name the tool and template in the prompt, for example "use render_image with the blog-og template".