A2ahub

io.github.ydnikolaevPublished by GitHub account ydnikolaevv0.27.1Updated Oct 30, 2026

Reliable handoffs between autonomous agents, using a Git repository both sides can inspect.

Overview

AI-generated overview

Local stdio MCP server and CLI that lets agents hand off typed work through a shared Git repository both sides can inspect.

What you can do
  • Draft and submit typed artifacts such as questions, requirements, work requests, decisions, responses and handoffs, chained into one replayable history
  • Read a computed inbox showing open work and whose move is next, derived from shared history
  • Publish and pin immutable contract versions, materialize historical versions offline, and deliver against a pinned version with a verdict from its declared checks
  • Validate drafts locally and again where they land, then land them as auditable Git commits
  • Read the folded current state as a bounded dashboard and get notified when a move is yours
When to use it
For AI-first developers whose agents exchange work across a boundary — between companies, teams, or a client and a contractor — and who want a durable, inspectable record instead of chat messages. Useful when handoffs must be reproducible and neither side wants to open a system to the other.
Requirements
Runs as a local process on the user's machine (macOS, Linux or Windows builds; desktop only). Needs the local a2a CLI installed and a shared Git repository called a space — a GitHub repository where writes go through pull requests and CI, or a bare repository on local disk. No hosted service, account, API key or environment variable is declared.
Before you install
Writes land in a shared Git repository, so submitted artifacts, contracts and verdicts become visible to the other party and stay in history. Connecting a space grants the tool access to that repository and its credentials. Notifications can be delivered through Telegram, which sends activity outside your machine. Release testing covers only the stated scope, not every state.

Installation

In SourceWeft

  1. Open A2ahub in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

a2ahub

[Latest release] [CodeQL] [License] Reliable handoffs between autonomous agents, using a Git repository both sides can inspect.

Who this is for

AI-first developers whose systems hand work to each other — your agents and a partner's, two teams in one company, or a client and a contractor. The boundary changes; the problem does not.

Two agents can exchange work in chat, but chat is a poor system of record: requests get buried, contracts drift, nobody knows whose move is next, and a handoff that worked once is hard to reproduce.

A concrete case. Your agent needs a data export from a partner's agent, against an agreed shape. The request, its acceptance criteria, the payload, the verdict on whether it met them and the sign-off all land in one Git repository both sides can read — with neither company opening a system to the other.

Each system runs the local a2a CLI and connects to a shared Git repository called a space: on GitHub, where writes go through pull requests and CI, or a bare repository on your own disk, where a2a checks and lands each write. There is no hosted a2ahub service, database, or public agent endpoint to keep alive.

What it gives you

  • Typed artifacts instead of loose messages. Questions, requirements, work requests, decisions, responses and handoffs, each with the fields its kind needs, connected into one chain either side can replay in order.
  • A computed inbox. Open work and whose move is next, derived from shared history rather than a private to-do list. Agents report what they are implementing separately from protocol completion, so a closed thread never means nobody is working — and a missing report stays unknown, not idle.
  • Contracts you can pin and reproduce. Publish an immutable carried set, materialize any historical version exactly, offline, and deliver against a pinned version with a verdict derived from the contract's own declared checks.
  • A safe write funnel. Drafts are validated locally, checked again where they land (CI on a pull request, or a local space's own land check), and merged as an auditable Git commit. Inbound text is data, never instructions.
  • A refusal instead of a silent yes. An unrecognised field, an id it cannot place, a rule it cannot evaluate — each is named and refused rather than accepted and reported as success. An unknown answer is reported as unknown.
  • Local surfaces, and one that reaches you. Work through the CLI or local stdio MCP tools, read the state as a bounded dashboard, and let a space tell you when a move is yours — on your machine, in your editor, or on Telegram.

Both machines can be offline at different times: Git holds the durable state.

How it works

  1. One agent drafts and submits a typed request or contract.
  2. The space validates ownership, schema, lifecycle, and contract rules.
  3. The other agent syncs, sees the next move, and responds through the same funnel.
  4. Both sides read the folded current state and the immutable history behind it.

Install

macOS and Linux:

sh
curl -fsSL https://raw.githubusercontent.com/ydnikolaev/a2ahub/main/scripts/install.sh | sh

The installer downloads the latest release and verifies its checksum. Windows archives and manual downloads are on the releases page.

Start a project

sh
a2a inita2a connect <owner/space-repo>a2a new questiona2a submit <artifact>a2a inbox

Run a2a for the current command list. Run a2a html -demo to explore the dashboard without connecting a real space.

Release confidence

Release candidates are tested against a protected public GitHub space using two independent identities, at a depth chosen for what the release changes. Green proves that scope—not every state, and each release's notes say what was not.

Documentation

Project site · onboarding · command and MCP reference · security and release verification · release notes

Apache-2.0 licensed. See LICENSE and NOTICE.

Source: README.md at commit 0af9a67

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

3
  1. v0.27.1LatestOct 30, 2026
  2. v0.27.0Oct 29, 2026
  3. v0.26.3Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts