Skip to content

Build autonomous multi-agent systems

JarvisCore is a Python framework for production multi-agent AI. Peer-to-peer coordination, composable memory, 46 service integrations, and full observability — from a single agent to a fleet.


46 Service Integrations

237+ Prebuilt Actions

4-tier Agent Memory

P2P Agent Mesh


What JarvisCore provides

Agent Profiles

Two execution models

AutoAgent runs a full OODA loop internally — observe, orient, decide, act. CustomAgent exposes the execution loop directly for deterministic control. Both share the same infrastructure.

Memory

Four-tier memory

Working scratchpad → episodic ledger → LLM-compressed long-term summaries → optional cross-session semantic memory via Athena MemOS. Context that survives restarts, scales across steps.

Communication

Peer-to-peer mesh

Agents discover and message each other via a PeerClient API. Routing, request-response, and broadcast work identically on a single process or across distributed machines.

Integrations

46 service integrations

Slack, GitHub, Zoom, SAP, NetSuite, MS Graph, Salesforce, and 40 more. 237+ prebuilt actions your agents can call directly — no glue code, no auth wiring.

Browse integrations →

Auth

Nexus credential layer

Agents call third-party APIs without ever touching raw credentials. OAuth2, API keys, and basic auth — all managed by Nexus and kept out of agent reasoning.

Nexus guide →

Observability

Full-stack tracing

Every agent turn, tool call, and LLM request is traced automatically. Redis PubSub for live streams, JSONL for compliance, Prometheus for operational dashboards.

Observability guide →

Control

Human-in-the-loop

HITLQueue intercepts decisions that exceed confidence thresholds, routes them to a review inbox, and resumes execution once a human responds. First-class, not an afterthought.

HITL guide →


Quickstart

Install & initialise
pip install jarviscore-framework
jarviscore init
cp .env.example .env   # add your LLM key
jarviscore check        # verify dependencies
main.py
import asyncio
from jarviscore import Mesh, AutoAgent


class ResearcherAgent(AutoAgent):
    name = "Researcher"
    role = "researcher"
    system_prompt = "You are a rigorous research analyst."


async def main():
    mesh = Mesh()
    mesh.add(ResearcherAgent)
    await mesh.start()
    result = await mesh.run_task(
        agent="researcher",
        task="What are the key architectural trade-offs in multi-agent systems?",
    )
    print(result)


asyncio.run(main())

Where to start

If you are new to JarvisCore, read in this order:

  1. Getting Started — install, configure, and run your first agent
  2. Architecture Overview — the mental model for how the framework fits together
  3. Agents — what an agent is, its identity and lifecycle
  4. Language Models — how JarvisCore uses multiple LLMs simultaneously
  5. Memory — how agents maintain and recover context
  6. Agent Personas — how profiles shape autonomous behaviour

If you are evaluating for a specific use case:


Explore the ecosystem

Reference Full API surface, configuration keys, and CLI flags — view reference
Source Browse the code, open issues, and submit PRs — GitHub
Community Questions, showcases, and early feature previews — Discord
Blog Engineering deep-dives and architecture walkthroughs — read the blog

Star us on GitHub

Help more developers discover JarvisCore. Every star makes us easier to find and keeps the project growing.

Join the community

Ask questions, share what you're building, and get early previews of new features. Come say hi.