# Memory MCP Server ## Overview This project implements a simple Memory MCP (Memory Control Protocol) server using `fastmcp`. The server provides a set of tools for storing, retrieving, and managing key‑value pairs in a JSON file. It also supports namespaces and wildcard key listing. ## Installation ```bash # Create a virtual environment python -m venv .venv source .venv/bin/activate # On Windows use .venv\Scripts\activate # Install dependencies pip install -r requirements.txt ``` ## Running the Server ```bash python memory_server.py ``` The server runs with a stdio transport and will start listening for tool calls. ## Running the Client Example In a separate terminal (with the same virtual environment activated) run: ```bash python memory_client.py ``` The client will: 1. Save a key/value pair. 2. Retrieve it. 3. List all keys. 4. Delete the key. 5. Demonstrate namespace usage. ## Output Example ``` save result: True get result: {'key': 'foo', 'value': {'bar': 1}, 'timestamp': 1701234567.890} list_keys result: ['foo'] delete result: True get_by_namespace result: [{'key': 'ns1:baz', 'value': 'qux', 'timestamp': 1701234568.123}] ``` ## Persistence All data is stored in `memory_data.json` in the same directory as the server. Each entry contains the key, value, and a Unix timestamp. ## Dependencies - fastmcp - pydantic - python-dotenv All dependencies are specified in `requirements.txt`.