Explainers, guides and news on AI, written to be understood.
Featured
Welcome to Skuadnet: AI, Made Simple
What Skuadnet is, who it's for, and how to get the most out of the site and app.
Latest
State in StreamableHTTP MCP: stateless_http, json_response
StreamableHTTP MCP in Depth: Session IDs and SSE
The StreamableHTTP Transport in MCP: Remote Servers, Limits
The STDIO Transport in MCP: Two-Way Talk on One Machine
JSON Message Types in MCP: Requests, Results, Notifications
MCP Review: When to Use Tools, Resources or Prompts?
Roots in MCP: Limit File Access for MCP Servers
Using MCP Prompts in the Client: list_prompts, get_prompt
Log and Progress Notifications in MCP: Show Tool Progress
Defining Prompts in an MCP Server: Tested Templates
Sampling in MCP: Let the Client Call Claude
Accessing MCP Resources From the Client: read_resource
State in StreamableHTTP MCP: stateless_http, json_response
Scaling an MCP server behind a load balancer? Learn why stateless_http is needed, what you lose when it is on, and when to use json_response.
StreamableHTTP MCP in Depth: Session IDs and SSE
How does StreamableHTTP let a server message the client? Learn session IDs, Server-Sent Events, and the two-SSE-connection model during a tool call.
The StreamableHTTP Transport in MCP: Remote Servers, Limits
StreamableHTTP lets MCP servers be hosted remotely. Learn the HTTP challenges, the affected messages, and two settings that can break your server's features.
The STDIO Transport in MCP: Two-Way Talk on One Machine
STDIO is the most common MCP transport during development. Learn how it uses stdin and stdout, the startup handshake, and 4 communication scenarios.
JSON Message Types in MCP: Requests, Results, Notifications
MCP clients and servers exchange JSON messages. Learn request-result pairs, one-way notifications, and why message direction matters for transports.
MCP Review: When to Use Tools, Resources or Prompts?
Tools are model-controlled, resources are app-controlled, prompts are user-controlled. A recap of the 3 MCP primitives and how to pick the right one.
Roots in MCP: Limit File Access for MCP Servers
Roots give an MCP server access to specific folders only, so Claude can find files without full paths. Learn how they work and how to implement them.
Using MCP Prompts in the Client: list_prompts, get_prompt
The final step in building an MCP client: add list_prompts and get_prompt, understand argument interpolation, and test the /format command in the CLI.
Log and Progress Notifications in MCP: Show Tool Progress
Slow tools leave users guessing. Learn to send logs and progress from an MCP server with context.info and context.report_progress.
Defining Prompts in an MCP Server: Tested Templates
An MCP server can provide ready-made, tested prompts. Learn why prompts are useful and how to define a document formatting prompt with @mcp.prompt.
Sampling in MCP: Let the Client Call Claude
Sampling lets an MCP server use Claude through the client, so the server needs no API key of its own. Learn how it works and when it is a good fit.
Accessing MCP Resources From the Client: read_resource
Build the read_resource function in an MCP client, understand the response structure and MIME types, and test the @ feature that injects documents.