Professional notes by Craig Johnston
long-form, short-form, working drafts · since 2008
long-form, short-form, working drafts · since 2008
VOL. XIX · MMXXVI
126 NOTES IN PRINT
126 NOTES IN PRINT
Tag: JSON-RPC
CV
A Complete MCP Server and Client in Go
One server that uses every primitive, runs over both transports, sits behind auth, and is tested end to end, with one annotated trace through all of it
2026-06-08
XCIXProgress, Cancellation, Ping, Pagination, and _meta
The plumbing every MCP primitive shares: how a long call reports progress, how either side cancels one, how a connection is checked, how a list is paged
2026-05-29
LXXXVIThe Handshake: initialize, Capabilities, and Version Negotiation
The one exchange that must happen before any other MCP method is legal, hand-rolled in Go against a real server
2026-05-07
LXXXVJSON-RPC 2.0: The Grammar Underneath MCP
Three message shapes, one error object, and a hundred and fifty lines of Go that every MCP transport is built on
2026-05-05
LXXXIIIWhy Read the Wire When the SDK Hides It
Drive a real Go MCP server with four lines of JSON and watch the protocol the SDK keeps out of sight
2026-05-01