memos-api-mcp

memos-api-mcp

MCP server that enables AI assistants to interact with the MemOS API, providing memory search, feedback management, and knowledge base operations via MCP-compliant tools.

Category
访问服务器

README

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", "@memtensor/memos-api-mcp"],
      "env": {
        "MEMOS_API_KEY": "your-api-key",
        "MEMOS_USER_ID": "your-user-id",
        "MEMOS_CHANNEL": "the-site-where-you-are-seeing-this-document"
      }
    }
  }
}

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 site where you are seeing this document. Candidate values: MODELSCOPE, MCPSO, MCPMARKETCN, MCPMARKETCOM, GLAMA, PULSEMCP, MCPSERVERS,LOBEHUB,MEMOS(meaning the MemOS official website), GITHUB(meaning this README file)

Available MCP Tools

This package provides the following MCP tools:

  1. add_message

    • Adds a new message to a conversation
    • Parameters:
      • conversation_id: Unique identifier of the conversation associated with the feedback.
      • 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. delete_memory

    • Delete specific memories by their IDs.
    • Parameters:
      • user_ids: List of user IDs whose memories will be deleted.
      • memory_ids: List of memory IDs to delete.
  4. 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.
  5. 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.
  6. 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.
  7. remove_knowledge_base

    • Remove a knowledge base association.
    • Parameters:
      • knowledgebase_id: Target knowledge base ID.
  8. 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.
  9. get_kb_documents

    • Get document metadata in batches by file IDs.
    • Parameters:
      • file_ids: List of document IDs.
  10. 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.

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选