mxLore
AI 지원 소프트웨어 개발을 위한 자체 호스팅 MCP(Model Context Protocol) 서버입니다. 아키텍처 결정, 사양(specs), 계획, 발견 사항 및 학습된 교훈을 저장하며, AI 코딩 어시스턴트의 Model Context Protocol 도구를 통해 접근할 수 있습니다. claude.ai, Claude Code, Cursor, Windsurf 등 모든 MCP 클라이언트와 작동합니다.
새로운 사용자이신가요? 먼저 **mxlore.dev에서 제품 개요를 확인**해 보세요. mxLore가 무엇을 하는지, 어떻게 비교되는지, 그리고 왜 사용자의 AI 어시스턴트에게 메모리가 필요한지 알아보세요.
주요 기능 (Features)
- 46개의 MCP 도구: 프로젝트 전반에 걸쳐 지식을 검색, 생성, 업데이트, 회상합니다.
- 설계 단계부터 프라이빗(Private by design): 코딩 AI(Claude Code, Cursor, Windsurf)는 로컬 프록시를 통해 모든 46개 도구에 접근합니다. 제3자 커넥터 클라우드가 경로에 없으며, 공개 엔드포인트가 없고, 서버는 localhost 또는 사용자의 LAN에 유지됩니다. (상세 정보)
- 다중 프로젝트(Multi-Project): 하나의 서버에서 여러 코드베이스를 관리하며, 크로스 프로젝트 검색이 가능합니다.
- 기술 진화 추적(Skill Evolution): 어떤 AI 검사 규칙이 실제로 도움이 되는지 추적하고 자동 튜닝합니다.
- 기관 기억(Institutional Memory): 회상(recall), 게이트 레벨(gate levels), 그래프 기반 지식 연결을 통해 학습된 교훈을 저장합니다.
- 다중 에이전트(Multi-Agent): 에이전트들이 인박스(inboxes)를 통해 프로젝트 간 메시지를 교환하며, 대기 중인 어시스턴트는 메시지가 도착하는 순간 깨어납니다. 대화 과정에서 폴링 루프가 없고, 유휴 상태일 때 토큰 비용이 발생하지 않으며, 메시지가 누군가 타이핑할 때까지 읽지 않은 상태로 남아있지 않습니다. (상세 정보)
- 관리자 UI(Admin UI): 팀원, 키, 프로젝트, 지능 메트릭을 위한 웹 대시보드입니다.
- 팀 연결(Team Connect): 속도 제한이 걸린 랜딩 페이지를 통해 초대 링크를 제공하며, Claude Code, claude.ai, Cursor 등에 대한 원클릭 설정을 지원합니다.
- 시맨틱 검색(Semantic Search): 하이브리드 벡터 + 전체 텍스트 검색 (MariaDB 11.6+의 VECTOR 지원 사용).
- AI 배치(AI Batch): 부팅 시 자동 요약, 태그 지정, 오래된 데이터 감지 기능을 수행합니다.
- claude.ai에서 작동: CTO와 PM은 채팅 창에서 mxLore를 사용하고, 개발자는 Claude Code에서 사용합니다. 동일한 서버, 동일한 지식 기반을 공유합니다.
서버 설치 (Install the Server)
필수 조건: Windows x64, MariaDB 10.6 이상, Node.js (9개의 후크 중 7개가 Node 스크립트입니다. 이것이 없어도 서버는 실행되지만, 상태 추적(state tracking)과 Recall-Gate 기능은 작동하지 않습니다).
| 단계 | 내용 | 상세 정보 |
|---|
| 1 | MariaDB 설치 | mariadb.org/download (Windows MSI) |
| ... | | |
| 콘솔에는 'Admin server listening on 127.0.0.1:8081'이 표시되어야 합니다. 절반을 왔습니다. 여기서 멈추지 마세요. | | |
첫 시작 — 서버 실행부터 연결된 AI까지
⚠️ 서버는 실행 중이지만, 아직 AI가 서버와 통신할 수 없습니다. 필요한 API 키는 관리자 UI(Admin UI) 안에 있습니다. 이를 가져와 Claude Code에 전달하는 방법은 다음과 같습니다.
- 관리자 UI 열기 → **http://localhost:8081**로 이동합니다.
첫 시작에는 로그인 과정이 없습니다 (아직 팀원이 존재하지 않으므로 UI가 바로 열립니다).
- 첫 번째 팀원 생성 — **"New member"**를 클릭하고 이름을 입력한 후 저장합니다. 잠시 후 초대 대화 상자가 나타납니다.
- API 키 복사 —
mxk_... 형식입니다. 이 키는 다음 단계에서 Claude Code에 붙여넣을 것입니다.
- Claude Code 연결 — 모든 Claude Code 세션에서 다음 명령어를 실행합니다:
/mxSetup mxk_your_api_key_here
mxSetup은 12개의 스킬을 다운로드하고, 프록시를 설치하며, .claude/settings.json 파일을 작성합니다. 약 15초가 소요됩니다.
- 핸드셰이크 확인 — Claude에게 *
| Scenario | Setup |
|---|
| 로컬호스트 (단일 사용자) | HTTP 사용 가능. 기본값: BindAddress=127.0.0.1 |
| ... | |
설계 단계부터 프라이빗하게 (Private by Design)
코딩 AI가 제3자 MCP 커넥터 클라우드를 거치지 않고 서버에 직접 연결됩니다:
| Client | Path | Notes |
|---|
| Claude Code, Cursor, Windsurf | AI -> 로컬 mxMCPProxy -> 서버 | 직접 연결. 서버는 localhost/LAN에 머무를 수 있으며 공개 엔드포인트가 필요하지 않습니다. |
| claude.ai chat | 채팅 -> MCP 커넥터 -> 서버 | 채팅 창은 로컬 프록시를 실행할 수 없으므로 표준 커넥터를 사용합니다 (채팅 제공업체를 통해 라우팅됨). |
- 코딩 클라이언트를 위한 공개 엔드포인트가 없습니다. 프록시는 로컬에서 stdio <-> HTTP를 브릿징하므로 서버는 인터넷에 노출될 필요가 없습니다.
- 사용자님과 데이터 사이에 커넥터 속도 제한이나 중개소(broker) 장애가 없습니다.
- 전송 계층을 직접 소유합니다. Bearer-auth API 키, 자체 TLS/방화벽 등. 프록시는 단일 의존성 없는 바이너리입니다 (Windows + macOS).
- 지식 기반은 오직 서버에만 저장됩니다. (모든 AI 도구와 마찬가지로, 모델이 답변을 위해 읽는 모든 내용은 해당 모델에 의해 처리됩니다.)
Claude Code 자체 호스팅 환경과의 위치 관계
Claude Code의 자체 호스팅 환경(2026년 8월부터 공개 베타, Team 및 Enterprise 플랜)은 세션이 어디서 실행될지 결정합니다. claude self-hosted-runner는 사용자님의 머신이나 컨테이너를 런타임으로 전환하여, 세션이 생성하는 저장소 체크아웃(repository checkouts), 빌드 아티팩트(build artifacts), 비밀 정보(secrets) 및 파일이 사용자가 프로비저닝한 인프라에 남아 있도록 합니다. 프롬프트, 응답 및 도구 결과는 여전히 Anthropic에서 추론(inference)을 위해 처리되며, 세션 기록은 Anthropic에 저장되어 어떤 환경에서도 세션을 재개할 수 있습니다. (Anthropic announcement, Claude Code docs, week 32)
mxLore는 단일 세션을 초월하여 지속되는 지식, 즉 사양(specs), 결정 사항(decisions), 계획(plans), 교훈(lessons)과 그들 사이의 그래프, 그리고 세션 간 메시지를 저장하는 곳입니다. 이는 클라우드 세션, 자체 호스팅 러너, 또는 로컬 터미널 등 어떤 환경에서든 모든 플랜에 깔린 동일한 레이어입니다.
| Layer | Claude Code cloud session | Claude Code self-hosted environment | mxLore |
|---|
| Model inference | Anthropic | Anthropic | 모델을 실행하지 않음 |
| ... | | | |
이 두 가지 환경은 상호 보완적입니다. 자체 호스팅 러너에서 네트워크 내부에서 진행되는 세션은 작업팀이 시작하기 전에 기록한 결정 사항들을 읽어들이고, 그 다음 세션은 단순히 말로 나온 내용이 아닌 이미 결정된 내용을 기반으로 시작합니다. 출처를 포함한 전체 비교는 mxlore.dev/compare.html에서 확인할 수 있습니다.
에이전트 깨우기 (Agent Wakeup)
두 명의 어시스턴트가 관련된 프로젝트를 진행할 때, 한쪽은 다른 쪽에게 작업(task), 상태 업데이트(status update), 질문 등의 작업을 인계할 수 있습니다. 이전까지는 받는 측에서 개발자가 무언가를 입력했을 때만 이를 감지했습니다. 단순히 대기하는 어시스턴트는 확인하지 않았기 때문에, 인계된 메시지는 몇 주 동안 읽히지 않은 채 남아있을 수 있었습니다.
mxLore는 이러한 메시지를 대신 전달합니다:
mx_agent_send를 통해 서버에 메시지가 저장됩니다.
- 로컬 프록시(mxMCPProxy >= 1.0.9)가 서버를 폴링하여 보류 중인 메시지들을 파일 버퍼나 클라이언트 측 워처 없이
CLAUDE_CODE_MESSAGING_SOCKET을 통해 받는 세션으로 직접 전달합니다.
- 받는 세션은 프록시가 메시지를 전달하는 즉시 이를 확인하고, 처리된 후에는 승인(acknowledge)합니다 (
mx_agent_ack).
전달 범위는 프로젝트별로 지정됩니다: 세션은 자신이 작업 중인 프로젝트의 메시지만을 보고, 같은 장치를 공유하는 다른 프로젝트의 메시지는 절대 볼 수 없습니다.
메시지는 승인될 때까지 서버에 남아 있으며, 전달이 누락되었더라도(mx_agent_inbox를 통해) 언제든지 가져올 수 있습니다 (예: 구형 프록시 사용, 세션 미실행 등).
- 스택(Stack): Delphi (RAD Studio) + TMS Sparkle + FireDAC + MariaDB
- 프로토콜(Protocol): MCP 2024-11-05 (JSON-RPC 2.0 over HTTP+SSE)
- 인증(Auth): PBKDF2-HMAC-SHA256 API 키, 프로젝트별 ACL(Access Control List)
- 키 컨벤션(Key convention): 장치당 하나의 API 키를 사용하며 — 이 키의 이름은 해당 장치의 레이블입니다. 문서는 어떤 개발자 와 어느 장치가 이를 생성했는지 기록합니다 (인증 출처 명시).
- 유닛(Units): 65개의 Delphi 유닛, 점 표기법(dot-notation) (
mx.*.pas), 5개 레이어
스킬(Skills)
mxLore-skills를 통해 12개의 Claude Code 스킬을 사용할 수 있습니다 (MIT 라이선스). 일반적으로 사용하는 순서대로 나열되어 있습니다:
| # | 스킬(Skill) | 사용 시점 |
|---|
| 1 | /mxSetup | 모든 것을 설치 — 호스트당 한 번 실행합니다. 스킬, 후크, 프록시, settings.json을 다운로드하고 패치합니다. |
| ... | | |
한 번에 모두 설치하려면: Claude Code에서 /mxSetup을 실행하세요.
라이선스(License)
서버(Server): BSL 1.1 (Business Source License) — LICENSE.txt
- 소스 코드 이용 가능: 읽기, 검토, 수정, 빌드
- 비상업적 사용: 무료 (개인 프로젝트, 오픈 소스, 학생, 평가용)
- 상업적 사용: 일회성 EUR 399 (정가 EUR 599) — 규모에 관계없이 모든 팀이 무제한으로 사용할 수 있습니다. [email protected]으로 문의하세요.
- 변경일 이후(4년): Apache 2.0으로 전환됩니다.
스킬(Skills): MIT — 완전 오픈 소스로, 제한 사항이 없습니다.
사전 빌드 바이너리(Pre-built binaries): Delphi 또는 TMS 라이선스가 필요하지 않습니다. GitHub Releases에서 다운로드하세요.
링크(Links)