LangChain-native equivalent of Google ADK's RemoteA2aAgent — invoke remote A2A agents as LangChain Runnables and tools
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"langchain-remote-a2a-agent","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# langchain-remote-a2a-agent [](https://pypi.org/project/langchain-remote-a2a-agent/) [](LICENSE) [](pyproject.toml) LangChain-native equivalent of Google ADK's `RemoteA2aAgent`. Wraps any [Agent2Agent (A2A)](https://a2a-protocol.org/) protocol server as a LangChain [`Runnable`](https://python.langchain.com/docs/concepts/runnables/), so a remote agent can be `.invoke()`d, `.astream()`ed, dropped into a `create_agent`/LangGraph pipeline as a node, or exposed to another agent as a callable tool via `.as_tool()` — the same interface you'd use for any local LangChain component. This is useful when the agent doing the actual work runs as a separate service (different language, different team, different deployment) and you want to compose it into a LangChain-orchestrated system without hand-rolling the A2A JSON-RPC/SSE client plumbing yourself. ## Install ```bash pip install langchain-remote-a2a-agent ``` Requires Python 3.11+. Ships a `py.typed` marker — type checkers (mypy, Pyright) and IDE autocomplete/hover (VS Code + Pylance) pick up the inline type hints and docstrings automatically once installed. ## Quickstart ```python from langchain_remote_a2a_agent import RemoteAgent research = RemoteAgent( name="research", description="Research agent", agent_card_url="http://localhost:8001/.well-known/agent-card.json", ) result = research.invoke("What is the boiling point of nitrogen?") print(result["messages"][-1].content) ``` ## Multi-turn conversations Pass a `thread_id` to resume the same server-side A2A context across calls: ```python from langchain_core.runnables import RunnableConfig config = RunnableConfig(configurable={"thread_id": "user-42"}) result1 = research.invoke("Tell me about black holes.", config) result2 = research.invoke("How do they emit Hawki…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.