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.5.tar.gz (81.8 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.5-py3-none-any.whl (87.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcal_ai-0.2.5.tar.gz
  • Upload date:
  • Size: 81.8 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.5.tar.gz
Algorithm Hash digest
SHA256 cf4155e81f8a1164e73d983b13aee97686238d8ebb13ad5824726bd6d9f491ce
MD5 671a3a1f05bfaf2852c13d0b5eb67f04
BLAKE2b-256 418eb7ffc7ef61ce6c1b40fce110cfecd5e4b02e2cc2fb080f3d8f6915cf0633

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcal_ai-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 87.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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 78dc981b1162a67036c0f567e9d23e03d336f06db200e02c5ec5633d874e88cb
MD5 15a7db4af9127311c5dcc35c7dc54620
BLAKE2b-256 93587e870d7d75f65c31e18026e4f3c9bd3131bfad90af0665f94a7496f35561

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