Skip to main content

Persistent Cognitive Layer for AI Agents — MCP Server

Project description

AgentOS — Persistent Cognitive Layer for AI Agents

AgentOS is an MCP (Model Context Protocol) server that gives any compatible AI agent a persistent cognitive layer: long-term memory, goal tracking, self-reflection, and autonomous background monitoring.

It is not a standalone agent. It is a skill that agents like Claude Code, Hermes, or any MCP-compatible agent can connect to and use.

Without AgentOS:   Agent ←→ Tools
With AgentOS:      Agent ←→ AgentOS (Memory · Goals · Reflection · Insights) ←→ Tools

Features

  • Persistent Memory — semantic search across sessions using local embeddings (no API needed)
  • Goal Management — track objectives with priority, urgency, deadlines, and progress
  • Self-Reflection — log actions and outcomes, detect repeated failures and success patterns
  • Background Daemon — runs independently, monitors agents, and generates proactive insights
  • Model-agnostic — works with any agent that supports MCP
  • Fully offline — no external API calls required

Architecture

┌─────────────────────────────────────────┐
│              AI Agent                   │
│  (Claude Code / Hermes / any MCP agent) │
└────────────────┬────────────────────────┘
                 │ MCP (stdio)
┌────────────────▼────────────────────────┐
│           MCP Server (server.py)        │
│                                         │
│  memory_store      memory_search        │
│  goal_add          goal_get_active      │
│  reflection_log    reflection_analyze   │
│  context_get_snapshot                   │
└────────────────┬────────────────────────┘
                 │ SQLite + ChromaDB
┌────────────────▼────────────────────────┐
│         Background Daemon (daemon.py)   │
│                                         │
│  • every 30 min → reflection analyzer  │
│  • every 60 min → goal monitor         │
│  • every  6 hrs → self maintenance     │
│  • every 24 hrs → memory decay         │
└─────────────────────────────────────────┘

Installation

Requirements: Python 3.11+

git clone https://github.com/your-username/agentos.git
cd agentos

python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate

pip install -r requirements.txt

cp .env.example .env

The first run will automatically download the embedding model (~90 MB).


Running

Start both processes — each in its own terminal:

# Terminal 1 — MCP Server (talks to the agent)
python server.py

# Terminal 2 — Background Daemon (runs continuously)
python daemon.py

The daemon is optional but required for the "semi-alive" behavior (proactive insights, memory decay, goal alerts).


Connecting to an Agent

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "agentos": {
      "command": "python",
      "args": ["/absolute/path/to/agentos/server.py"]
    }
  }
}

Restart Claude Desktop. A 🔨 icon will appear confirming the connection.

Claude Code

claude mcp add-json agentos '{
  "command": "python",
  "args": ["/absolute/path/to/agentos/server.py"]
}'

Verify with /mcp inside Claude Code.


Available MCP Tools

Memory

Tool Description
memory_store Store a new memory with type and importance
memory_search Semantic search across memories
memory_list List recent memories
memory_update_importance Update a memory's importance score
memory_delete Delete a specific memory

Goals

Tool Description
goal_add Add a new goal with priority, urgency, deadline
goal_get_active Get active goals sorted by composite priority
goal_update_progress Update progress on a goal
goal_update_status Change goal status
goal_list List goals by status

Reflection

Tool Description
reflection_log Log an action and its outcome
reflection_analyze Detect patterns from recent logs
reflection_get_patterns Retrieve stored patterns
reflection_get_summary Performance summary over N days

Context

Tool Description
context_get_snapshot Unified cognitive state (memories + goals + insights + daemon status)

Recommended Agent Workflow

1. Session starts  → call context_get_snapshot
                     (loads memories, goals, daemon insights)

2. During work     → call memory_store for important information
                     call reflection_log after each significant action

3. New objective   → call goal_add

4. Session ends    → call reflection_analyze to update patterns

Configuration

All settings are in .env (copy from .env.example):

Variable Default Description
DATABASE_URL sqlite:///./agentos.db SQLite database path
CHROMA_PERSIST_DIR ./chroma_store ChromaDB persistence directory
EMBEDDING_MODEL all-MiniLM-L6-v2 Local sentence-transformers model
MEMORY_DECAY_RATE 0.01 Daily decay rate for unaccessed memories
REFLECTION_LOOKBACK_DAYS 7 Days analyzed in reflection jobs
PATTERN_MIN_FREQUENCY 3 Minimum occurrences to flag as a pattern

Project Structure

agentos/
├── server.py              # MCP server entry point
├── daemon.py              # Background daemon entry point
├── config.py              # Settings via pydantic-settings
├── database.py            # SQLite schema and async helpers
│
├── modules/
│   ├── memory/            # Store, retrieve, importance scoring
│   ├── goals/             # CRUD, priority calculation
│   ├── reflection/        # Action logging, pattern detection
│   └── context/           # Unified snapshot builder
│
├── tools/                 # MCP tool definitions (one file per module)
│
└── daemon/
    ├── writer.py          # Shared DB writer for all jobs
    └── jobs/
        ├── memory_decay_job.py
        ├── goal_monitor_job.py
        ├── reflection_analyzer_job.py
        └── self_maintenance_job.py

Roadmap

  • PostgreSQL support for multi-user deployments
  • REST API alongside MCP
  • Web dashboard for monitoring agent state
  • Plugin system for custom observers and tools
  • Multi-agent memory sharing

License

MIT — see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentos_mcp-1.0.0.tar.gz (64.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentos_mcp-1.0.0-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file agentos_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: agentos_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 64.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentos_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fbfca9b1568c7093d2282955f0422fa264898ae910543863aba04758943bd433
MD5 6d42c8a42d470aca77854c79d5efca93
BLAKE2b-256 3e9b4e9951894c80d41508ba42326227506ebcf6a333c112b92093576fc915cd

See more details on using hashes here.

File details

Details for the file agentos_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: agentos_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 84.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentos_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71d876ca6ca572d6cda6d6b84d568219fd0d32460cb5d29eebe2b801c5b25f91
MD5 70b50cae1061927536b96ae4d545f354
BLAKE2b-256 b549f888361c89098e906da1e807d0fcbe1bbfa72eb6f4e49549d7febcb178cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page