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.
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: 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.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:
-
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.
-
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.
-
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.
-
remove_knowledge_base- Remove a knowledge base association.
- Parameters:
knowledgebase_id: Target knowledge base ID.
-
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 whencontentis a local file path.
-
get_kb_documents- Get document metadata in batches by file IDs.
- Parameters:
file_ids: List of document IDs.
-
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
- 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.1.0
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。