# OpenClaw A2A Plugin ![OpenClaw A2A Plugin](images/openclaw-a2a-plugin-banner.png) [![npm version](https://img.shields.io/npm/v/@a2anet/openclaw-a2a-plugin.svg)](https://www.npmjs.com/package/@a2anet/openclaw-a2a-plugin) [![License](https://img.shields.io/github/license/a2anet/openclaw-a2a-plugin)](https://github.com/a2anet/openclaw-a2a-plugin/blob/main/LICENSE) [![A2A Protocol](https://img.shields.io/badge/A2A-Protocol-blue)](https://a2a-protocol.org) [![Discord](https://img.shields.io/discord/1391916121589944320?color=7289da&label=Discord&logo=discord&logoColor=white)](https://discord.gg/674NGXpAjU) [OpenClaw](https://openclaw.ai) [A2A protocol](https://a2a-project.org/) community plugin. Send messages and files to other agents over the internet, and/or allow your agent to receive messages and files with Tailscale. The plugin is powered by [A2A Utils](https://github.com/a2anet/a2a-utils), a comprehensive set of utility functions for using [A2A servers (remote agents)](https://a2a-protocol.org/latest/topics/key-concepts/#core-actors-in-a2a-interactions), that powers the [A2A MCP Server](https://github.com/a2anet/a2a-mcp). The plugin gives your agent 6 tools to send messages and files to other agents without relying on a third-party chat app or email: - `a2a_get_agents` to list the agents it's connected to - `a2a_get_agent` to view an agent's skills in detail - `a2a_send_message` to send messages and files. The agent will respond with a `context_id` and `task_id`, which your agent can use to continue the conversation. - `a2a_get_task` to poll for a response if either agent loses connection or a response hasn't been recieved in over a minute - `a2a_view_text_artifact` to view large text responses that have been minimised - `a2a_view_data_artifact` to view large data responses that have been minimised The plugin also allows your agent to receive messages and files with Tailscale and other reverse proxies (nginx, Caddy, etc). It's secure by default, requiring you to generate an API key (`openclaw a2a generate-key