The open-source protocol to send, track, and orchestrate tasks between AI agents
Project description
Elkar
The open-source protocol to send, track, and orchestrate tasks between AI agents.
No more silos. Elkar lets your agents collaborate — even across companies or tech stacks.
Website 💬 Discord Open Issues Open PRs
✨ What is Elkar?
Elkar is an open-source framework designed to coordinate multiple AI agents, even across different companies or systems.
Use it to:
- Send tasks to any agent via API
- Track long-running jobs asynchronously
- Stream workflows between agents in real-time
- Browse and manage task history for visibility
Built for developers and teams who want to orchestrate autonomous agent networks — without reinventing the wheel.
🧪 Getting Started
- Clone the repo
📦 Python Package
The Python package provides a simple implementation of the A2A protocol for building and connecting AI agents.
Basic Usage
from elkar import A2AServer, TaskManager
# Create your task manager
task_manager = TaskManager()
# Initialize the A2A server
server = A2AServer(
task_manager=task_manager,
host="0.0.0.0",
port=5000
)
# Start the server
server.start()
Features
- Full A2A protocol implementation
- Built-in task management
- Support for streaming responses
- Push notifications
- State transition history
- CORS support
- Custom authentication
🖥️ A2A Client
The A2A client is a React + TypeScript application for testing and interacting with A2A-compatible servers.
Features
- Configure server URL (authentication coming soon)
- Send messages to A2A Servers
- View task status and responses
- Get task details by ID
- Cancel tasks
- Display artifacts returned by agents
- Task management
Getting Started with the Client
- Install dependencies
cd a2a-client
npm install
- Start the development server
npm run dev
- Open your browser at
http://localhost:5173
Usage
- Configure your A2A server URL and API key
- Send tasks and messages to agents
- Monitor task status and responses
- Manage task history and artifacts
Community
Join our Discord server
Contribute
We ❤️ feedback, issues, PRs, and ideas! Open a pull request, and we'll review it as soon as possible.
If you find Elkar useful, a GitHub ⭐️ would mean a lot! It helps more people discover the project and join the journey!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elkar-0.1.1.tar.gz.
File metadata
- Download URL: elkar-0.1.1.tar.gz
- Upload date:
- Size: 90.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22e7f6d742736e74271e44417c0b16151b10bee4c66d4f09478f7b6458cdab29
|
|
| MD5 |
4ca93acd891202f0fa05ada468699ff6
|
|
| BLAKE2b-256 |
aab0d8737909f4afeb90f4e955010f37003e076fd9e6d4a985015fc200206c4e
|
File details
Details for the file elkar-0.1.1-py3-none-any.whl.
File metadata
- Download URL: elkar-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d986b3918bcbe5068335348a7b9adf697e7ec679f85275e8987e9b70aef65c0
|
|
| MD5 |
671575fd10b5fc2fe33a147d159158a3
|
|
| BLAKE2b-256 |
72cdb2dd689504c3a7f17d75e528f27a753fa065e080e694896c87dbc0ba5c8f
|