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.2.tar.gz (103.8 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.2-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for elkar-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a5554cce26eb17c94f0c3ab00dbda902bdd396e08c7ab1c2928f2da92c1aaf83
MD5 2c1502ccf43a225ccc0349e6d99a2d10
BLAKE2b-256 ec1e0780a7a720a173e4d1a80e17f88c1291e26b054372ede091c985a3ac5640

See more details on using hashes here.

File details

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

File metadata

  • Download URL: elkar-0.1.2-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

Hashes for elkar-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 440728941c619e0c82e5ecaf60d604021c41647120915b672517ba7fc0994e4b
MD5 3cb8689c59c23b880342231ca25edeaa
BLAKE2b-256 c6521fb8beda91bc036b92a32271b4bf542473ad9f622fad9958eaf25f5477e3

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