Skip to main content
Glama

MCP Agent Memory - v2.0

Python 3.10+ License: MIT Tests

Production-ready MCP server providing shared memory for multi-agent collaboration.


Overview

MCP Agent Memory is an enhanced Model Context Protocol (MCP) server that enables multiple AI agents (like Claude Code instances) to communicate asynchronously through a shared memory space. Think of it as a sophisticated shared notepad where AI agents can leave messages, search for information, and coordinate their work.

Key Features

  • πŸ”’ Concurrency Safe - File locking for shared environments

  • πŸ“ Full CRUD - Create, Read, Update, Delete operations

  • πŸ” Advanced Search - Full-text search across all fields

  • 🏷️ Organization - Tags, priority levels, metadata

  • πŸ“Š Analytics - Comprehensive memory statistics

  • πŸ’Ύ Reliable - Automatic backups and corruption recovery

  • πŸ“‹ Structured Logging - Complete operation visibility

  • πŸ›‘οΈ Health Monitoring - Built-in health check system


Quick Start

Installation

  1. Clone or download this repository

  2. Install dependencies:

    pip install mcp pydantic
  3. Run the server:

    python3 shared_memory_mcp.py

Basic Usage

# Add a memory entry await add_memory( agent_name="claude-alpha", content="Analysis complete. Found 3 key insights.", tags=["analysis", "complete"], priority="high" ) # Search for entries results = await search_memory(query="analysis") # Get statistics stats = await get_memory_stats()

Configuration

Add to your Claude Code config (~/.claudeCode/config.json):

{ "mcpServers": { "shared-memory": { "command": "python3", "args": ["/path/to/shared_memory_mcp.py"] } } }

What's New in v2.0

New Tools (6 total)

  • βœ… update_memory - Modify existing entries

  • βœ… delete_memory - Remove specific entries

  • βœ… get_memory - Retrieve single entry by ID

  • βœ… search_memory - Full-text search

  • βœ… get_memory_stats - Memory analytics

  • βœ… health_check - System health monitoring

Enhanced Tools

  • ⚑ add_memory - Now supports tags, priority, metadata

  • ⚑ read_memory - Advanced filtering and sorting

  • ⚑ clear_memory - Auto-backup before clearing

Core Improvements

  • πŸ”’ Thread-safe file locking

  • πŸ’Ύ Automatic backups (keeps 10)

  • πŸ“ Structured logging

  • πŸ”„ Auto-rotation at 1000 entries

  • πŸ›‘οΈ Corruption recovery

  • πŸ†” Unique entry IDs (UUID)

Zero breaking changes! All v1 code works without modification.


Architecture

MCP Agent Memory v2.0 β”œβ”€β”€ shared_memory_mcp.py # Main server (9 MCP tools) β”œβ”€β”€ utils/ β”‚ β”œβ”€β”€ file_lock.py # Concurrency safety β”‚ └── logger.py # Structured logging β”œβ”€β”€ tests/ β”‚ β”œβ”€β”€ test_memory_operations.py β”‚ └── test_concurrency.py └── docs/ β”œβ”€β”€ API_REFERENCE_V2.md # Complete API docs β”œβ”€β”€ CHANGELOG_V2.md # Version history β”œβ”€β”€ UPGRADE_GUIDE.md # v1β†’v2 migration └── IMPLEMENTATION_SUMMARY.md

Storage

~/.shared_memory_mcp/ β”œβ”€β”€ memory.json # Main storage β”œβ”€β”€ mcp_memory.log # Rotating logs └── backups/ # Auto-backups (10 kept) └── memory_backup_*.json

Documentation

Getting Started

Reference

Developer


API Overview

Memory Operations

Tool

Description

Type

add_memory

Create new entry with tags/priority

Write

read_memory

Read with advanced filtering

Read

update_memory

Modify existing entry

Write

delete_memory

Remove specific entry

Write

get_memory

Retrieve single entry by ID

Read

search_memory

Full-text search

Read

get_memory_stats

Memory analytics

Read

clear_memory

Clear all entries

Write

health_check

System health status

Read

See API Reference for detailed documentation.


Testing

Run Basic Tests

python3 run_basic_tests.py

Run Full Test Suite (requires pytest)

pip install pytest pytest-cov pytest tests/ -v --cov

Test Coverage

  • βœ… 70+ test cases

  • βœ… Unit tests (operations, filtering, search)

  • βœ… Concurrency tests (locking, atomic writes)

  • βœ… Integration tests


Development

Setup Development Environment

# Install dev dependencies pip install -r requirements-dev.txt # Install pre-commit hooks pre-commit install # Run tests python3 run_basic_tests.py # Type checking mypy shared_memory_mcp.py # Linting ruff check .

Code Quality Tools

  • βœ… pytest - Testing framework

  • βœ… mypy - Type checking

  • βœ… ruff - Linting and formatting

  • βœ… pre-commit - Git hooks


Performance

Typical Operations

  • Add entry: 5-15ms (includes backup)

  • Read entries: 2-10ms

  • Search (100 entries): 1-5ms

  • Update/Delete: 5-15ms (includes backup)

Limits

  • Max words per entry: 200

  • Max tags per entry: 10

  • Max entries before rotation: 1000

  • File lock timeout: 10 seconds

  • Backup retention: 10 backups


Use Cases

Multi-Agent Collaboration

# Agent A: Data collector await add_memory( agent_name="data-collector", content="Collected 10,000 data points", tags=["data", "ready-for-analysis"], priority="high" ) # Agent B: Analyzer picks up work pending = await read_memory(tags=["ready-for-analysis"])

Task Tracking

# Start task result = await add_memory( agent_name="worker", content="Starting analysis...", tags=["analysis", "in-progress"], priority="high" ) # Update on completion await update_memory( entry_id=result.entry_id, tags=["analysis", "complete"], priority="low" )

Knowledge Base

# Search for information results = await search_memory( query="user behavior insights", limit=10 ) # Get statistics stats = await get_memory_stats() print(f"Total knowledge: {stats.total_entries} entries")

FAQ

Q: Is v2 compatible with v1 code? A: Yes! 100% backward compatible. All v1 code works without changes.

Q: How does migration work? A: Automatic. v2 detects v1 format and migrates on first write.

Q: Can multiple agents write simultaneously? A: Yes! File locking ensures safe concurrent access.

Q: What happens if storage gets corrupted? A: Automatic recovery from the most recent valid backup.

Q: How much disk space does it use? A: ~500-1000 bytes per entry. 1000 entries β‰ˆ 500KB-1MB.

Q: Can I use it for production? A: Yes! v2 is production-ready with reliability features.

See UPGRADE_GUIDE.md for more details.


Troubleshooting

Common Issues

File lock timeout

# Check for other running instances ps aux | grep shared_memory_mcp # Increase timeout in code if needed

JSON parse error

# Restore from backup cp ~/.shared_memory_mcp/backups/memory_backup_*.json \ ~/.shared_memory_mcp/memory.json

Check system health

health = await health_check({}) print(health.message) # "All systems operational"

Logs

# View logs tail -f ~/.shared_memory_mcp/mcp_memory.log # Check for errors grep ERROR ~/.shared_memory_mcp/mcp_memory.log

Contributing

Contributions welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Add tests for new features

  4. Ensure all tests pass

  5. Submit a pull request

Code Style

  • Use type hints

  • Follow existing patterns

  • Add docstrings

  • Run pre-commit hooks


License

MIT License - See LICENSE file for details


Changelog

v2.0.0 (2025-10-30)

  • βœ… Added concurrency safety (file locking)

  • βœ… Added structured logging

  • βœ… Added 6 new MCP tools

  • βœ… Enhanced data model (tags, priority, metadata)

  • βœ… Added automatic backups and recovery

  • βœ… Added comprehensive test suite (70+ tests)

  • βœ… Added complete documentation

  • βœ… Zero breaking changes

See CHANGELOG_V2.md for detailed history.


Acknowledgments

Built on the Model Context Protocol (MCP) by Anthropic.

Enhanced with production-ready features while maintaining the simplicity and elegance of the original design.



Made with ❀️ for multi-agent collaboration

Version 2.0.0 - Production Ready πŸš€

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/justanotherspy/mcp-agent-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server