mem0_mcp_server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mem0_mcp_serverremember my favorite color is blue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mem0 MCP Server v2.0
ð§ æºèœå å管çMCPæå¡åš - åºäºTypeScriptå宿¹MCP SDKçäŒäžçº§å®ç°
ð¯ ææ°äŒå (v2.0.1)
åºäºå®æ¹ MCP SDK çå šé¢éæäŒå - 2025幎8æ
æ žå¿æ¹è¿
â çšæ·äžäžæèªåšæ³šå ¥: æ¯æ
/mcp/{user_id}è·¯åŸæ ŒåŒïŒæ éæåšäŒ éçšæ·IDâ AsyncLocalStorage éæ: å®ç°çº¿çšå®å šççšæ·äžäžæç®¡ç
â 宿¹SDKæ åå: å®å šåºäº
@modelcontextprotocol/sdkéæâ äŒè¯ç®¡çäŒå: æ¹è¿ StreamableHTTPTransport åå§ååå€çš
â SOLIDååå®è·µ: åäžè莣ãåŒæŸå°éãäŸèµå眮çååå šé¢åºçš
ææ¯äº®ç¹
# çšæ·äžäžæèªåšæå
POST /mcp/alice # èªåšäœ¿çš user_id="alice"
POST /mcp/bob # èªåšäœ¿çš user_id="bob"
# å·¥å
·è°çšæ éæŸåŒäŒ éuser_id
ð¯ Auto-injecting user_id: alice from AsyncLocalStorage contextæ¶æå级
ð§ TypeScriptç±»åå®å š: æ·»å 宿Žç±»åæ¯æ
ð æ§èœäŒå: åå°å åå çšïŒæåå¹¶åå€ç
ð¡ïž å®å šå¢åŒº: çšæ·IDæ ŒåŒéªè¯ïŒäŒè¯é犻
ð å¯ç»Žæ€æ§: 代ç å€æåºŠéäœ40%
Related MCP server: memvid-mcp
ð ç®åœ
ð¯ åèœç¹æ§
æ žå¿èœå
â 宿ŽMCPå®ç° - äž¥æ ŒéµåŸªMCP 2025-06-18è§è
â TypeScriptåç - 100%ç±»åå®å šïŒæºèœä»£ç æç€º
â 6倧å åå·¥å · - èŠçå å管çå šçåœåšæ
â å€çç¥æ¯æ - è¯ä¹ãåŸåœ¢ãæ··åçå€ç§æ§è¡çç¥
â äŒäžçº§è®Ÿè®¡ - ç产就绪ïŒé«å¯çšæ¶æ
ææ¯ç¹ç¹
ð 髿§èœ - åŒæ¥éé»å¡ïŒæ¯æå¹¶å请æ±
ð å®å šå¯é - JWTäŒè¯ç®¡çïŒCORSä¿æ€
ð çµæŽ»éšçœ² - æ¯æstdio/HTTPåæš¡åŒ
ð å¯è§æµæ§ - å¥åº·æ£æ¥ïŒå®æ¶æ¥å¿
ð§ æäºæ©å± - æš¡ååè®Ÿè®¡ïŒæä»¶å奜
ðïž ç³»ç»æ¶æ
âââââââââââââââââââââââââââââââââââââââââââââââ
â MCP Client (Claudeç) â
âââââââââââââââ¬ââââââââââââââââââââââââââââââââ
â HTTP/stdio
âââââââââââââââŒââââââââââââââââââââââââââââââââ
â MCP Server (TypeScript) â
â ââââââââââââââââââââââââââââââââââââââââ â
â â Express HTTP Transport Layer â â
â ââââââââââââââââ¬ââââââââââââââââââââââââ â
â ââââââââââââââââŒââââââââââââââââââââââââ â
â â McpServer Core (SDK) â â
â ââââââââââââââââ¬ââââââââââââââââââââââââ â
â ââââââââââââââââŒââââââââââââââââââââââââ â
â â Memory Tools Layer â â
â ââââââââââââââââ¬ââââââââââââââââââââââââ â
âââââââââââââââââââŒââââââââââââââââââââââââââââ
â REST API
âââââââââââââââââââŒââââââââââââââââââââââââââââ
â Mem0 API Server â
â (localhost:8000) â
âââââââââââââââââââââââââââââââââââââââââââââââð å¿«éåŒå§
åçœ®èŠæ±
Node.js >= 18.0.0
npm >= 9.0.0
Mem0 APIæå¡åš (æ¬å°æè¿çš)
å®è£ æ¥éª€
å é项ç®
git clone <repository-url>
cd mem0_mcp_serverå®è£ äŸèµ
npm installç¯å¢é 眮
# å建ç¯å¢é
眮æä»¶
cp .env.example .env
# çŒèŸé
眮
nano .envç¯å¢åé诎æïŒ
# Mem0 APIé
眮 (å¿
é)
MEM0_API_URL=http://localhost:8000 # Mem0 APIæå¡åšå°å
MEM0_API_KEY=your_api_key # APIå¯é¥(åŠéèŠ)
# MCPæå¡åšé
眮 (å¯é)
MCP_HOST=127.0.0.1 # çå¬å°å
MCP_PORT=8081 # çå¬ç«¯å£
MCP_SESSION_TIMEOUT=3600 # äŒè¯è¶
æ¶(ç§)
MCP_CORS_ORIGINS=* # CORSå
è®žçæº
MCP_DEV_MODE=false # åŒåæš¡åŒ
# Mem0é
眮 (å¯é)
MEM0_ORG_ID=your_org_id # ç»ç»ID
MEM0_PROJECT_ID=your_project_id # 项ç®ID
MEM0_TIMEOUT=30000 # 请æ±è¶
æ¶(毫ç§)
MEM0_MAX_RETRIES=3 # æå€§éè¯æ¬¡æ°æå»ºé¡¹ç®
npm run buildå¯åšæå¡åš
HTTPæš¡åŒ (æšè)
# æ¬å°è®¿é®
npm run start:http
# å±åçœè®¿é®
npm run start:http:externalstdioæš¡åŒ
npm startéªè¯å®è£
# å¥åº·æ£æ¥
curl http://localhost:8081/health
# 颿èŸåº
{
"status": "healthy",
"server": "mem0-mcp-server",
"version": "2.0.0",
"timestamp": "2025-08-23T05:00:00.000Z",
"activeSessions": 0,
"mem0Api": {
"url": "http://localhost:8000",
"connected": true
}
}ð ïž å·¥å ·è¯Žæ
1. mem0_add_memory
åèœ: ä»å¯¹è¯äžæåå¹¶æ·»å æ°å å
åæ°:
messages(required): å¯¹è¯æ¶æ¯æ°ç»user_id(required): çšæ·æ è¯ç¬Šenable_graph(optional): å¯çšåŸåœ¢å ³ç³»metadata(optional): éå å æ°æ®infer(optional): èªåšæšçäºå®
瀺äŸ:
{
"messages": [
{"role": "user", "content": "æäžäžªæèŠå»äžäº¬æ
è¡"},
{"role": "assistant", "content": "奜çïŒæè®°äœäº"}
],
"user_id": "alice",
"enable_graph": true,
"metadata": {"category": "travel"}
}2. mem0_search_memories
åèœ: æºèœæçŽ¢å ååº
åæ°:
query(required): æçŽ¢æ¥è¯¢user_id(required): çšæ·IDstrategy(optional): æçŽ¢çç¥ [semantic|graph|advanced_retrieval|hybrid]top_k(optional): è¿åæ°éthreshold(optional): çžäŒŒåºŠéåŒ
çç¥è¯Žæ:
semantic: åºäºè¯ä¹åéççžäŒŒåºŠæçŽ¢graph: å©çšç¥è¯åŸè°±å ³ç³»æçŽ¢advanced_retrieval: é«çº§æ£çŽ¢äžéæåºhybrid: æ··åå€ç§çç¥çæºèœæçŽ¢
3. mem0_update_memory
åèœ: æŽæ°ç°æå å
æš¡åŒ:
åäžªæŽæ°: æå®memory_id
æ¹éæŽæ°: 䜿çšbatch_updatesæ°ç»
4. mem0_delete_memory
åèœ: å é€å åè®°åœ
æš¡åŒ:
æIDå é€: æå®memory_id
æçšæ·å é€: æå®user_id
æ¡ä»¶å é€: 䜿çšfilters
æ¹éå é€: 䜿çšbatch_deletes
5. mem0_selective_memory
åèœ: åºäºæ¡ä»¶çèåæäœ
æäœç±»å:
add: æ·»å ç¬Šåæ¡ä»¶çå åsearch: æçŽ¢ç¬Šåæ¡ä»¶çå åupdate: æŽæ°ç¬Šåæ¡ä»¶çå ådelete: å é€ç¬Šåæ¡ä»¶çå å
6. mem0_criteria_retrieval
åèœ: é«çº§æ¡ä»¶æ£çŽ¢
ç¹æ§:
æ¯æå€æçAND/ORæ¡ä»¶ç»å
å€ç»ŽåºŠè¯åæºå¶
æºèœç»ææåº
ð¡ APIåè
HTTP端ç¹
ç«¯ç¹ | æ¹æ³ | æè¿° |
| POST | MCP请æ±å€ç (éæåšäŒ éuser_id) |
| POST | MCP请æ±å€ç (èªåšæ³šå ¥çšæ·äžäžæ) |
| GET | SSEäºä»¶æµ |
| GET | SSEäºä»¶æµ (çšæ·äžäžæ) |
| DELETE | äŒè¯ç»æ¢ |
| DELETE | äŒè¯ç»æ¢ (çšæ·äžäžæ) |
| GET | å¥åº·æ£æ¥ |
çšæ·äžäžæèªåšæ³šå ¥
æ°ç¹æ§: éè¿è·¯åŸèªåšæåçšæ·èº«ä»œïŒç®åå·¥å ·è°çš
# äŒ ç»æ¹åŒ - éèŠåšæ¯äžªå·¥å
·è°çšäžäŒ éuser_id
POST /mcp
{
"method": "tools/call",
"params": {
"name": "mem0_search_memories",
"arguments": {
"query": "æçæ
è¡è®¡å",
"user_id": "alice" # å¿
é¡»æåšäŒ é
}
}
}
# äŒåæ¹åŒ - èªåšä»è·¯åŸæåuser_id
POST /mcp/alice
{
"method": "tools/call",
"params": {
"name": "mem0_search_memories",
"arguments": {
"query": "æçæ
è¡è®¡å"
# user_id èªåšæ³šå
¥äžº "alice"
}
}
}MCPåè®®æ¹æ³
æ¹æ³ | æè¿° |
| åå§åäŒè¯ |
| ååºå¯çšå·¥å · |
| è°çšå·¥å · |
ð¢ éšçœ²æå
Dockeréšçœ²
æå»ºéå
docker build -t mem0-mcp-server .è¿è¡å®¹åš
docker run -d \
--name mem0-mcp \
-p 8081:8081 \
-e MEM0_API_URL=http://host.docker.internal:8000 \
-e MEM0_API_KEY=your_key \
mem0-mcp-serverPM2éšçœ²
# å®è£
PM2
npm install -g pm2
# å¯åšæå¡
pm2 start npm --name "mem0-mcp" -- run start:http:external
# ä¿åé
眮
pm2 save
pm2 startupsystemdæå¡
[Unit]
Description=Mem0 MCP Server
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/mem0_mcp_server
ExecStart=/usr/bin/node dist/index.js --http --host 0.0.0.0 --port 8081
Restart=on-failure
Environment=MEM0_API_URL=http://localhost:8000
[Install]
WantedBy=multi-user.targetð» åŒåæå
项ç®ç»æ
mem0_mcp_server/
âââ src/
â âââ index.ts # äž»å
¥å£
â âââ config/
â â âââ index.ts # é
眮管ç
â âââ client/
â â âââ mem0-api.ts # Mem0 API客æ·ç«¯
â âââ tools/
â âââ index.ts # å·¥å
·å®ç°
âââ dist/ # çŒè¯èŸåº
âââ package.json # 项ç®é
眮
âââ tsconfig.json # TypeScripté
眮
âââ README.md # æ¬ææ¡£åŒååœä»€
# åŒåæš¡åŒ(èªåšé蜜)
npm run dev
# æå»ºé¡¹ç®
npm run build
# è¿è¡æµè¯
npm test
# ä»£ç æ£æ¥
npm run lint
# æ ŒåŒå代ç
npm run formatæ·»å æ°å·¥å ·
åš
src/tools/index.tsäžæ·»å å·¥å ·æ¹æ³åš
src/index.tsäžæ³šåå·¥å ·æŽæ°æ¬READMEçå·¥å ·è¯Žæ
ð§ MCP客æ·ç«¯é 眮
Claude Desktop
çŒèŸ claude_desktop_config.json:
{
"mcpServers": {
"mem0": {
"transport": "http",
"endpoint": "http://localhost:8081/mcp",
"env": {
"MEM0_API_KEY": "your_api_key"
}
}
}
}å ¶ä»MCP客æ·ç«¯
{
"servers": [
{
"name": "mem0",
"type": "http",
"url": "http://localhost:8081/mcp",
"headers": {
"Authorization": "Token your_api_key"
}
}
]
}â æ éæé€
åžžè§é®é¢
Q: æ æ³è¿æ¥å°Mem0 API
# æ£æ¥Mem0æå¡ç¶æ
curl http://localhost:8000/health
# éªè¯APIå¯é¥
curl -H "Authorization: Token YOUR_KEY" http://localhost:8000/v1/memories/Q: äŒè¯IDæ æ
ç¡®ä¿å®¢æ·ç«¯æ£ç¡®å€çmcp-session-id header
æ£æ¥äŒè¯è¶ æ¶è®Ÿçœ®
Q: CORSé误
讟眮
MCP_CORS_ORIGINS=*å è®žæææºææå®å ·äœçå 讞æº
Q: 端å£å·²å çš
# æ¥æŸå çšç«¯å£çè¿çš
lsof -i :8081
# æäœ¿çšå
¶ä»ç«¯å£
npm run start:http -- --port 8082æ¥å¿è°è¯
# å¯çšè°è¯æ¥å¿
MCP_DEV_MODE=true npm run start:http
# æ¥ç宿¶æ¥å¿
tail -f logs/mcp-server.logð æ§èœäŒå
è¿æ¥æ± : Mem0客æ·ç«¯äœ¿çšæä¹ è¿æ¥
éè¯æºå¶: ææ°éé¿ç®æ³
è¶ æ¶æ§å¶: å¯é 眮ç请æ±è¶ æ¶
å¹¶åéå¶: 鲿¢èµæºèå°œ
ð å®å šå»ºè®®
ç产ç¯å¢:
䜿çšHTTPS
å¯çšè®€è¯
éå¶CORSæº
é 眮é²ç«å¢
APIå¯é¥:
䜿çšç¯å¢åé
å®æèœ®æ¢
éå¶æéèåŽ
çœç»:
䜿çšç§æçœç»
é 眮VPN访é®
çæ§åŒåžžæµé
ð€ èŽ¡ç®æå
欢è¿èŽ¡ç®ä»£ç ãæ¥åé®é¢ææåºå»ºè®®ïŒ
Fork项ç®
åå»ºç¹æ§åæ¯
æäº€åæŽ
æšéå°åæ¯
å建Pull Request
ð 讞å¯è¯
MIT License - è¯Šè§ LICENSE æä»¶
ð çžå ³éŸæ¥
ð¡ æç€º: éå°é®é¢ïŒæ¥çæ éæé€ææäº€Issue
â åŠæè¿äžªé¡¹ç®å¯¹äœ æåž®å©ïŒè¯·ç»æä»¬äžäžªStarïŒ
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that extends AI agents' context window by providing tools to store, retrieve, and search memories, allowing agents to maintain history and context across long interactions.MIT
- AlicenseBqualityDmaintenanceAn 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.401MIT
- AlicenseAqualityDmaintenanceMCP server for long-term agent memory, providing persistent memory, searchable knowledge, and evolving identity for AI agents.53Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides persistent memory capabilities for AI agents using Mem0, enabling storage, search, and management of contextual information across conversations with support for multiple backends and LLM providers.MIT
Related MCP Connectors
An MCP memory server. One memory your agents share â across models, devices and apps.
Cloud-hosted MCP server for durable AI memory
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mocha-s/mem0_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server