Skip to main content
Glama
Omnimemory

MemAura Qoder MCP

by Omnimemory

MemAura Qoder MCP

MemAura/OmniMemory를 Qoder CN에 연결하는 독립 어댑터입니다. 원래 DeepSeek Harness 프로젝트 /Users/azhai/memaura-mcp-server를 수정하거나 의존하지 않습니다.

기능

  • MCP: store_memory, search_memory, search_memory_hybrid

  • Hook: 질문 제출 전마다 자동 하이브리드 리콜; 답변 종료 후 자동으로 이번 라운드 질의응답 저장

  • 메모리 디바이스 번호 설정 가능: 기본값 qoder-agent, 다른 클라이언트와 공유하는 디바이스 번호로 변경 가능

Related MCP server: evleven

1. 의존성 설치

git clone https://github.com/Omnimemory/omnin-Qoder-mcp.git
cd omnin-Qoder-mcp
./install.sh

install.sh는 이 프로젝트의 .venv를 생성하며, 시스템 Python을 수정하지 않습니다.

2. 로컬 환경 구성

cp .env.example .env

.env를 편집하고 최소한 다음을 입력하세요:

MEMAURA_API_KEY=你的真实APIKey
MEMAURA_DEFAULT_DEVICE_NO=qoder-agent

.env는 .gitignore에 의해 무시됩니다. API Key를 GitHub에 커밋하지 마세요.

DeepSeek Harness와 메모리를 공유하려면 디바이스 번호를 해당 프로젝트에서 사용하는 값(예: dsh-agent)으로 변경하세요. qoder-agent를 사용하면 메모리가 격리됩니다.

3. Qoder MCP 구성

Qoder의 "설정 → MCP 서비스"에서 mcp.json을 열고 절대 경로로 구성하세요:

{
  "mcpServers": {
    "memaura": {
      "type": "stdio",
      "command": "/绝对路径/omnin-Qoder-mcp/.venv/bin/python",
      "args": ["/绝对路径/omnin-Qoder-mcp/mcp_server.py"],
      "env": {
        "MEMAURA_API_KEY": "你的真实APIKey",
        "MEMAURA_DEFAULT_DEVICE_NO": "qoder-agent",
        "MEMAURA_DEFAULT_TOP_K": "10",
        "MEMAURA_TIMEOUT": "30"
      }
    }
  }
}

두 "절대 경로"를 본인 컴퓨터의 실제 경로로 교체하세요. 저장 후 Qoder를 완전히 재시작하세요. MCP 페이지에 세 개의 도구가 표시되어야 합니다.

4. 자동 리콜 및 저장 활성화

Qoder의 MCP 구성은 도구를 자동으로 트리거하지 않습니다. Hook 구성은 hooks/hooks.json에 있습니다. 아래 hooks 구성을 ~/.lingma/settings.json에 병합하세요(기존의 다른 설정을 덮어쓰지 마세요):

{
  "hooks": {
    "UserPromptSubmit": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "/绝对路径/omnin-Qoder-mcp/hooks/run-memory-hook.sh",
        "timeout": 25
      }]
    }],
    "Stop": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "/绝对路径/omnin-Qoder-mcp/hooks/run-memory-hook.sh",
        "timeout": 25,
        "async": true
      }]
    }]
  }
}

이 프로젝트의 Hook은 같은 디렉터리의 .env를 자동으로 읽으므로 launchctl에 의존할 필요가 없습니다. 수정 후 Qoder를 완전히 종료하고 다시 열어주세요.

5. 검증

먼저 Hook이 구성을 읽을 수 있는지 검증하세요:

printf '%s' '{"hook_event_name":"UserPromptSubmit","session_id":"test-001","prompt":"测试记忆 QODER-HOOK-918273"}' | hooks/run-memory-hook.sh

그런 다음 Qoder에서 새 대화를 시작하세요:

我刚刚购买了一台测试设备,序列号是 DEVICE-XK-591。

30–60초 기다린 후, 새 대화를 하나 더 만들어 다음과 같이 질문하세요:

我刚刚购买的测试设备序列号是什么?

DEVICE-XK-591이라고 답할 수 있다면 대화 간 저장과 리콜이 모두 작동하는 것입니다.

플러그인 패키지 배포

플러그인 패키지는 ZIP이어야 하며, ZIP 루트 디렉터리에 .qoder-plugin/plugin.json이 직접 포함되어야 합니다. .venv, .env 또는 API Key를 압축 파일에 넣지 마세요:

zip -qr memaura-qoder.zip . \
  -x './.venv/*' './.env' './**/__pycache__/*' './*.pyc'

Qoder의 "플러그인 → 가져오기"에서 생성된 ZIP을 선택하세요. 소스 코드 폴더를 선택하지 마세요. 설치 후에도 위 단계에 따라 로컬 Python 환경과 API Key를 구성해야 합니다.

문제 해결

  • MCP에서 도구는 보이지만 자동 저장이 안 됨: Hook이 로드되지 않은 것입니다. ~/.lingma/settings.json을 확인하고 Qoder를 재시작하세요.

  • Hook 출력에 MEMAURA_API_KEY 未设置(MEMAURA_API_KEY가 설정되지 않음): 프로젝트 루트에 .env가 있는지, 변수 이름 철자가 올바른지 확인하세요.

  • 수동 store_memory는 성공하는데 자동 테스트는 실패: MCP는 정상이며, 문제는 Hook 구성 또는 Hook 환경에만 있습니다.

  • 저장 성공 후 즉시 검색이 안 됨: MemAura는 큐에 들어간 후 일반적으로 30–60초가 지나야 인덱스가 구축됩니다.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides AI agents with persistent, human-like memory infrastructure via MCP, enabling them to store, search, summarize, and forget episodic, semantic, procedural, and working memories across sessions.
    1,237 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables personal AI memory management through MCP tools for adding, searching, exporting, and deleting memories, with knowledge-graph retrieval and multi-hop association for clients like Claude Desktop and Cursor.
    6
    Apache 2.0