smithery.ai

ag-ui-protocol

AG-UI (Agent-User Interaction) protocol reference for building AI agent frontends.

First seen Mar 22, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • AG-UI (Agent-User Interaction) protocol reference for building AI agent frontends.
  • Use when implementing AG-UI events (RUN_STARTED, TEXT_MESSAGE_*, TOOL_CALL_*, STATE_*), building agents that communicate with frontends, implementing streaming responses, state management with snapshots/deltas, tool call lifecycles, or debugging AG-UI event flows.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Grep, Glob, Edit, Bash

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,513 B
  • docs SUMMARY.md 369 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

AG-UI Protocol

The Agent-User Interaction (AG-UI) Protocol is an open, lightweight, event-based protocol that standardizes how AI agents connect to user-facing applications.

When to Use This Skill

Use this skill when:

  • Implementing AG-UI protocol events in your code
  • Building agents that communicate with frontends via AG-UI
  • Understanding the event types and their structure
  • Implementing state management, tool calls, or message streaming
  • Debugging AG-UI event flows

Documentation

See the docs/2025-11-27/ directory for complete AG-UI protocol documentation:

  • introduction.md - Protocol overview and integrations
  • concepts/architecture.md - Core architecture and design
  • concepts/events.md - Event types and patterns
  • concepts/messages.md - Message structure and types
  • concepts/state.md - State management and synchronization
  • concepts/tools.md - Tool definitions and lifecycle
  • concepts/agents.md - Agent implementation
  • concepts/middleware.md - Middleware patterns
  • concepts/serialization.md - Event serialization and compaction
  • quickstart/introduction.md - Getting started guide
  • quickstart/server.md - Server implementation
  • quickstart/clients.md - Client implementation

Quick Reference

Event Types

enum EventType {
  // Lifecycle
  RUN_STARTED = "RUN_STARTED",
  RUN_FINISHED = "RUN_FINISHED",
  RUN_ERROR = "RUN_ERROR",
  STEP_STARTED = "STEP_STARTED",
  STEP_FINISHED = "STEP_FINISHED",

  // Text Messages
  TEXT_MESSAGE_START = "TEXT_MESSAGE_START",
  TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT",
  TEXT_MESSAGE_END = "TEXT_MESSAGE_END",

  // Tool Calls
  TOOL_CALL_START = "TOOL_CALL_START",
  TOOL_CALL_ARGS = "TOOL_CALL_ARGS",
  TOOL_CALL_END = "TOOL_CALL_END",

  // State
  STATE_SNAPSHOT = "STATE_SNAPSHOT",
  STATE_DELTA = "STATE_DELTA",
  MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT",

  // Custom
  RAW = "RAW",
  CUSTOM = "CUSTOM",
}

Event Patterns

  1. Start-Content-End: Streams content incrementally (text, tool arguments)
  2. Snapshot-Delta: State synchronization using complete snapshots + JSON Patch updates
  3. Lifecycle: Run monitoring with mandatory start/end events

Message Roles

  • user - User messages (text and multimodal)
  • assistant - AI responses (text and tool calls)
  • system - Instructions or context
  • tool - Tool execution results
  • activity - Progress updates
  • developer - Internal debugging

Tool Definition Structure

interface Tool {
  name: string;           // Unique identifier
  description: string;    // Purpose explanation
  parameters: JSONSchema; // Accepted arguments
}

Tool Call Lifecycle

  1. TOOLCALLSTART - Initiates with unique ID
  2. TOOLCALLARGS - Streams JSON arguments
  3. TOOLCALLEND - Marks completion

State Synchronization

  • STATE_SNAPSHOT - Complete state replacement
  • STATE_DELTA - Incremental JSON Patch (RFC 6902) updates

Source

Documentation downloaded from: https://github.com/ag-ui-protocol/ag-ui/tree/main/docs