Skip to main content
Glama
memos-api-mcp

memos-api-mcp

by shijieweb

MCP Server for MemOS API

A Model Context Protocol (MCP) implementation for the MemOS API service. This package provides a command-line interface to interact with MemOS API using MCP standards.

MCP Configuration

To use this package In MCP Client, use the following configuration: (You may need to install Node.js first)

{
  "mcpServers": {
    "memos-api-mcp": {
      "command": "npx",
      "args": ["-y", "github:shijieweb/memos-mcp-custom-trae#main"],
      "env": {
        "MEMOS_API_KEY": "your-api-key",
        "MEMOS_USER_ID": "your-user-id",
        "MEMOS_CHANNEL": "MODELSCOPE_REMOTE",
        "MEMOS_AGENT_ID": "your-agent-id"
      }
    }
  }
}

Configuration Explanation

  • command: Uses npx to run the package

  • args: Arguments passed to npx to run the package

  • env: Environment variables

    • MEMOS_API_KEY: Your Memos API key for authentication (Get your API Key in Dashboard[https://memos-dashboard.openmem.net/cn/apikeys/])

    • MEMOS_USER_ID: Stable per-human identifier. MUST be deterministic and non-PII, and MUST remain the same for the same person across devices/sessions. NEVER reuse across different people. DO NOT use random values, device IDs, or model/chat session IDs. Recommended: SHA-256(lowercase(trim(email))) or your SSO subject/employee ID.

    • MEMOS_CHANNEL: The platform where this MCP is running. Default: MODELSCOPE_REMOTE.

    • MEMOS_AGENT_ID: (Optional) Agent ID to tag every memory write with. Used for tracking which Agent generated each memory on the cloud platform. If set, all add_message calls automatically include this agent_id. If not set, agent_id is omitted from writes.

Available MCP Tools

This package provides the following MCP tools:

  1. add_message

    • Adds a new message to a conversation. Automatically called after every answer.

    • Parameters:

      • conversation_first_message: First user message in the thread (used to generate conversation_id).

      • agent_id: (Optional) Agent ID to associate this memory with. If MEMOS_AGENT_ID env var is set, this is auto-injected.

      • messages: Array of messages containing role and content information.

        • role: Role of the message sender (user or assistant).

        • content: Message content.

        • chat_time: (Optional) Message timestamp.

  2. search_memory

    • Searches for memories in a conversation.

    • Parameters:

      • query: Text content to search within the memories. The token limit for a single query is 4k.

      • filter: (Optional) Filter conditions, used to precisely limit the memory scope before retrieval.

      • knowledgebase_ids: (Optional) Array specifying the knowledge bases to search.

        • DO NOT USE THIS unless the user explicitly mentions "knowledge base" or "KB".

          1. If the user explicitly asks to search ALL knowledge bases -> pass ["all"].

          1. If the user specifies particular KB IDs -> pass those IDs.

          1. If the user DOES NOT mention knowledge bases -> OMIT this parameter (do not send it).

      • include_preference: (Optional) Enable preference memory recall. Default: true.

      • preference_limit_number: (Optional) Max preference memories to return. Default: 9, max 25.

      • include_tool_memory: (Optional) Enable tool memory recall. Default: false.

      • tool_memory_limit_number: (Optional) Max tool memories to return. Default: 6, max 25.

      • include_skill: (Optional) Enable Skill recall. Default: false.

      • skill_limit_number: (Optional) Max Skills to return. Default: 6, max 25.

      • relativity: (Optional) Relevance threshold (0-1) for recalled memories. A value of 0 disables relevance filtering.

      • conversation_first_message: First user message in the thread (used to generate conversation_id).

      • memory_limit_number: Maximum number of memories that can be recalled. Default: 9, max 25.

  3. add_feedback

    • Submit user feedback to the MemOS system.

    • Note: Feedback is applied asynchronously — add_feedback returns immediately (often with a task_id), and the effect may take a short time to appear.

    • Parameters:

      • user_id: The user identifier associated with the feedback.

      • conversation_id: Unique identifier of the conversation associated with the feedback.

      • feedback_content: The specific content of the feedback.

      • agent_id: (Optional) Agent ID associated with the feedback.

      • app_id: (Optional) App ID associated with the feedback.

      • feedback_time: (Optional) Feedback time string (default: current UTC time).

      • allow_public: (Optional) Whether to allow public access (default: false).

      • allow_knowledgebase_ids: (Optional) List of knowledge base IDs allowed to be written to.

  4. get_user_profile

    • Get the user's full memory profile (facts, preferences, and tool trajectories).

    • Parameters:

      • include_preference: (Optional) Whether to include preference memories.

      • include_tool_memory: (Optional) Whether to include tool trajectory memories.

      • current: (Optional) Page number.

      • size: (Optional) Number of entries per page.

  5. create_knowledge_base

    • Create a named knowledge base container.

    • Parameters:

      • knowledgebase_name: Name of the knowledge base.

      • knowledgebase_description: (Optional) Description of the knowledge base.

  6. remove_knowledge_base

    • Remove a knowledge base association.

    • Parameters:

      • knowledgebase_id: Target knowledge base ID.

  7. add_kb_document

    • Upload document(s) to a specified knowledge base.

    • Parameters:

      • knowledgebase_id: Target knowledge base ID.

      • file: Document list.

        • content: Local absolute path, public URL, or Base64 Data URI.

        • file_name: (Optional) File name.

        • mime_type: (Optional) MIME type. Required when content is a local file path.

  8. get_kb_documents

    • Get document metadata in batches by file IDs.

    • Parameters:

      • file_ids: List of document IDs.

  9. delete_kb_documents

    • Delete specified documents from the knowledge base by file IDs.

    • Parameters:

      • file_ids: List of document IDs.

All tools use the same configuration and require the MEMOS_API_KEY environment variable.

Related MCP server: yantrikdb-mcp

Features

  • MCP-compliant API interface

  • Command-line tool for easy interaction

  • Built with TypeScript for type safety

  • Express.js server implementation

  • Zod schema validation

Prerequisites

  • Node.js >= 18

  • npm or pnpm (recommended)

Installation

You can install the package globally using npm:

npm install -g @memtensor/memos-api-mcp

Or using pnpm:

pnpm add -g @memtensor/memos-api-mcp

Usage

After installation, you can run the CLI tool using:

npx @memtensor/memos-api-mcp

Or if installed globally:

memos-api-mcp

Development

  1. Clone the repository:

git clone <repository-url>
cd memos-api-mcp
  1. Install dependencies:

pnpm install
  1. Start development server:

pnpm dev
  1. Build the project:

pnpm build

Available Scripts

  • pnpm build - Build the project

  • pnpm dev - Start development server using tsx

  • pnpm start - Run the built version

  • pnpm inspect - Inspect the MCP implementation using @modelcontextprotocol/inspector

Project Structure

memos-mcp/
├── src/           # Source code
├── build/         # Compiled JavaScript files
├── package.json   # Project configuration
└── tsconfig.json  # TypeScript configuration

Dependencies

  • @modelcontextprotocol/sdk: ^1.0.0

  • express: ^4.19.2

  • zod: ^3.23.8

  • ts-md5: ^2.0.0

Version

Current version: 1.1.0

Available Tools

10 tools
add_feedbackA

修改/纠正已有记忆时调用;删除记忆成功后记录删除意图。

Inputs: feedback_content (required), conversation_first_message (required), app_id, agent_id, +3 more.

add_kb_documentA

向知识库添加文档时调用;本地文件传绝对路径并带 mime_type,URL 直接传链接。

Inputs: file (required), knowledgebase_id (required).

add_messageA

每次回答后自动保存对话;用户要求记住新信息时调用。

Inputs: messages (required), conversation_first_message (required).

create_knowledge_baseB

用户要求创建项目/领域知识库时调用。

Inputs: knowledgebase_name (required), knowledgebase_description.

delete_kb_documentsC

删除知识库文档时调用。

Inputs: file_ids (required).

delete_memoryA

用户要求删除记忆时调用;未提供 ID 时先 search_memory 查找。

Inputs: memory_ids (required).

get_kb_documentsA

按 ID 查询知识库文档详情时调用。

Inputs: file_ids (required).

get_user_profileA

用户问"我是谁/我的画像/你知道我什么"等身份偏好类问题时调用。

Inputs: size, current, include_preference, include_tool_memory.

remove_knowledge_baseC

删除知识库时调用。

Inputs: knowledgebase_id (required).

search_memoryA

每次回答前自动检索记忆;用户问"我是谁/我的画像"时同时调用 get_user_profile。

Inputs: query (required), conversation_first_message (required), filter, relativity, +8 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: memory tools cover add/search/delete/update/profile, while knowledge base tools cover create/add/get/delete/remove. Even in overlapping areas like search_memory and get_user_profile, descriptions clarify complementary use.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern (add_, get_, delete_, create_, remove_). Minor inconsistency exists between 'remove_knowledge_base' and 'delete_kb_documents' using different verbs, and between singular 'add_kb_document' and plural 'get_kb_documents'/'delete_kb_documents'.

    Tool Count5/5

    Ten tools is well-scoped for a server that manages both user memory and knowledge bases. Each tool covers an essential operation without redundancy.

    Completeness4/5

    Memory lifecycle is complete (create, retrieve, update, delete, profile). Knowledge base lifecycle covers create/delete, document add/delete/query, but lacks an explicit 'list all knowledge bases' or 'update knowledge base' operation, which is a minor gap.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that provides a persistent memory layer for AI agents by wrapping the memvid CLI. It enables users to manage memory files, perform hybrid searches, and conduct RAG-based question answering through 40 specialized tools.
      40
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server providing cognitive memory tools (remember, recall, think, etc.) for AI agents, enabling forgetting, consolidation, and contradiction detection.
      178
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server that gives AI agents and teams persistent, shared memory using a knowledge graph with vector embeddings, automatic consolidation of related facts, and hybrid search.
      3
      -