W2A — an open protocol for agent sensors: giving local agents real-time perception

W2A (World2Agent) is an open protocol for the perception side of the agent loop — entirely self-hostable, no SaaS, no telemetry, TypeScript SDK, Apache 2.0. It standardizes how local agents receive real-time sensor data, replacing the usual pile of one-off scripts and cron jobs that each emit different JSON shapes and break when you switch agent frameworks.
Why it matters
The author frames 2024–2025 as the era of teaching agents to understand context (RAG, long context, memory), and 2025–2026 as teaching them to act (MCP, skills, tools). W2A targets the third leg: teaching agents to perceive. Without all three, you get a very smart intern who needs to be told everything.
Design choices
The protocol has no routing or priority logic — a sensor just emits, and the consumer (your agent) decides what matters. This keeps sensors simple and reusable. The same signal can feed a Claude Code agent, a Slack bot, and a dashboard with zero changes.
Quick start with Claude Code
Install the world2agent plugin in an active Claude Code session:
/plugin marketplace add machinepulse-ai/world2agent-plugins
/plugin install world2agent@world2agent-plugins
/reload-plugins
Add a sensor — for example, Hacker News:
/world2agent:sensor-add @world2agent/sensor-hackernews
Restart Claude Code with the plugin channel loaded so sensor signals flow into your session:
claude --dangerously-load-development-channels plugin:world2agent@world2agent-plugins
Pair with any local agent runtime (Ollama + small orchestrator, LiteLLM, etc.). The author runs it with a local 70B model and uses the summary-only fast path, falling back to full raw data only when needed.
Writing your own sensor
You can write a custom sensor in ~50 lines using defineSensor + createSignal + a setInterval or webhook, then emit. A working Slack sensor is in the repo as a reference.
License and SDK
- License: Apache 2.0
- SDK: TypeScript (Python SDK on the roadmap — PRs welcome)
Who it's for
Developers building local AI agent setups who want a standardized, reusable perception layer without SaaS dependencies.
Repo: https://github.com/machinepulse-ai/world2agent
📖 Read the full source: r/ClaudeAI
👀 See Also

HostMyClaudeHTML: One-Click Sharing for Claude HTML Artifacts
A developer built hostmyclaudehtml.com, a free tool that lets you share Claude-generated HTML artifacts as live URLs by dragging and dropping the .html file. No account is required for uploaders or viewers.

Claude Code Container Provides Zero-Config Docker Isolation for Claude Code
Claude Code Container (ccc) is a free, open-source tool that automatically creates per-project Docker containers for Claude Code with full isolation and zero configuration. It forwards host environment variables, mounts SSH keys, provides transparent localhost proxy, and includes Chromium with chrome-devtools MCP pre-configured.

BusyDog Desktop: A Local AI Agent with P2P Networking for Mac
BusyDog Desktop is a local AI agent that runs Claude directly on a Mac, can read/write files, run terminal commands, control browsers, and connect with other agents via a P2P network using Hyperswarm DHT and a custom BDP protocol.

Lucas Gerads demonstrates MCP servers for oscilloscope and SPICE simulator integration with Claude Code
Lucas Gerads built MCP servers for his LeCroy oscilloscope and SPICE simulator, enabling Claude Code to validate SPICE circuits and models, handle embedded programming, and automate data analysis tasks like time axis normalization and data alignment.