MemOS
MemOS (Memory Operating System) is a memory management operating system designed for AI applications.
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: Usesnpxto run the packageargs: Arguments passed to npx to run the packageenv: Environment variablesMEMOS_API_KEY: Your Memos API key for authentication (Get your API Key in Dashboard[https://memos-dashboard-pre.openmem.net/cn/quickstart/])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:
-
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 (userorassistant).content: Message content.chat_time: (Optional) Message timestamp.
-
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".
-
- If the user explicitly asks to search ALL knowledge bases -> pass
["all"].
- If the user explicitly asks to search ALL knowledge bases -> pass
-
- If the user specifies particular KB IDs -> pass those IDs.
-
- 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.
-
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.
-
add_feedback- Submit user feedback to the MemOS system.
- Note: Feedback is applied asynchronously —
add_feedbackreturns immediately (often with atask_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.
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
- Clone the repository:
git clone <repository-url>
cd memos-api-mcp
- Install dependencies:
pnpm install
- Start development server:
pnpm dev
- Build the project:
pnpm build
Available Scripts
pnpm build- Build the projectpnpm dev- Start development server using tsxpnpm start- Run the built versionpnpm 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.0express: ^4.19.2zod: ^3.23.8ts-md5: ^2.0.0
Version
Current version: 1.0.0-beta.2
Related Servers
HashiCorp Vault
Securely manage secrets and policies in HashiCorp Vault through an MCP interface.
CMP MCP Server
An MCP server for CMP API integration, built to run on Cloudflare Workers.
Apillon MCP Server
Interact with Apillon's Storage, Hosting, and NFT modules.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers, operating without authentication.
Seq MCP Server
Interact with Seq's API for logging and monitoring.
CData LinkedIn Ads
MCP Server for LinkedIn Ads, powered by the CData JDBC Driver. Requires a separate license and configuration.
ENS MCP Server
Interact with the Ethereum Name Service (ENS) to resolve names, check availability, and retrieve records.
Coinbase Chat MCP
Access cryptocurrency data, market information, and trading insights from Coinbase's public API.
Alpaca MCP Server
Interact with Alpaca's market data and brokerage services via its API.
Bigeye MCP Server
Interact with Bigeye's data quality monitoring platform via its Datawatch API. Supports dynamic API key authentication.