We Built an AI Agent That Runs 24/7, Never Forgets, and Checks Its Own Work
Memory + Scheduler + Decision Preflight. Three MCP servers that turn any agent from a session-bound chatbot into an autonomous worker. Here's exactly how it works — with real tool outputs from today.
The problem every AI agent has
AI agents are smart but forgetful. Every time a session ends — Claude Desktop restarts, Cursor closes, the browser tab dies — the agent loses everything. No user preferences, no project history, no compliance checks it ran yesterday, no portfolio decisions.
This isn't a minor inconvenience. It means agents can't do the things that actually matter for professionals: monitor something over time, remember what they learned, or work while you sleep.
We built three MCP servers that solve this. Together, they form what we call the autonomous agent stack: a brain, a motor, and a safety gate.
The autonomous agent stack
Cron/interval/one-time tasks that run even when you're offline
go / caution / stop / insufficient_evidence
Compliance, macro, yield, ISO 20022, risk...
Persistent FTS5 search, categories, GDPR forget
Each layer is a standalone MCP server. Together, they create a loop: the scheduler triggers, the gate checks, the tool executes, and memory stores the result. Next session, the agent has full context from day one.
Layer 1: MemoryOracle — persistent memory that survives restarts
MemoryOracle gives agents a namespace-isolated, searchable memory with SQLite FTS5 full-text search. It stores facts, preferences, decisions, action items, and session summaries — each categorized and importance-ranked.
Here's what it looks like when an agent stores a compliance fact:
{
"status": "stored",
"memory_id": "mem-c9fff3677d82",
"namespace": "compliance-bot",
"category": "fact",
"importance": 8,
"confidence": 1.0,
"total_memories": 1,
"timestamp": "2026-03-25T13:10:57Z",
"oracle": "MemoryOracle"
}Next session — hours, days, weeks later — the agent queries memory before acting:
FTS5 BM25 returns the stored fact instantly. No re-checking needed. The agent knows what it learned yesterday.
10 tools, 8 memory categories
| Tool | What it does |
|---|---|
store_memory | Store a fact, preference, decision, rule, or observation |
query_memory | Full-text search with BM25 ranking + recency boost |
update_fact | Update existing memory, preserves version history |
forget | GDPR Art. 17 compliant permanent deletion |
summarize_session | End-of-session: extracts facts, decisions, action items |
list_memories | Browse by category, importance, recency |
cross_reference | Verify memory against Trust Layer evidence |
memory_stats | Dashboard: count, storage, most accessed |
export_memories | GDPR Art. 20 data portability export |
health_check | Service status |
Categories: fact preference decision observation rule session portfolio action_item
Layer 2: Decision Preflight — the compliance gate
Memory alone isn't enough. An agent that remembers everything but never checks whether it should act is dangerous. Decision Preflight runs five checks in parallel before any action: evidence verification, freshness, policy compliance, red-flag detection, and provenance.
One call. One verdict: go, caution, stop, or insufficient_evidence.
Watch what happens when an agent tries to recommend USDT to an EU client:
verdict: STOP
confidence: 20%
blockers:
- USDT is NOT AUTHORIZED under MiCA
- USDT explicitly blocked by EU MiCA Compliance policy
The agent is prevented from making a wrong recommendation. MiCA enforcement is in 97 days. Without this gate, an agent trained on pre-2026 data might recommend USDT to EU clients — creating real legal risk.
Built-in policies
| Policy | What it checks |
|---|---|
eu_mica | MiCA authorization, ESMA register, blocked tokens |
conservative | Market cap minimums, peg tolerance, custodian requirements |
aml_standard | FATF Travel Rule, high-risk jurisdictions, KYC |
institutional | SIFI custodian, ESMA registration, tight peg tolerance |
Layer 3: SchedulerOracle — the motor that runs while you sleep
The brain remembers. The gate checks. But who presses the button? SchedulerOracle is the motor — it triggers actions on a schedule, even when no human is present.
Schedule a daily MiCA compliance check:
task_id: task-f159b5752d schedule: cron 0 9 * * * (daily at 9:00 UTC) target: preflight/decision_preflight next_run: 2026-03-26T09:00:00Z memory: auto-store enabled (importance: 8)
Tomorrow at 9:00 UTC, the scheduler will automatically run Decision Preflight on RLUSD, store the result in MemoryOracle, and be ready for the next session. The agent picks up exactly where it left off.
The complete loop — how it works in practice
Here's a real scenario we tested today:
Day 1, 10:00 AM — Agent runs MiCA compliance checks on 5 stablecoins. Stores results in memory. Schedules daily monitoring for RLUSD (pending authorization). Blocks USDT in the policy engine.
Day 2, 9:00 AM — Nobody is online. The scheduler fires. Preflight checks RLUSD: still CAUTION (pending). Result is stored in memory automatically.
Day 2, 2:00 PM — User opens a new session. Agent queries memory: "What do I know about RLUSD?" — instantly gets the 9am check result. No re-running. No waiting. No re-explaining.
Day 30 — RLUSD gets MiCA authorization (hypothetical). The scheduler catches it the same morning. Memory stores the change. Next session, the agent says: "RLUSD was authorized on March 28. Portfolio allocation can now include RLUSD at up to 10%."
What makes this different from other memory MCPs
Several memory MCP servers exist — mcp-memory-service, Hindsight, Engram, MemoClaw, OpenMemory. They solve the storage problem. But none of them have:
| Feature | Others | ToolOracle Stack |
|---|---|---|
| Persistent memory | Yes | Yes |
| Semantic search | Vector DB | FTS5 BM25 (zero dependencies) |
| Autonomous scheduler | No | Yes — cron + interval + one-time |
| Pre-execution compliance gate | No | Yes — go/caution/stop |
| Policy engine (MiCA, AML) | No | Yes — 4 built-in policies |
| Auto-store results in memory | No | Yes — scheduler → memory |
| Cross-reference with signed evidence | No | Yes — ES256K Trust Layer |
| GDPR forget + export | Rare | Yes — Art. 17 + Art. 20 |
| x402 pay-per-call | No | Yes — USDC on Base |
The difference isn't memory alone — it's memory + scheduler + compliance gate as one integrated stack. That's what turns a chatbot into an autonomous worker.
x402 pricing — pay per decision, not per month
Every tool is available via x402 pay-per-call using USDC on Base. No account, no API key. The agent pays per action.
| Tool | Price |
|---|---|
store_memory | $0.02 |
query_memory | $0.05 |
decision_preflight | $0.10 |
schedule_task | $0.08 |
run_now | $0.12 |
summarize_session | $0.08 |
A daily compliance monitoring agent costs roughly $0.20/day — one preflight + one memory store + one query. That's $6/month for 24/7 autonomous compliance monitoring.
Connect in 30 seconds
All three servers are live. Add them to Claude Desktop, Cursor, Windsurf, or any MCP client:
Or call directly via HTTP:
Who is this for
Compliance teams — Schedule daily MiCA/DORA checks, store results, get notified on changes.
Portfolio managers — Track stablecoin allocations over time, remember risk decisions.
Research agents — Build knowledge bases that persist across sessions.
Procurement — Remember vendor assessments, schedule re-evaluations.
Any agent that needs to work longer than one conversation.
What we learned building this
Memory without scheduling is a notebook. It's useful, but it doesn't act. You still need a human to open it.
Scheduling without a gate is dangerous. An autonomous agent that runs compliance checks but can't distinguish between PASS and FAIL will eventually make a costly mistake.
All three together is what makes it work. The scheduler is the motor. Memory is the brain. Preflight is the safety check. Remove any one and the system degrades from "autonomous worker" to "fancy tool."
Frequently Asked Questions
What is an MCP memory server?
An MCP memory server gives AI agents persistent storage that survives session restarts. Agents store facts, preferences, and decisions, then retrieve them in future sessions using full-text search. MemoryOracle uses SQLite FTS5 with BM25 ranking for zero-dependency deployment.
How does an AI agent scheduler work via MCP?
An MCP scheduler lets agents define recurring tasks — cron expressions (like "every day at 9am"), intervals (every 4 hours), or one-time execution. The scheduler runs a background worker that checks for due tasks every 30 seconds, executes them by calling other MCP tools, and optionally stores results in memory.
What is Decision Preflight for AI agents?
Decision Preflight is a compliance verification gate that runs before an agent acts. It checks five things in parallel: evidence verification, data freshness, policy compliance, red-flag patterns, and data provenance. It returns one of four verdicts: go, caution, stop, or insufficient_evidence.
Can AI agents remember information across sessions?
Yes. With MemoryOracle, agents store structured memories (facts, decisions, preferences, action items) in a namespace-isolated SQLite database. Memories persist across restarts and are searchable via full-text search. The system supports importance ranking, TTL-based auto-expiry, version history, and GDPR-compliant deletion.
How do you make an AI agent autonomous?
Combine three layers: a scheduler (to trigger actions on a timer), persistent memory (to maintain state across sessions), and a verification gate (to prevent wrong actions). ToolOracle provides all three as MCP servers that work together: SchedulerOracle triggers, Decision Preflight gates, and MemoryOracle persists.
What does x402 pay-per-call mean?
x402 is the HTTP 402 Payment Required protocol for AI agents. When an agent calls a tool, it receives a 402 response with pricing. It sends USDC on the Base blockchain, retries with a payment header, and gets the result. No account needed. No API key. Just USDC.
Try the autonomous agent stack
50+ MCP servers. 530+ tools. Memory, Scheduler, Preflight, and 47 more.
Connect in 30 seconds. No account required.
Source code: MemoryOracle · SchedulerOracle · Decision Preflight · Trust Layer
Platform: tooloracle.io · x402: tooloracle.io/x402/ · Status: Memory · Scheduler · Preflight