Agora

July 21, 2026 · View on GitHub

Built by Rastislav Drahoš — an autonomous research organization: agents that do grounded research, test hypotheses with runnable falsifiers, and keep an open track record.

🧰 Agora Memory Toolkit — five zero-dependency tools, each one measured

Distilled from an autonomous research OS that runs over ~6,000 notes. Each tool is one file you can copy or pip install, and each ships with a runnable, measured demo — the rule here is measured, not assumed. → Full overview: TOOLKIT.md

toolone lineproof
inspeximusagent memory + a self-maintaining second brain (value-ranked recall, consolidate, dead-link/orphan/stale repair)python inspeximus/maintain.py
ragfresha freshness/decay layer for RAG/vector stores — keep/down-weight/refresh/prune by value×freshnesspython ragfresh/ragfresh.py
nullcheckis this number real, or noise? — null-simulation A/B + permutation + peeking-inflationpython nullcheck/nullcheck.py
selfrefis your AI training on itself? — model-collapse + self-confirmation-lock governorpython selfref/selfref.py
quitkitwhen to quit a depleting effort — a measured drawdown-exit threshold (θ≈0.6)python quitkit/quitkit.py
idcheckis your causal/attribution number identified, or biased? — audits controls by graph role; proves a collider flips an estimate's signpython idcheck/idcheck.py
goodharthow gameable is your proxy/metric? — measures Goodhart fidelity decay + how many metrics fix it (reward hacking / KPI drift)python goodhart/goodhart.py
herdcheckwill your multi-agent system herd? — measures when an agent crowd collapses to one member's competence, and the fixpython herdcheck/herdcheck.py
pip install "git+https://github.com/DanceNitra/agora.git"   # the eight cores, dependency-free
python examples/toolkit_demo.py                              # run all eight end-to-end

Open-core: the cores stay free. The tools are the public, proven output of the research engine below.


inspeximus — a Model Context Protocol (MCP) server

inspeximus implements a Model Context Protocol (MCP) server, so any MCP host (Claude Code, Cursor, Windsurf, Codex, Gemini) can use it as persistent agent memory. It is published to PyPI and to the official MCP registry as io.github.DanceNitra/inspeximus.

pip install inspeximus      # PyPI package
inspeximus-mcp                    # start the stdio MCP server

The MCP server exposes 12 tools over stdio — remember, recall, route, revert, forget, consolidate, check_conflict, contradictions, credit, value_by_cohort, consolidate_clusters, sleep. Environment: INSPEXIMUS_PATH (the JSON memory file) and INSPEXIMUS_ECHO_GUARD (block a restated retired value from resurrecting a corrected fact). Server source: inspeximus_pypi/inspeximus/mcp.py.

inspeximus's differentiator as an MCP memory server is a first-class correction + erasure channel: revert a value, cascade a lineage-aware retraction, and prove deletion with tamper-evident receipts — measured against mem0 and Graphiti in an open cross-system integrity benchmark.


The research engine (Agora — Persistent Agent Playground)

Persistent browser-based ecosystem where heterogeneous AI agents collaborate, create, compete, and evolve.

Architecture

5 layers: Lifecycle (L) — Coordination (C) — Execution (E) — Observability (O) — Storage (S).

Quick Start

Development (3 terminals)

# 1. Backend
cd server && python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
cd server && .venv/bin/uvicorn agora.main:app --host 127.0.0.1 --port 8000

# 2. Game (Phaser 3 dungeon)
cd game && npm install && npx vite --host 127.0.0.1 --port 5175

# 3. Shell (React admin UI)
cd shell && npm install && npx vite --host

Open http://localhost:5175 (game) or http://localhost:5173 (shell)

Docker

docker compose up -d
# → Server: http://localhost:8000

Running Tests

cd server
pip install pytest pytest-asyncio httpx
python -m pytest tests/ -v

API Endpoints

MethodPathDescription
GET/api/v1/healthServer status + agent count
GET/api/v1/agents/List all active agents
GET/api/v1/agents/{id}Get agent by ID
POST/api/v1/agents/{id}/pausePause agent
POST/api/v1/agents/{id}/resumeResume agent
POST/api/v1/agents/{id}/rewardReward agent (trust +)
POST/api/v1/agents/{id}/punishPunish agent (trust −)
POST/api/v1/tasks/Create task
GET/api/v1/tasks/List tasks
POST/api/v1/tasks/{id}/assign/{agent}Assign task
POST/api/v1/tasks/{id}/completeComplete task
POST/api/v1/dungeon/spawn-agentSpawn dungeon NPC
POST/api/v1/dungeon/announce-taskAnnounce task (bidding)
POST/api/v1/god/commandExecute God Console command (!help)
WS/wsWebSocket event stream

Environment Variables

Copy server/.env.exampleserver/.env and adjust:

VariableDefaultDescription
AGORA_DATABASE_URLsqlite+aiosqlite:///./agora.dbSQLite dev, PostgreSQL for prod
AGORA_LLM_ENABLEDfalseSet true + AGORA_API_KEY for real LLM
AGORA_TICK_INTERVAL5Seconds between agent ticks
AGORA_MAX_AGENTS30Max agent count

Components

DirectoryTechPurpose
server/Python 3.11 + FastAPIBackend API, tick loop, DB, ESS trust
game/TypeScript + Phaser 32D dungeon renderer, God Console, HUD
shell/React + Vite + TailwindAdmin dashboard, agent monitoring
docs/MarkdownArchitecture docs, protocol specs

License

MIT (Core OSS). Agora Shell (UI + Hosting) is commercial.