https://github.com/oaslananka/a2amesh
AI-native TypeScript runtime and tools for A2A agent orchestration, MCP integration, registry, protocol, and CLI.
https://github.com/oaslananka/a2amesh
a2a a2a-protocol a2amesh agent-to-agent agents ai-agents cli developer-tools distributed-systems json-rpc mcp model-context-protocol multi-agent-systems nodejs orchestration registry runtime security server-sent-events typescript
Last synced: 8 days ago
JSON representation
AI-native TypeScript runtime and tools for A2A agent orchestration, MCP integration, registry, protocol, and CLI.
- Host: GitHub
- URL: https://github.com/oaslananka/a2amesh
- Owner: oaslananka
- License: other
- Created: 2026-06-28T13:12:43.000Z (18 days ago)
- Default Branch: main
- Last Pushed: 2026-07-05T16:35:16.000Z (11 days ago)
- Last Synced: 2026-07-05T18:12:30.142Z (11 days ago)
- Topics: a2a, a2a-protocol, a2amesh, agent-to-agent, agents, ai-agents, cli, developer-tools, distributed-systems, json-rpc, mcp, model-context-protocol, multi-agent-systems, nodejs, orchestration, registry, runtime, security, server-sent-events, typescript
- Language: TypeScript
- Homepage: https://oaslananka.github.io/a2amesh/
- Size: 1.84 MB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
- Support: .github/SUPPORT.md
- Governance: .github/GOVERNANCE.md
- Roadmap: docs/roadmap/open-issues-triage-2026-06-27.md
- Maintainers: MAINTAINERS.md
- Agents: .github/AGENTS.md
Awesome Lists containing this project
README
A2A Mesh
Production-grade TypeScript runtime and toolkit for Agent2Agent (A2A): agent cards, JSON-RPC tasks, registry discovery, transports, adapters, MCP bridge, and conformance fixtures.
Ask DeepWiki ·
Roadmap ·
Maturity report ·
OpenSSF evidence ·
Security assurance case
A2A Mesh is an independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol. It is not an official Google, Linux Foundation, or a2aproject package.
## Trust and Supply Chain
A2A Mesh keeps public trust evidence in [`docs/security/trust-evidence.md`](docs/security/trust-evidence.md) and release package verification evidence in [`docs/release/package-verification.md`](docs/release/package-verification.md). The README badges link to workflow-backed signals only: CI, docs, security, OpenSSF Scorecard, OpenSSF readiness, npm package metadata, license, and package-manager constraints.
## What It Provides
- A2A server runtime and client SDK for Agent Cards, JSON-RPC messages, tasks, artifacts, and status transitions.
- Registry components for local discovery and health polling.
- Adapters for OpenAI, Anthropic, LangChain, Google ADK, LlamaIndex, and CrewAI HTTP bridge flows when the optional peer dependency is installed.
- CLI commands for validation, discovery, sending messages, registry export/import, monitoring tasks, benchmarking, diagnostics, and scaffolding.
- MCP bridge, WebSocket transport, gRPC transport, and testing helper packages for repository-verified workflows.
- Runnable examples for authenticated servers, streaming, push notifications, registry tenancy, WebSocket, gRPC, MCP bridge, adapter templates, and a multi-agent registry discovery mesh.
## Install
```bash
pnpm add @a2amesh/runtime
```
PowerShell:
```powershell
pnpm add @a2amesh/runtime
```
## Quickstart
```bash
pnpm dlx @a2amesh/create-a2amesh demo
cd demo
pnpm install
pnpm run dev
```
PowerShell:
```powershell
pnpm dlx @a2amesh/create-a2amesh demo
Set-Location demo
pnpm install
pnpm run dev
```
## CLI Examples
```bash
a2amesh validate ./agent-card.json
a2amesh discover http://127.0.0.1:3000
a2amesh init demo-agent --adapter custom
a2amesh send http://127.0.0.1:3000 "hello"
a2amesh task status http://127.0.0.1:3000 task-123
a2amesh health http://127.0.0.1:3000 --timeout-ms 1000 --json
a2amesh conformance http://127.0.0.1:3000 --protocol-version 1.0 --json
a2amesh conformance-badge report.json --output badge.svg
a2amesh registry export --url http://127.0.0.1:3099 --output ./registry-export.json
a2amesh registry import --url http://127.0.0.1:3099 --input ./registry-export.json
a2amesh export-card http://127.0.0.1:3000 --output ./agent-card.json
a2amesh monitor http://127.0.0.1:3000 --cycles 3
a2amesh benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5
a2amesh release-check
a2amesh doctor --json
a2amesh replay ./task-123.cassette.jsonl
a2amesh trust sign ./agent-card.json --key ./signing-key.pem --key-id my-key --output ./agent-card.signed.json
a2amesh trust verify ./agent-card.signed.json --trusted-key my-key:./public-key.pem
```
PowerShell:
```powershell
a2amesh validate .\agent-card.json
a2amesh discover http://127.0.0.1:3000
a2amesh init demo-agent --adapter custom
a2amesh send http://127.0.0.1:3000 "hello"
a2amesh task status http://127.0.0.1:3000 task-123
a2amesh health http://127.0.0.1:3000 --timeout-ms 1000 --json
a2amesh conformance http://127.0.0.1:3000 --protocol-version 1.0 --json
a2amesh conformance-badge report.json --output badge.svg
a2amesh registry export --url http://127.0.0.1:3099 --output .\registry-export.json
a2amesh registry import --url http://127.0.0.1:3099 --input .\registry-export.json
a2amesh export-card http://127.0.0.1:3000 --output .\agent-card.json
a2amesh monitor http://127.0.0.1:3000 --cycles 3
a2amesh benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5
a2amesh release-check
a2amesh doctor --json
a2amesh replay .\task-123.cassette.jsonl
a2amesh trust sign .\agent-card.json --key .\signing-key.pem --key-id my-key --output .\agent-card.signed.json
a2amesh trust verify .\agent-card.signed.json --trusted-key my-key:.\public-key.pem
```
## Package List
| Package | Purpose |
| ------------------------- | ------------------------------------------------------------------------------------------------- |
| `@a2amesh/protocol` | Protocol types, Agent Card, Task, Message, Artifact, JSON schemas, compatibility fixtures. |
| `@a2amesh/runtime` | A2A client/server runtime, task lifecycle, streaming, push, auth hooks, storage, telemetry hooks. |
| `@a2amesh/registry` | Agent discovery, health, trust score, signed cards, registry API. |
| `@a2amesh/mcp` | Secure, auditable, approval-aware, policy-bound A2A ↔ MCP bridge. |
| `@a2amesh/cli` | CLI binary `a2amesh`. |
| `@a2amesh/create-a2amesh` | Project scaffolder. |
## A2A Protocol Compatibility
The implementation targets Agent2Agent protocol `v1.0.0`. See [Compatibility](docs/compatibility.md) for the supported Node.js, package, protocol, transport, optional peer, and deprecation policy matrix.
## Security Defaults
- Public HTTP server mode must use authentication unless it is bound to loopback.
- A2A server and registry HTTP routes apply a per-client request limit by default.
- Remote fetches and callback URLs pass SSRF policy helpers.
- CORS and WebSocket origin checks fail closed when configured.
- CLI and bridge code avoid printing full auth headers or concrete secret values.
- Release publishing is owner-triggered only and uses npm Trusted Publishing/OIDC.
## Supported Adapters And Transports
| Surface | Status | Verification |
| ------------------- | ----------------------- | -------------------------------------------------- |
| OpenAI adapter | Supported | Unit tests with fake provider objects. |
| Anthropic adapter | Supported | Unit tests with fake provider objects. |
| LangChain adapter | Supported | Unit tests with fake runnables. |
| Google ADK adapter | Supported | Unit and streaming tests. |
| LlamaIndex adapter | Supported | Unit tests with fake provider objects. |
| CrewAI HTTP bridge | Supported | Unit tests with local fetch mocks. |
| SSE streaming | Supported | Unit and integration tests. |
| WebSocket transport | Supported | Package tests. |
| gRPC transport | Kept as package surface | Build and package checks; see compatibility notes. |
| MCP bridge | Supported | Mapping tests. |
## Documentation
- [Install](docs/install.md)
- [Compatibility](docs/compatibility.md)
- [Release process](docs/release/process.md)
Docs site: [https://oaslananka.github.io/a2amesh/](https://oaslananka.github.io/a2amesh/)
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for setup, validation, and pull request guidance.
Run `pnpm run verify` before submitting changes.
## License
Apache-2.0. See [LICENSE](LICENSE).
## Repository maturity and governance
This repository is maintained as a professional open-source project. See the maturity and contribution documents for the current operating model:
- [Repository maturity report](docs/repo-maturity-report.md)
- [Contributing guide](CONTRIBUTING.md)
- [Governance](GOVERNANCE.md)
- [Maintainers](MAINTAINERS.md)
- [Roadmap](ROADMAP.md)
- [Security policy](SECURITY.md)
- [Support policy](SUPPORT.md)
- [OpenSSF evidence](docs/openssf-evidence.md)