MemGPT Agent logo

MemGPT Agent

by gm2552

This project implements a simplified version of the MemGPT research paper as an agent. It can be integrated as a REST service or an MCP server.

View on GitHub

Last updated: N/A

What is MemGPT Agent?

This project is a Spring Boot application that implements the MemGPT concept, allowing for an agent with memory management capabilities. It exposes its functionality as a REST service and an MCP Server and includes a simple ChatBot command line application to interact with the agent.

How to use MemGPT Agent?

To use this project, you need Java 17 or later, Gradle, and an OpenAI API key. First, configure and run either the REST or MCP server application by setting the OpenAI API key, building the application with Gradle, and running the resulting JAR file. Then, configure the ChatBot application to communicate with the chosen server application by modifying the application.yaml file and building/running it.

Key features of MemGPT Agent

  • Implements MemGPT agent with memory management

  • Exposes agent functionality as REST service

  • Exposes agent functionality as MCP server

  • Includes a command line chatbot application

  • Supports archival memory with vector store

  • Configuration API for agent instances

  • Context window self editing

Use cases of MemGPT Agent

  • Building AI assistants with long-term memory

  • Creating chatbots that can remember past conversations

  • Developing agents that can learn and adapt over time

  • Integrating memory management into existing AI applications

FAQ from MemGPT Agent

What is MemGPT?

MemGPT is a research concept for implementing agents with memory management capabilities.

What are the prerequisites for running this project?

You need Java 17 or later, Gradle, and an OpenAI API key.

How do I configure the ChatBot application?

Edit the simple-chat-bot-app\src\main\resource\application.yaml file and update the spring.profiles.active setting to target the desired server application (REST or MCP).

How do I enable archival memory?

Activate the pgvector Spring profile. Ensure you have a vector store and embeddings model configured.

What is the purpose of the User ID in the ChatBot application?

The User ID is used as a unique identifier for the chat session.