Governed agent memory: lessons stay out of search until another actor promotes them with evidence.
MCPpedia last refreshed this data
io.github.leocelis/stele is an MCP server that governed agent memory: lessons stay out of search until another actor promotes them with evidence. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 56/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"stele": {
"env": {
"STELE_STORE": "/absolute/path/to/.stele-store"
},
"args": [
"stele-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Governed agent memory: lessons stay out of search until another actor promotes them with evidence.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
uvx 'stele-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked stele-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in education
2,700+ scientific tools for AI scientists: life science, research, literature, and more.
ARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in — works with Claude Code, Codex, OpenClaw, or any LLM agent.
Daofy for Delphi — MCP Server that compiles Delphi projects and queries knowledge base for AI assistants.
On This Day MCP — wraps byabbe.se/on-this-day (free, no auth)
MCP Security Weekly
Get CVE alerts and security updates for io.github.leocelis/stele and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Stele
The governed experiential-memory ledger for AI agents: log what worked and what failed, promote a lesson only through another named actor with evidence, and let any agent build solid context from real experience.
A stele is a stone raised to record what happened — deeds, laws, warnings — for those who come after. Stele is the same idea for AI agents: a centralized ledger of task experience. Agents log what worked and what failed on each task; a governance gate keeps each lesson out of search until another named actor promotes it with evidence; and any agent — today's or a future one — retrieves the distilled experience through one protocol before its next task.
Status: v18.16.4. Design locked in stele_system_intent.yaml. Packages: stele-core (zero runtime deps; optional [mysql]) + stele-mcp (stdio + hosted HTTP) + stele CLI.
In short: agent memory where a lesson stays out of search until another named actor promotes it with evidence. Not related to the hosted Stele at stele-ai.dev or other projects named Stele.
| Problem | Evidence | Stele answer |
|---|---|---|
| Recall wins ≠ better actions | MemoryArena (arXiv:2602.16313) | Task-outcome harnesses, not recall@k marketing |
| Self-reflection can entrench errors | Survey (arXiv:2603.07670) | Quarantine until another named actor promotes it with supporting evidence |
| Every framework is a silo | memorywire (arXiv:2606.01138) | JSON Schema + projection helpers |
| Facts change over time | LongMemEval (arXiv:2410.10813) | Bi-temporal supersede + stale_policy |
Full research: docs/research/ · patterns: docs/patterns/.
pip install stele-core stele-mcp
From git (contributors):
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e packages/stele-core -e packages/stele-mcp
make check # ruff + mypy + pytest
make proof # end-to-end PASS/FAIL proof
Quick path: docs/QUICKSTART.md · comparison: docs/COMPARISON.md.
from pathlib import Path
from stele_core import Stele
s = Stele.open(Path(".stele-store"), store_id="demo", now="2026-08-20T12:00:00Z")
added = s.add({
"layer": "failure_lesson",
"title": "Pin cache keys to calendar buckets",
"body": "Day-scoped keys prevent stale cross-day reads.",
"scope": "project:demo",
"temporal": {"valid_from": "2026-08-20T12:00:00Z", "last_verified": "2026-08-20T12:00:00Z"},
"provenance": {
"agent": "agent-a", "task": "cache-fix", "environment": "local",
"subject_id": "subj-1", "source": "session:abc",
"written_at": "2026-08-20T12:00:00Z",
},
})
# → {"id": "se_…", "state": "quarantined"} — not searchable yet
s.promote(added["id"], [{
"type": "test_result", "issuer": "ci", "ref": "tests/test_cache.py",
"observed_at": "2026-08-20T12:00:00Z", "verdict": "supports",
"command": "pytest -q", "exit_status": 0,
}], actor="ci", ts="2026-08-20T12:00:00Z")
print(s.search("cache buckets", consumer_scope="project:demo"))
print(s.doctor(now="2026-08-20T12:00:00Z")["ok"])
stele init ./.stele-store --store-id demo
stele doctor ./.stele-store --now 2026-08-20T12:00:00Z
stele hygiene ./.stele-store --now 2026-08-20T12:00:00Z
stele entangled ./.stele-store --source web_page --now 2026-08-20T12:00:00Z
stele forget-check ./.stele-store --scope project:demo --subject-id subj-x --probe-query secret --now 2026-08-20T12:00:00Z
stele schema --out docs/schemas/entry.schema.json
stele snapshot ./.stele-store /tmp/stele-backup --now 2026-08-20T12:00:00Z --actor ops
Requires the Model Context Protocol Python SDK 1.x (mcp>=1.0,<2).
mcp 2.x removed mcp.server.fastmcp and will not boot t