Skip to main content

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

  1. 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

  1. Install dependencies
cd a2a-client
npm install
  1. Start the development server
npm run dev
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elkar-0.1.6.tar.gz (100.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elkar-0.1.6-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file elkar-0.1.6.tar.gz.

File metadata

  • Download URL: elkar-0.1.6.tar.gz
  • Upload date:
  • Size: 100.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.16

File hashes

Hashes for elkar-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f10c5de9e6941ce961580aea97010f8ad6099daa633c53cd423da02a711902b2
MD5 b328518d8c92cb0bd483a06b0ae439e8
BLAKE2b-256 db4f0177f3bec0b5c63fd47cb62c47eb87986eb1aa2a88074d826d7e272fcdc8

See more details on using hashes here.

File details

Details for the file elkar-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: elkar-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.16

File hashes

Hashes for elkar-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1553913cf2500c7a4e1c89d1ac8e9c00b63b74f42e15fa72e147844b3ea3647a
MD5 390536fe7b315ca57d9bc9d165e849b3
BLAKE2b-256 84408fe6875cfe6215ba4c0977d9c3fb4f801500a2db2a7438a337a513c7efc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page