Tag: Protocol

21 NOTES
147

Sessions Left the Protocol. Put the Handle in the Argument.

platform_info mints dps_…; the model threads it. Go SDK v1.7.0, MCP 2026-07-28.
MCPGOAGENTSPROTOCOL
2026-08-28
105

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
MCPGOPROTOCOLAI
2026-06-08
103

Tasks: Durable, Async Tool Calls

The experimental 2025-11-25 primitive that turns a request into call-now-fetch-later, hand-rolled on the wire because the SDK has not caught up
MCPGOPROTOCOLTASKS
2026-06-06
102

Security: Tool Poisoning, Prompt Injection, and the Trust Boundary

A server's words flow straight into the model's context. The anatomy of how that becomes an attack, and where the host has to stand to stop it
MCPGOPROTOCOLSECURITY
2026-06-04
101

Authorization: OAuth 2.1 for HTTP MCP Servers

How a remote server proves who is calling: the discovery chain, resource indicators that bind a token to one server, and the passthrough ban that stops a confused deputy
MCPGOPROTOCOLOAUTH
2026-06-02
100

Logging and the Notification Family

Structured server logs filtered by severity, and the list_changed notifications that keep a client's view of a server from going stale
MCPGOPROTOCOLLOGGING
2026-05-31
99

Progress, 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
MCPGOPROTOCOLAI
2026-05-29
98

Elicitation: When the Server Needs to Ask the User

The server asks a person for input mid-task, with a flat form for ordinary data and a URL handoff for the secrets a form must never touch
MCPGOPROTOCOLELICITATION
2026-05-27
97

Roots: Telling the Server Where It May Look

The client hands the server a list of directories it is allowed to use, a boundary the server asks for and the client defines and enforces
MCPGOPROTOCOLROOTS
2026-05-25
95

Sampling: When the Server Calls Your Model Back

The protocol inverts. A server asks the client to run the host's model, with no API key of its own and a human able to deny every request
MCPGOPROTOCOLSAMPLING
2026-05-23
94

Completion: Argument Autocomplete for Prompts and Resources

One method that suggests values as a user fills in an argument, and the context field that scopes those suggestions to what is already filled
MCPGOPROTOCOLCOMPLETION
2026-05-21
93

Prompts: Server-Authored Conversation Starters

The third server primitive and the one people misread: templates the user selects, rendered into messages that can embed a server's own resources
MCPGOPROTOCOLPROMPTS
2026-05-19
92

Resources: list, read, templates, and subscriptions

The primitive for data the model reads, the counterpart to tools, with URI templates for whole families and live notifications when something changes
MCPGOPROTOCOLRESOURCES
2026-05-17
91

Tools, Part 2: Calling, Content Types, and Structured Output

Every shape a tool result can take: the five content types, structured output validated against a schema, and the difference between a failed tool and a failed protocol
MCPGOPROTOCOLTOOLS
2026-05-15
90

Tools, Part 1: Discovery and the inputSchema Contract

What the model actually receives when it lists a server's tools, how the schema is built from a Go type, and why a tool's annotations cannot be trusted
MCPGOPROTOCOLTOOLS
2026-05-13
89

Transport II, Streamable HTTP: One Endpoint, Two Directions

A single HTTP path carries the protocol. In 2025-11-25 a session id is optional. In 2026-07-28 it is gone.
MCPGOPROTOCOLHTTP
2026-05-11
88

Transport I, stdio: Two Pipes and a Subprocess

The simplest MCP transport, built by hand on both sides with no SDK, plus the stderr rule that silently breaks servers
MCPGOPROTOCOLSTDIO
2026-05-09
86

The Handshake: initialize, Capabilities, and Version Negotiation

The 2025-11-25 initialize exchange, hand-rolled in Go against a real server. Later revisions dropped it from the protocol core.
MCPGOPROTOCOLJSON-RPC
2026-05-07
85

JSON-RPC 2.0: What Every MCP Message Looks Like

Three message shapes, one error object, and a hundred and fifty lines of Go that every MCP transport is built on
MCPGOPROTOCOLJSON-RPC
2026-05-05
84

MCP Is a Protocol, Not a REST API

The same tool built both ways: what discovery, schemas, and the callback direction actually cost
MCPGOAIPROTOCOL
2026-05-03
83

Drive an MCP Server With Four JSON Messages

The Go SDK never prints the protocol. This post does.
MCPGOAIPROTOCOL
2026-05-01