MCP Memory

by ddkang1
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Uses OpenAI's embedding models and LLMs for memory management, with configurable model selection through environment variables.

MCP 메모리

효율적인 지식 그래프 기능을 갖춘 데이터가 풍부한 애플리케이션을 위한 메모리 솔루션을 구현하는 모델 컨텍스트 프로토콜(MCP) 서버입니다.

개요

이 MCP 서버는 업로드된 파일을 포함한 다양한 소스에서 정보를 검색하는 데이터 집약적 애플리케이션을 위한 메모리 솔루션을 구현합니다. 내부적으로 HippoRAG를 사용하여 효율적인 지식 그래프를 통해 메모리를 관리합니다. HippoRAG는 이 패키지의 필수 종속성입니다.

특징

  • 세션 기반 메모리 : 특정 채팅 세션에 대한 메모리를 생성하고 관리합니다.
  • 효율적인 지식 그래프 : 메모리 관리를 위해 HippoRAG 사용
  • 다중 전송 지원 : stdio 및 SSE 전송 모두에서 작동합니다.
  • 검색 기능 : 업로드된 파일을 포함한 다양한 소스의 정보 검색
  • 자동 리소스 관리 : 세션과 메모리 인스턴스 모두에 대한 TTL 기반 정리

설치

PyPI에서 설치:

지엑스피1

또는 소스에서 설치:

git clone https://github.com/ddkang1/mcp-mem.git cd mcp-mem pip install -e . pip install hipporag

참고: HippoRAG는 mcp-mem이 작동하는 데 필요한 종속성입니다.

용법

MCP 서버를 직접 실행할 수 있습니다.

mcp-mem

기본적으로 stdio 전송을 사용합니다. SSE 전송을 사용하려면:

mcp-mem --sse

SSE 전송에 대한 호스트와 포트를 지정할 수도 있습니다.

mcp-mem --sse --host 127.0.0.1 --port 3001

구성

기본 구성

Windsurf에서 Claude와 함께 이 도구를 사용하려면 MCP 구성 파일에 다음 구성을 추가하세요.

"memory": { "command": "/path/to/mcp-mem", "args": [], "type": "stdio", "pollingInterval": 30000, "startupTimeout": 30000, "restartOnFailure": true }

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분).이 기능은 기본 데이터를 보존하면서 비활성 인스턴스를 언로드하여 메모리 사용량을 관리하는 데 도움이 됩니다. 언로드된 인스턴스에 다시 액세스하면 디스크에서 자동으로 다시 로드됩니다.

사용 예:

EMBEDDING_MODEL_NAME="your-model" LLM_NAME="your-llm" mcp-mem

편의상 제공된 예제 스크립트를 사용할 수 있습니다.

./examples/run_with_env_vars.sh

사용 가능한 도구

MCP 서버는 다음과 같은 도구를 제공합니다.

  • create_memory : 주어진 채팅 세션에 대한 새로운 메모리를 생성합니다.
  • store_memory : 특정 세션에 메모리 추가
  • retrieve_memory : 특정 세션에서 메모리를 검색합니다.

개발

개발을 위한 설치

git clone https://github.com/ddkang1/mcp-mem.git cd mcp-mem pip install -e ".[dev]"

테스트 실행

pytest

코드 스타일

이 프로젝트에서는 서식 지정에 Black을 사용하고, 가져오기 정렬에 isort를 사용하고, 린팅에 flake8을 사용합니다.

black src tests isort src tests flake8 src tests

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

HippoRAG를 사용하여 데이터가 풍부한 애플리케이션을 위한 메모리 솔루션을 구현하는 MCP 서버로, 효율적인 지식 그래프 기능을 제공하고 업로드된 파일을 포함한 여러 소스에서 검색을 가능하게 합니다.

  1. Overview
    1. Features
      1. Installation
        1. Usage
          1. Configuration
            1. Basic Configuration
            2. Environment Variable Configuration
            3. Memory Management Configuration
          2. Available Tools
            1. Development
              1. Installation for Development
              2. Running Tests
              3. Code Style
            2. Contributing
              1. License
                ID: 48906n13st