Context is an open standard for sending selected, visible, semantic, and user-marked web context to AI agents.
It defines a small, versioned packet format that can be produced by websites, browser extensions, local tools, or app runtimes, then transported through MCP, HTTP, postMessage, SDK calls, or storage systems.
The goal is simple:
Let users point AI agents at exactly what they mean on the web.
AI chat and agent systems often know the user's message but not the user's screen. Existing integrations usually rely on proprietary browser context, page scraping, or app-specific glue code.
Context provides a neutral packet format for:
- selected text
- focused or clicked UI elements
- visible viewport context
- full-page context
- semantic app-provided metadata
- rectangle, circle, and lasso selections
- screenshot crops and visual regions
- privacy, consent, and provenance metadata
askable-ui is a reference implementation and producer of Context packets.
This repo is the standard/spec home. Implementations do not need to use askable-ui to produce valid packets.
Reference packages:
@askable-ui/context: TypeScript types, schema, packet helpers@askable-ui/core: UI observation and packet production@askable-ui/mcp: MCP bridge for exposing Context packets to agents
The current packet version is 0.1.
This is an early specification. The envelope and required privacy/provenance fields are intended to stabilize first; gesture, screenshot, and browser-extension affordances will evolve through RFCs.
{
"protocol": "askable.context",
"version": "0.1",
"source": {
"url": "https://example.com/dashboard",
"title": "Revenue Dashboard",
"timestamp": "2026-05-31T00:00:00.000Z"
},
"capture": {
"mode": "element-focus",
"gesture": "click"
},
"target": {
"text": "Revenue $2.3M",
"metadata": {
"metric": "revenue",
"value": "$2.3M"
}
},
"privacy": {
"redacted": false,
"consent": "implicit"
},
"provenance": {
"producer": "@askable-ui/core",
"method": "app"
}
}MIT