Skip to main content

Memory-Context Alignment Layer for Goal-Coherent AI Agents

Project description

MCAL: Memory-Context Alignment Layer

Intent-Preserving Memory for Goal-Coherent AI Agents

PyPI Python 3.11+ License: MIT

Why MCAL?

Current AI memory systems store facts but lose meaning:

What's Stored What's Lost
"User chose PostgreSQL" WHY they chose it over MongoDB
"User wants to visit Japan" HOW this fits their overall travel goals

MCAL preserves the reasoning behind decisions, not just the conclusions.

Installation

pip install mcal-ai

Framework integrations:

pip install mcal-ai-langgraph  # LangGraph integration
pip install mcal-ai-crewai     # CrewAI integration  
pip install mcal-ai-autogen    # AutoGen integration

Quick Start

import asyncio
from mcal import MCAL

async def main():
    mcal = MCAL(llm_provider="anthropic")  # or "openai", "bedrock"
    
    messages = [
        {"role": "user", "content": "I'm building a fraud detection pipeline"},
        {"role": "assistant", "content": "Let's start with data ingestion..."},
        {"role": "user", "content": "I chose PostgreSQL over MongoDB for storage"},
    ]
    
    # Extract goals, decisions, and reasoning
    result = await mcal.add(messages, user_id="user_123")
    print(f"Extracted {result.unified_graph.node_count} nodes")
    
    # Search with goal-aware retrieval
    results = await mcal.search("What database?", user_id="user_123")
    
    # Get context for LLM prompts
    context = await mcal.get_context("What's next?", user_id="user_123")

asyncio.run(main())

Key Features

  • Intent Graph — Hierarchical goal structures (Mission → Goal → Task)
  • Reasoning Chains — Store WHY decisions were made, not just conclusions
  • Goal-Aware Retrieval — Retrieve based on objective alignment, not just similarity
  • Multi-Provider — Works with Anthropic, OpenAI, and AWS Bedrock
  • Standalone Storage — Built-in JSON file persistence, no external memory service required
  • Thread-Safe — Safe for concurrent multi-user access
  • Tiered Models — Optional fast/smart model routing (Bedrock)

Configuration

mcal = MCAL(
    llm_provider="anthropic",         # "openai", "anthropic", or "bedrock"
    anthropic_api_key="sk-ant-...",    # Or set ANTHROPIC_API_KEY env var
    openai_api_key="sk-...",           # Or set OPENAI_API_KEY env var
    storage_path="~/.mcal",            # Persistent storage location
    enable_persistence=True,           # Cross-session persistence (default)
    max_graph_nodes=500,               # Max nodes per user graph
    # Bedrock options
    bedrock_model="llama-3.3-70b",
    bedrock_region="us-east-1",
    enable_tiered_models=False,        # Fast/smart model routing
)

Environment Variables

# Choose your LLM provider
ANTHROPIC_API_KEY=sk-ant-...    # For Claude
OPENAI_API_KEY=sk-...           # For GPT-4 / embeddings

# Optional: AWS Bedrock
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=us-east-1

MCAL auto-detects API keys from environment variables when not passed explicitly.

Documentation

License

MIT License — see LICENSE for details.

Author

Created by Shiva Koreddi

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

mcal_ai-0.2.6.tar.gz (97.4 kB view details)

Uploaded Source

Built Distribution

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

mcal_ai-0.2.6-py3-none-any.whl (104.0 kB view details)

Uploaded Python 3

File details

Details for the file mcal_ai-0.2.6.tar.gz.

File metadata

  • Download URL: mcal_ai-0.2.6.tar.gz
  • Upload date:
  • Size: 97.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for mcal_ai-0.2.6.tar.gz
Algorithm Hash digest
SHA256 3d96551a1cfc7836e76443678b548cced369b14306ad522cf139f64a5c43289e
MD5 4ef471464761ac350145fd693da8a3a2
BLAKE2b-256 ddc807c83dfe2bf47c72534d65e06eb5b17baf62c4fee10fc21c867bf9eca601

See more details on using hashes here.

File details

Details for the file mcal_ai-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: mcal_ai-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for mcal_ai-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fb3d5dcb2c6b4f691e69ba3414cf23bcb0980694b3754627ab763f11d2dbc7f4
MD5 f6c1e704f4c62de38530fde2ef89365b
BLAKE2b-256 2eb21a268726ba0736fe34c40b17173acb2fbc37c800990074e954aec190e141

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