MCP 메모리
효율적인 지식 그래프 기능을 갖춘 데이터가 풍부한 애플리케이션을 위한 메모리 솔루션을 구현하는 모델 컨텍스트 프로토콜(MCP) 서버입니다.
개요
이 MCP 서버는 업로드된 파일을 포함한 다양한 소스에서 정보를 검색하는 데이터 집약적 애플리케이션을 위한 메모리 솔루션을 구현합니다. 내부적으로 HippoRAG를 사용하여 효율적인 지식 그래프를 통해 메모리를 관리합니다. HippoRAG는 이 패키지의 필수 종속성입니다.
Related MCP server: Memory Custom
특징
세션 기반 메모리 : 특정 채팅 세션에 대한 메모리를 생성하고 관리합니다.
효율적인 지식 그래프 : 메모리 관리를 위해 HippoRAG 사용
다중 전송 지원 : stdio 및 SSE 전송 모두에서 작동합니다.
검색 기능 : 업로드된 파일을 포함한 다양한 소스의 정보 검색
자동 리소스 관리 : 세션과 메모리 인스턴스 모두에 대한 TTL 기반 정리
설치
PyPI에서 설치:
지엑스피1
또는 소스에서 설치:
참고: HippoRAG는 mcp-mem이 작동하는 데 필요한 종속성입니다.
용법
MCP 서버를 직접 실행할 수 있습니다.
기본적으로 stdio 전송을 사용합니다. SSE 전송을 사용하려면:
SSE 전송에 대한 호스트와 포트를 지정할 수도 있습니다.
구성
기본 구성
Windsurf에서 Claude와 함께 이 도구를 사용하려면 MCP 구성 파일에 다음 구성을 추가하세요.
command 필드는 pip를 사용하여 Python 패키지를 설치한 디렉토리를 가리켜야 합니다.
환경 변수 구성
mcp-mem에서 사용하는 LLM 및 임베딩 모델은 환경 변수를 통해 구성할 수 있습니다.
EMBEDDING_MODEL_NAME: 사용할 임베딩 모델의 이름(기본값: "text-embedding-3-large")EMBEDDING_BASE_URL: 임베딩 API의 기본 URL(선택 사항)LLM_NAME: 사용할 LLM 모델의 이름(기본값: "gpt-4o-mini")LLM_BASE_URL: LLM API의 기본 URL(선택 사항)OPENAI_API_KEY: OpenAI API 키(필수)
메모리 관리 구성
서버에는 자동 리소스 관리 기능이 포함되어 있습니다.
세션 TTL : 지정된 일수 동안 활동이 없으면 세션 디렉터리를 자동으로 제거합니다.
session_ttl_days구성 매개변수를 사용하여 설정합니다(기본값: 없음 - 비활성화).인스턴스 TTL : 지정된 시간 동안 활동이 없으면 HippoRAG 인스턴스를 메모리에서 자동으로 오프로드합니다.
instance_ttl_minutes구성 매개변수를 사용하여 설정합니다(기본값: 30분).이 기능은 기본 데이터를 보존하면서 비활성 인스턴스를 언로드하여 메모리 사용량을 관리하는 데 도움이 됩니다. 언로드된 인스턴스에 다시 액세스하면 디스크에서 자동으로 다시 로드됩니다.
사용 예:
편의상 제공된 예제 스크립트를 사용할 수 있습니다.
사용 가능한 도구
MCP 서버는 다음과 같은 도구를 제공합니다.
create_memory : 주어진 채팅 세션에 대한 새로운 메모리를 생성합니다.
store_memory : 특정 세션에 메모리 추가
retrieve_memory : 특정 세션에서 메모리를 검색합니다.
개발
개발을 위한 설치
테스트 실행
코드 스타일
이 프로젝트에서는 서식 지정에 Black을 사용하고, 가져오기 정렬에 isort를 사용하고, 린팅에 flake8을 사용합니다.
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.