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: LedgerMem MCP Server

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.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to maintain persistent memory across sessions by capturing conversations, extracting durable knowledge, and injecting relevant context, supporting various MCP-compatible platforms.
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables automatic memory retrieval and injection for AI conversations to provide continuous learning through semantic search and memory management.
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage memories via the mem9 memory service, supporting memory storage, semantic search, retrieval, update, and deletion across multiple platforms.
    5

View all related MCP servers

Related MCP Connectors

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • An MCP memory server. One memory your agents share — across models, devices and apps.

  • Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Omnimemory/omnin-Qoder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server