Skip to main content
Glama
Omnimemory

MemAura Qoder MCP

by Omnimemory

MemAura Qoder MCP

A standalone adapter that connects MemAura/OmniMemory to Qoder CN. It does not modify or depend on the original DeepSeek Harness project /Users/azhai/memaura-mcp-server.

Features

  • MCP: store_memory, search_memory, search_memory_hybrid

  • Hooks: automatic hybrid recall before each question is submitted; automatic saving of the current Q&A after the answer completes

  • Configurable memory device ID: defaults to qoder-agent, can also be changed to a device ID shared with other clients

Related MCP server: gzmo-pi

1. Install Dependencies

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

install.sh creates this project's .venv and does not modify the system Python.

2. Configure the Local Environment

cp .env.example .env

Edit .env and fill in at least:

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

.env is ignored by .gitignore. Do not commit API Keys to GitHub.

If you want to share memory with DeepSeek Harness, change the device ID to the value it uses, e.g. dsh-agent; using qoder-agent keeps memory isolated.

3. Configure Qoder MCP

In Qoder's "Settings → MCP Services", open mcp.json and configure it with absolute paths:

{
  "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"
      }
    }
  }
}

Replace both "absolute paths" with the actual paths on your machine. Save and fully restart Qoder. The MCP page should show three tools.

4. Enable Automatic Recall and Saving

Qoder's MCP configuration does not trigger tools automatically. The Hook configuration is located in hooks/hooks.json. Merge the hooks configuration below into ~/.lingma/settings.json (do not overwrite your other existing settings):

{
  "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
      }]
    }]
  }
}

This project's Hook automatically reads the .env in the same directory, so it does not depend on launchctl. After making changes, fully quit and reopen Qoder.

5. Verification

First verify that the Hook can read the configuration:

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

Then start a new conversation in Qoder:

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

Wait 30–60 seconds, start another conversation and ask:

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

If it can answer DEVICE-XK-591, cross-conversation saving and recall are both working.

Publishing the Plugin Package

The plugin package must be a ZIP, and the ZIP root directory must directly contain .qoder-plugin/plugin.json. Do not put .venv, .env, or API Keys into the archive:

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

In Qoder "Plugins → Import", select the generated ZIP rather than the source folder. After installation, you still need to configure the local Python environment and API Key following the steps above.

Troubleshooting

  • MCP shows the tools but does not save automatically: the Hook is not loaded. Check ~/.lingma/settings.json and restart Qoder.

  • Hook outputs MEMAURA_API_KEY 未设置: confirm there is a .env in the project root and that the variable name is spelled correctly.

  • Manual store_memory succeeds but the automatic test fails: MCP is fine; the problem is only in the Hook configuration or Hook environment.

  • Cannot retrieve immediately after a successful save: after MemAura enqueues, it usually takes 30–60 seconds to build the index.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables automatic memory retrieval and injection for AI conversations to provide continuous learning through semantic search and memory management.
    -
  • 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,203 npm
    MIT