Tag: Go
148
REST APIs for Agents
Index the OpenAPI document. Search across catalogs. Then call one operation.
2026-08-30
147Sessions 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.
2026-08-28
146Don't Ingest the CSV. Point Hive at It.
Hive still maps a table name to a directory of files
2026-08-26
145Don't Sandbox Python. Embed Starlark.
starlark-go in a Go server: FileOptions, host bindings, and a cancel watchdog
2026-08-24
144God Packages and Other Slow Failures
Structural ratchets for AI-assisted Go, six months into make verify
2026-08-22
136Event-Driven Object Processing: Bucket Events to Jobs
Object storage that triggers work, a self-hosted answer to S3 plus Lambda on your own cluster
2026-08-02
115When Your Tools Lie to the Agent
I drove my own platform as a real client and told it to find every place a tool said one thing and did another. A case study in MCP SDLC.
2026-06-28
111Steering Agents Without Caging Them
Steering agents from the server middleware instead of the tool descriptions.
2026-06-24
109One Process, Many MCP Servers
Compose mcp-trino, mcp-datahub, and mcp-s3 as Go libraries behind one endpoint, instead of running three servers that can't see each other.
2026-06-22
107Why I Build MCP Servers in Go, Not Python
An MCP server faces an agent on both sides. Go lets me leash the agent that writes it and harden the contract the agent reads.
2026-06-19
105A 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
103Tasks: 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
2026-06-06
102Security: 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
2026-06-04
101Authorization: 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
2026-06-02
100Logging 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
2026-05-31
99Progress, 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
98Elicitation: 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
2026-05-27
97Roots: 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
2026-05-25
95Sampling: 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
2026-05-23
96The Embedding Pipeline on Postgres and Ollama
Vector Search Without the Vector Database, Part 2
2026-05-23
94Completion: 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
2026-05-21
93Prompts: 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
2026-05-19
92Resources: 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
2026-05-17
91Tools, 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
2026-05-15
90Tools, 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
2026-05-13
89Transport 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.
2026-05-11
88Transport 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
2026-05-09
86The 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.
2026-05-07
85JSON-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
2026-05-05
84MCP Is a Protocol, Not a REST API
The same tool built both ways: what discovery, schemas, and the callback direction actually cost
2026-05-03