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

4-Pane iTerm2 Setup for Claude Code CLI Separates AI Roles
A developer built a four-pane iTerm2 terminal setup specifically for Claude Code CLI to address context drift and self-grading bias. Each pane is locked to a specific role with dedicated models and permissions.

certctl: Self-hosted certificate lifecycle platform with 78 API endpoints for AI agent automation
certctl is a self-hosted certificate lifecycle platform built with Go and TypeScript that exposes 78 REST API endpoints for certificate management. The platform is issuer-agnostic and target-agnostic, with an MCP server planned to expose all functionality as native MCP tools.

Kstack: Skill Pack for Claude Code to Monitor and Troubleshoot Kubernetes
Kstack is an open-source skill pack that adds slash commands like /investigate, /audit-security, and /cluster-status to Claude Code (and other AI agents) for monitoring and troubleshooting K8s clusters. It uses kubectl, Kubetail, Trivy, and Pluto behind the scenes.

nah: A context-aware permission guard for Claude Code
nah is a PreToolUse hook that intercepts every tool call in Claude Code, classifying commands by action type like filesystem_read or git_history_rewrite and applying policies based on context. It runs a deterministic classifier in milliseconds with optional LLM escalation for ambiguous cases.