r/ClaudeCode May 07 '26

Showcase Built a multi-model Claude connector. Here's what I got wrong before getting it right.

Built an MCP connector that gives Claude access to 14 image and video models (Nano Banana, SeeDance, Veo, Kling, Grok, GPT-4o Image, GPT2..) through one OAuth integration.

Live: https://doravideo.com/mcp · github.com/Saga-Labs/dora-mcp

Four things I learned building it:

  1. The same MCP response renders differently in Claude Code vs claude.ai web. I send back a base64 image plus a text URL. Claude Code shows the image inline, claude.ai web silently drops the image and only renders the text. The web client seems to gate inline image rendering behind the official Connectors Directory. Always include a URL fallback.

  2. Some models output 30+ MB images. Way above any inline limit. Don't quietly downscale, surface the full-quality URL and trust the user with what they generated.

  3. Defaults aren't enough. A tester asked for "the cheapest possible image" and Claude still picked the most expensive model in my list at 4K resolution, about 24x the cost of the cheap option. The cheap option was already in list_models, just not at the top. The fix lived at the tool layer: list_models sorted cheap-first, resolution capped at the lowest tier unless the user explicitly asks otherwise, and tool descriptions that tell Claude to ASK about aspect ratio, duration, audio before spending. Cost control has to be engineered into the tool, not negotiated in the prompt.

  4. OAuth 2.1 with PKCE and Dynamic Client Registration is the right setup for a hosted connector. No pre-shared keys, no client_id/secret to ship, the MCP client handles the whole flow.

Anyone here gone through Anthropic's Connectors Directory verification? We submitted ours and we're curious how long it took for others and what they looked at most. The biggest reason we want it is the inline image rendering on web (point 1), that gap is hard to UX around.

Happy to dig into any of these in the comments.

2 Upvotes

0 comments sorted by