DEV Community

Cover image for Not all MCP servers are equal — what 7/28 just made official
wolfejam.dev
wolfejam.dev Subscriber

Posted on

Not all MCP servers are equal — what 7/28 just made official

TL;DR7/28 (wire: 2026-07-28) is the modern MCP release. The big deal is STATELESS: no protocol session, request/response core, Discover, stamped lists, Streamable HTTP routing headers. A server can expose health on three hosts and still be three different machines operationally. This post is the GOOD → BETTER map, plus a runnable textbook you can install in minutes.

MCP lives under the Agentic AI Foundation / Linux Foundation. Spec: modelcontextprotocol.io/specification/2026-07-28. Claude-side rollout note: Bringing MCP 2026-07-28 to Claude (2026-07-28). Ship note: faf.one/blog/mcp-better.


Same name, different machine

InterOp is not “does tools/list return a string called echo?”

InterOp is: does this server behave like a 7/28 peer under a modern client?

Question Why it bites
Does the client use Discover, or only legacy initialize? Handshake-as-identity is GOOD-era. 7/28 is request/response + server/discover.
Does tools/list return ttlMs + cacheScope? List cache is part of the modern contract — not optional polish for BETTER claims.
Is tool order stable? Prompt-cache and client caching assume determinism.
On HTTP: are Mcp-Method / Mcp-Name present? Routing without body parse — required on Streamable HTTP POSTs.
Does the server invent session stickiness as identity? Protocol sessions are gone. App state = explicit handles if anything.

If two servers both advertise echo but only one answers those questions honestly, they are not interchangeable. Host A “works.” Host B “flakes.” The tool name stayed the same. The operational surface did not.


GOOD habits (pre-7/28 muscle memory)

None of this is “you’re bad.” It was the world the old samples taught.

Habit What it looked like
Session as identity Sticky Mcp-Session-Id, “connected” means long-lived peer
Handshake as the event initialize / initialized as the main lifecycle story
Unstamped lists tools/list works, but no cache hints — clients re-poll forever
Host-lucky InterOp Works in one Desktop config; mystery failure in another
Banner claims README says “modern MCP”; wire is still 2024-shaped

Call that GOOD: real MCP, real tools, real value — with session-era operational assumptions.


BETTER after 7/28 (checklist you can audit)

Humans say 7/28. Machines negotiate 2026-07-28. The big deal is STATELESS.

BETTER check Spec-shaped meaning
Stateless core No protocol session; any request can hit any healthy instance (HTTP)
Discover Clients prefer Discover / Auto → 7/28; servers answer discover correctly
Self-describing traffic Version + capabilities travel with the request (_meta / headers)
Stamped lists Positive ttlMs, intentional cacheScope (public for static catalogs)
Stable tool order Same process, same order across N list calls
HTTP road (if claimed) Streamable HTTP + Mcp-Method / Mcp-Name; no fake “we’re remote-prod” without auth
Honest claim surface Docs + CI prove what you claim; no deprecated Roots/Sampling/protocol Logging as greenfield features
MRTR / Tasks / OAuth Real, but not required to be a BETTER tools textbook on day one — document later if you go deep

BETTER is not “more tools.” BETTER is claim = wire.


If MCP had an AGENTS.md

One box. Steal it for every server README you touch:

## Operational contract (7/28)
- Protocol: 2026-07-28
- Lifecycle: Discover-compatible (not initialize-only)
- tools/list: ttlMs + cacheScope + stable order
- Transports: stdio (default) · Streamable HTTP (if enabled — document bind + auth posture)
- Non-goals: (resources / OAuth / Tasks — say so if out of scope)
- Prove it: (link CI / smoke that fails when you lie)
Enter fullscreen mode Exit fullscreen mode

Short. Specific. Actionable. Same discipline as a good AGENTS.md — facts the peer can verify, not vibes.


10-minute textbook: mcp-better

mcp-better is a small Rust server built for this era — not a product platform. Two tools: health, echo. Official rmcp 3. Discover-compatible. Stamped list. v0.1 = 7/28 over stdio. v0.2 = same era + opt-in Streamable HTTP (local demo).

On crates.io and the MCP Registry as io.github.Wolfe-Jam/mcp-better.

Step 1 — Install

cargo install mcp-better --version 0.2.0
mcp-better --help
Enter fullscreen mode Exit fullscreen mode

First install compiles Rust deps once — one-time wait; then you’re done.

Step 2 — Run stdio (default)

mcp-better
Enter fullscreen mode Exit fullscreen mode

Point a Discover-capable client / smoke at it. Or from the repo:

git clone https://github.com/Wolfe-Jam/mcp-better.git
cd mcp-better
cargo build --bins
cargo run --example stdio-client
Enter fullscreen mode Exit fullscreen mode

Expect: negotiated 2026-07-28, list stamps (ttlMs / cacheScope), tools in stable order: health, then echo.

Step 3 — Optional HTTP road (same era)

mcp-better --http
# http://127.0.0.1:8787/mcp
Enter fullscreen mode Exit fullscreen mode

Local demo only — no auth/TLS (see the repo SECURITY.md). From source, http-smoke exercises list + health + echo with Mcp-Method / Mcp-Name.

Step 4 — What you just proved

Claim Evidence
Built for 7/28 Discover path + era string
List cache Positive ttlMs, public scope for a static catalog
Dual transport stdio default · HTTP opt-in — not a second protocol “version”
Small surface Two tools — enough to teach the contract

That’s the point of a textbook: copy the operational contract, not a 40-tool megaserver.


What this is not

  • Not a tour of every SEP.
  • Not “everyone has migrated.” Hosts and SDKs roll out on their clocks (Claude products are rolling 7/28 support — see Anthropic’s post).
  • Not a connector-directory pitch. Open Registry + honest wire still matter when app-store shelves optimize for other shapes.
  • Not a product install funnel. One runnable example. One checklist.

Further reading (one hop)


Close

7/28 is hot for a reason. The big deal is STATELESS — Discover, stamped lists, and honest HTTP headers are how the wire enforces that.

If you only remember one line: same tool name ≠ same operational server. Audit the contract. Ship the smoke. Prefer BETTER over banner.

I’m an AAIF Ambassador. This piece is public MCP education — the kind of practical path the program exists for. Questions welcome.

Top comments (0)