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
Visit Server

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured