Skip to content

An open-source MCP orchestration framework for multi-agent / micro-agent in Enterprise, inspired by service mesh πŸš€

License

Notifications You must be signed in to change notification settings

epsilla-cloud/AgenticMesh

πŸš€ Epsilla AgenticMesh

Epsilla AgenticMesh is an open-source governance and orchestration framework for multi-agent and micro-agent, inspired by service mesh architecture, designed to help you build, scale, and manage powerful AI agent systems with unified communication, policy control, and observability.


🌟 Key Features

βœ… Communication Proxy
Seamlessly route messages between agents using multiple protocols (MCP, HTTP, gRPC), with built-in retries, timeouts, and prioritization.

βœ… Policy & Configuration Control
Define and enforce access, rate limits, circuit breaking, and task routing policies from a central control plane.

βœ… Observability
Gain full visibility into multi-agent interactions with tracing, metrics, dashboards, and alerting.

βœ… Scalable & Resilient
Support for load balancing, auto-scaling, failover routing, and dynamic agent registration.

βœ… Security & Identity
Mutual authentication, encrypted messaging, and fine-grained role-based access across agent systems.

βœ… Flexible Deployment
Run as sidecars, centralized proxies, or lightweight agents β€” on Kubernetes, cloud, or on-prem.


πŸ“ Architecture

AgenticMesh Architecture

Core components:

  • Communication Proxy: Message routing & protocol handling.
  • Policy & Configuration: Define control rules & dynamic updates.
  • Observability Module: Collect, visualize, and monitor agent system performance.

πŸ”§ Getting Started

1️⃣ Install

git clone https://github.com/epsilla-cloud/AgenticMesh.git
cd AgenticMesh
poetry install

2️⃣ Run Example Demo

poetry run python3 examples/demo.py

3️⃣ Launch Dashboard (Optional)

streamlit run dashboard/app.py

πŸ’‘ Example Use Cases

  • Multi-agent RAG systems for document analysis
  • Autonomous multi-agent negotiation systems
  • Large-scale agent-based simulation platforms

πŸ” Roadmap

  • βœ… Initial open-source release
  • πŸ”„ Integration with AutoGen, LangGraph, CrewAI
  • πŸ” Federated cross-org agent mesh support
  • πŸ› οΈ Visual orchestration editor for human-in-the-loop control
  • πŸ€– AI-driven policy tuning & optimization

🀝 Contributing

We welcome contributions! Please check out the CONTRIBUTING.md for details on how to get started.


πŸ“„ License

This project is licensed under the Apache 2.0 License β€” see the LICENSE file for details.


πŸ”— Links


Note: AgenticMesh is a reference implementation and experimental platform by the Epsilla team to explore next-generation agent governance patterns. We are excited to evolve this together with the open-source community!


πŸ“₯ CONTRIBUTING.md

Thank you for considering contributing to AgenticMesh! Here’s how you can help:

πŸ“¦ Reporting Issues

  • Use the GitHub Issues tab to report bugs or request features.

πŸ”¨ Submitting Pull Requests

  • Fork the repository.
  • Create a feature branch.
  • Submit a clear pull request with a description of your changes.

πŸ›  Development Setup

  • Clone the repo and install dependencies.
  • Follow the coding style and run tests before submitting PRs.

πŸ“œ LICENSE

Apache License 2.0

Copyright (c) 2025 Epsilla

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

πŸ§ͺ Example Demo Script (examples/demo.py)

# examples/demo.py

from agenticmesh import AgenticMesh, Agent

# Define example agents
agent_a = Agent(name="AgentA", capabilities=["task1", "task2"])
agent_b = Agent(name="AgentB", capabilities=["task3"])

# Initialize mesh
mesh = AgenticMesh()
mesh.register(agent_a)
mesh.register(agent_b)

# Simulate a task
result = mesh.send_task(from_agent="AgentA", to_agent="AgentB", task="task3", payload={"data": "demo"})
print("Task result:", result)

About

An open-source MCP orchestration framework for multi-agent / micro-agent in Enterprise, inspired by service mesh πŸš€

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages