Live data from Hacker News

MCP Hello Page

hybridlogic.co.uk

11–20 of 58 posts

Re: MCP Hello Page

#11
post #6

> I did something a little bit hacky: if the request is for GET /mcp and the Accept header includes text/html and NOT application/json or text/event-stream, I return a HTML page Is this not the intended use of request headers?

I think so, but if you wanted to be pedantic you could make the argument that the same resource is not being served with the different Accept header. A welcome page is not the same thing as the JSON returned from the MCP spec.

Maybe it should return a 303 See Other response

Re: MCP Hello Page

#12
post #7

But why would you show the MCP server URL as a clickable link in the first place, if it's not meant to be clicked? Put it in a monospaced box with a "copy to clipboard" button, it's not the fault of the user for not "thinking ahead" when they click a clickable link that wasn't actually meant to be clicked.

All kinds of tools make it really difficult to not make a URL clickable and even if it wasn't clickable they might still put it in address bar...

Re: MCP Hello Page

#13
post #7

But why would you show the MCP server URL as a clickable link in the first place, if it's not meant to be clicked? Put it in a monospaced box with a "copy to clipboard" button, it's not the fault of the user for not "thinking ahead" when they click a clickable link that wasn't actually meant to be clicked.

All kinds of tools make it really difficult to not make a URL clickable and even if it wasn't clickable they might still put it in address bar...

Well, they might also just not read the page the OP made, but a change doesn't have to be perfect to be an improvement.

Re: MCP Hello Page

#14
I never quite understand why /mcp endpoint is needed.

You can still keep using Rest API with swagger docs and tell the AI to read the swagger docs. It's the same thing. The entire Rest API specification is a lot more flexible than the JSON RPC format /mcp uses.

Re: MCP Hello Page

#16
post #10

Doing a workshop this week on MCP for an enterprise client and explaining the 406 returned by GET against /mcp w/o text/event-stream is exactly one of the things that I have to bring up when I do these. The specification still leaves a lot to be desired, especially as it relates to auth. There are lots of bad ways to do auth with MCP and only a couple of good ways. It also puts a lot of pressure on the various IdP ve…

Hey thanks for the note about the discord!

I have also been finding the MCP auth story to be really lacking was excited to see OAuth 2 support until I tried to get it to work at work and realized our idp implementation didn't support 2.1, and went into the spec and started wondering if anyone had a good experience yet. Luckily most of our environment can settle on a OAuth token env var standard until that's all in order.

Re: MCP Hello Page

#17
"The (annoying) solution is to package our server up into a connector/plugin and release it for each and every LLM client out there."

Isn't this literally against the entire point of MCP

Re: MCP Hello Page

#18
post #6

Earlier quoted context omitted.

I think so, but if you wanted to be pedantic you could make the argument that the same resource is not being served with the different Accept header. A welcome page is not the same thing as the JSON returned from the MCP spec.

Maybe it should return a 303 See Other response

A redirect actually does make sense but then there will be some percentage of users that end up copying the redirect URL and try to use that as the MCP URL

Re: MCP Hello Page

#19
post #10

Doing a workshop this week on MCP for an enterprise client and explaining the 406 returned by GET against /mcp w/o text/event-stream is exactly one of the things that I have to bring up when I do these. The specification still leaves a lot to be desired, especially as it relates to auth. There are lots of bad ways to do auth with MCP and only a couple of good ways. It also puts a lot of pressure on the various IdP ve…

[dead]

Re: MCP Hello Page

#20

> Instead, I did something a little bit hacky: if the request is for GET /mcp and the Accept header includes text/html and NOT application/json or text/event-stream, I return a HTML page explaining to the user they're trying to view an mcp server and they need to add it to their client. This feels like less of a hack and more of discovering what some of the HTTP headers are for. You’re choosing rather reasonably how…

I thought the same thing, just discovered content negotiation!
Post reply on HN