MCP 서버의 세션 기억을 재시작 뒤에도 보존하는 방법
MCP 에는 서버가 끊겼다가 다시 이어질 때 쓰는 기본 이벤트 저장소가 있지만, 이 저장소는 메모리에만 데이터를 둔다. 개발 중에는 편하지만, 서버를 재시작하거나 새로 배포하거나 다른 작업자로 연결이 바뀌면 세션 상태가 조용히 사라질 수 있다. 이때 클라이언트에는 뚜렷한 오류가 보이지 않아, 이어서 처리해야 할 작업이 처음부터 다시 시작될 수 있다.
mcp-persist는 이 문제를 줄이기 위해 만든 도구다. , Redis, 저장소를 붙여 세션 정보를 서버 밖에 남기고, 여러 작업자가 함께 쓰는 배포에서도 이어받기가 가능하게 한다. 클라이언트가 로 다시 연결하면, 끊긴 지점부터 계속 받을 수 있다.
직접 고칠 수 없는 앞에 붙이는 프록시 방식도 제공해, 기존 서버 코드를 바꾸지 않고도 이어받기 기능을 더할 수 있다. 출시 후 약 2주 동안 8,000회 이상 내려받기가 있었고, 실제 운영 배포 사례와 TTL 처리 관련 피드백이 나왔다.
핵심 포인트
- MCP 의 기본 이벤트 저장소는 메모리 기반이라 서버 재시작 뒤 세션 상태가 사라질 수 있다.
- mcp-persist는 , Redis, 을 저장소로 써서 세션을 서버 밖에 보존한다.
- 여러 작업자가 있는 배포에서도 클라이언트가 끊긴 지점부터 다시 받을 수 있게 돕는다.
- 프록시 방식을 쓰면 기존 코드를 바꾸지 않고 이어받기 기능을 붙일 수 있다.
- 약 2주 동안 8,000회 이상 내려받기와 실제 운영 배포 사례가 있었다.