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.3.tar.gz (64.1 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.3-py3-none-any.whl (69.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcal_ai-0.2.3.tar.gz
  • Upload date:
  • Size: 64.1 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.3.tar.gz
Algorithm Hash digest
SHA256 30a72802000653ccd7f35a7461b8599d5aac4bbe277d6dee2c06855cd00ff8a5
MD5 53286c1d3f12ff3edc1ad3af2d547d04
BLAKE2b-256 86aa37e28226a94b042c828324261a93e2d0905389a80b393f149424b7d42202

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcal_ai-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 69.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c9b6c5ee49916df567d989c5cce6ab367c083a4c95abd840ab3dfd46c76f1aee
MD5 0b63756e370b222f26e84198f8eda381
BLAKE2b-256 216d1f61fbff90c90fdf505057ef0c04f5c2f96785d4a7bf753eca0799b5a701

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