A while back, I tried to install Distro Reader, our free news connector, on the Claude desktop app. Instead of connecting, it demanded I sign in.

There was nothing to sign into. Distro Reader doesn’t have accounts. The install just dead-ended, for me and for anyone else who tried.

The culprit turned out to be a living arrangement on our servers.

Distro runs two MCP servers, the plumbing that lets AI chatbots read and publish our news. Distro Publisher is for journalists: It creates and edits stories, so it requires an account and a login. Distro Reader is for everybody else: It serves published stories straight into your AI chat, no account needed. Both lived on the same web address: Publisher at app.distro.media/mcp, Reader right next to it at app.distro.media/mcp/reader.

That worked fine until Claude changed how it sizes up connectors. When you add a server now, Claude asks the domain a standard question: Does anything here require a login? Our domain answers yes, because Publisher does. Claude applied that answer to Reader too, and every would-be reader got shoved into a sign-in flow that doesn’t exist.

The frustrating part: There’s also a standard way for each individual service to speak for itself, and ours says, plainly, “no login required.” Claude’s installer reads that answer and then goes with the domain-wide one instead.

We could see all of this because Claude Code, Anthropic’s coding agent, diagnosed the problem against its own mothership. Watching our production server logs while re-running the failed install, it caught the sequence in real time: our “no login needed” declaration arriving, then Publisher’s login requirements getting picked up and applied anyway. We filed a bug report with Anthropic, log excerpts attached.

We didn’t wait for an answer, though. Other developers had filed similar reports in Anthropic’s public bug tracker going back to early May, and they were still sitting there without a response from the Anthropic team. Filing the report was the appropriate and responsible move. The fix was going to have to be ours.

The workaround: give Reader its own front door. We created a new address, reader.distro.media, where the only thing that exists is the reader. Its install link moved from app.distro.media/mcp/reader/stream to reader.distro.media/mcp/reader/stream. Every login-related question a client can ask at the new address comes back empty. Publisher stays where it was.

Before spending half a day building that, we ran a five-minute experiment. DeepWiki runs a well-known MCP server that needs no login and lives alone on its own address, exactly the setup we were proposing. Claude Code added it to my account, and it connected in about a second. No sign-in screen. That settled it.

The build took an unusual amount of access: Claude Code read our production logs over a direct connection, wrote and tested the code, verified it on our staging server and drove the release. The last step was a new entry in our Cloudflare domain settings, and there it refused to handle my password. So I signed into the dashboard myself, and it filled out the form while I watched.

Then the test that mattered: a fresh install of the new address. “Connected to Distro Reader.” All seven reader tools loaded. To close the loop, we posted the workaround back on our bug report, so the next developer who hits this finds the fix attached.

In our tests, Claude confused our no-login MCP server with the login-protected one on the same domain, leaving the open server locked behind the other one’s front door. Give the open one its own address. It shouldn’t be necessary; the standard already lets each service speak for itself. Until the clients listen, the separate address works.

The reader is free again.


HOW AI WAS USED IN THE PRODUCTION OF THIS PIECE: I got AI to write the first draft of this article, relying on the transcript of my coding session within Claude Code inside Visual Studio Code and a custom skill I developed to replicate my own writing style. Then I used Distro Publisher, our official MCP server, to file the story as a draft directly from Claude Code to my newslode. I then edited the draft in DistroVerse’s editing interface and checked all the facts before publishing. I created the story illustration using Gemini.