TL;DR — 7/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)
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
First install compiles Rust deps once — one-time wait; then you’re done.
Step 2 — Run stdio (default)
mcp-better
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
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
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)
- Spec: MCP 2026-07-28
- Changelog: Key changes
- Textbook: github.com/Wolfe-Jam/mcp-better
- Ship note: faf.one/blog/mcp-better
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)