Notifications Keep Agents in Sync with Server Changes

▶ Watch (4:35)

Joey toggled the emergency alert tool while notifications were enabled. Claude received a tools_list_changed notification and stopped calling the removed tool. When Joey turned notifications off and disabled the tool again, Claude tried to call it and failed silently. Subscriptions, a related feature, let agents listen for resource changes. Joey subscribed to reaction updates but the demo broke. The principle holds: without notifications, agents operate on stale information.

Resources Provide Read-Only Data Without Tool Calls

▶ Watch (8:26)

Resources give agents read-only access to server data. Claude read the audience summary resource and reported 27 fire emojis and nine skull emojis. When Joey disabled resources, Claude attempted to read again and failed. Resources differ from tools; they deliver state without requiring a function call. Implementation varies across clients. Open Code, for example, does not support resources at all.

Prompts Equip Agents with Contextual Skills

▶ Watch (10:18)

Prompts act as reusable skill templates. Joey had two prompts: expert co-speaker and chaos mode. Switching to chaos mode made Claude respond with dramatic statements: “Everything is on fire and I have never been more alive.” Disabling prompts and calling the expert co-speaker prompt returned an empty string because the Go SDK defaults to a blank response. Claude retained prior context and reverted to a calm persona anyway.

Tools and Logging Form the Core of MCP Servers

▶ Watch (13:00)

Tools are the primary way agents take actions. Joey disabled all tools; Claude tried to call a tool and failed. Logging is equally critical. MCP communicates over STDIO or HTTPS, so standard console logs do not appear. Joey turned off logging, and the server produced no output. Maintainers could not see any errors. Without custom logging, server behavior is invisible.

Q&A

Will you open source this demo? Joey might eventually, but the code contains bad practices he does not want to share. ▶ Watch (20:07)

What does STDIO mean in MCP? Standard input/output – a reminder that MCP’s transport layer is just bytes on a pipe. ▶ Watch (20:51)

What tools are available after the demo? Highlighting, unhighlighting, emergency alerts, getting events and questions, and summaries. ▶ Watch (21:42)

Notable Quotes

Everything is on fire and I have never been more alive in my entire existence. Joey Stout (via Claude) · ▶ Watch (10:41)

The vibes are chaotic, and I respect it. Joey Stout (via Claude) · ▶ Watch (8:52)

That’s what happens when MCP gives and takes away, and gives back again. Joey Stout · ▶ Watch (6:53)

MCP has six components, not just tools. Some failures are loud, some are silent, and some even lie. Joey Stout · ▶ Watch (18:07)

Key Takeaways

  • Implement all six MCP components, not just tools.
  • Notifications prevent silent failures by keeping agents informed.
  • Logging is mandatory because STDIO transports hide standard output.

About the Speaker

Joey Stout is a Solutions Architect at Spacelift.io, CKA-certified, and creator of manifests.io. He specializes in Kubernetes, OpenTofu, and GitOps and goes by The Outdoor Programmer.