This may be useful for anyone interested in building their own spec-compliant MCP server: https://simplescraper.io/blog/how-to-mcp.
Albeit it's a few weeks old, so already in need of an update!
Tool annotations are missing. (Are they of any use though?)
Almost no client, including Claude Dekstop, implements Sampling.
I was so excited to see if I can create a server that used sampling and quickly figured out I can't use it anywhere. Funnily Windsurf hangs forever if you use sampling.
I've been thinking about this ever since I heard that is defined in the protocol.
I think the biggest issue is that it can create loops in the flow of programs that would burn through usage quotas pretty fast. It could also allow for "impersonating" the client what opens up a lot of possibilities.
But yeah, the fact that Claude doesn't even implement this is... telling.
Yeah, that is the reason it is not there, I guess, you could then really implement anything just with a flat rate.
Yes, no sampling, last time I tried a few weeks ago. Have you tried with the latest Claude Desktop (0.10.14)?
The fact that this is an achievement is a testament to how bloated the MCP protocol/spec already is.
Will be interesting to see how many days it'll take before the implementation no longer is the latest
I don't disagree, but the first sentence of your post happens to be true for very many specs/protocols I know of and have implemented in the past. And it is not just communication protocols. Take PDF for example. The world practically runs on it, yet the file format is horrid. The real standard seems to be that standards are bloated by default.
It does not implement the Auth :)
(mcp auth is terrible btw)
I couldn’t find any great examples of MCP auth, so made this demonstrate an oauth flow recently - https://github.com/OBannon37/chatgpt-deep-research-connector...
Protocol version in the readme is Full MCP 2025-03-26 specification support
in the code it is "protocolVersion": "2024-11-05"
https://github.com/hemanth/paws-on-mcp/blob/main/src/mcp_cli...
The README is 100% just autogenerated by Claude. It looks like every README generated from these tools.
Can’t speak for the code since I haven’t peaked into it
I thought it was a bit verbose - lots of repetition. I didn't realize how extensive claude/cursor generated READMEs were.
also checkout @profullstack/mcp-server on npm
That README.md is so vibed with all the emojis and self-proofed comments. One day we’re going to look back on code written in June 2025 and laugh. The code works, but man does Claude 4 pump itself up.