PluresLM MCP
Provides persistent vector memory with semantic search and P2P synchronization across devices for AI assistants.
README
PluresLM MCP Service
Distributed vector memory service for AI assistants powered by PluresDB.
PluresLM MCP provides persistent vector memory with P2P synchronization across devices. Built on PluresDB for distributed data and Model Context Protocol for AI tool integration.
Features
- 🧠 Persistent vector memory - Semantic search across conversation history
- 🌐 P2P synchronization - Share memories across devices via Hyperswarm
- 🔧 MCP protocol - Standard interface for AI assistant integration
- 🚀 Multiple transports - stdio, SSE/HTTP for different deployment needs
- 📦 Zero-knowledge - No central servers, encrypted P2P mesh
- 🛠️ Project indexing - Ingest codebases for context-aware assistance
Quick Start
Local Development (stdio)
npm install
npm run build
# Set PluresDB topic (generate with: openssl rand -hex 32)
export PLURES_DB_TOPIC="your-64-char-hex-topic-key"
# Start stdio MCP server
npm start
Remote Service (HTTP/SSE)
# Configure for HTTP transport
export MCP_TRANSPORT=sse
export PORT=3001
export HOST=0.0.0.0
export PLURES_DB_TOPIC="your-topic-key"
# Start HTTP service
npm start
# → Serving on http://0.0.0.0:3001/sse
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
PLURES_DB_TOPIC |
✅ | 64-char hex string (32 bytes) for PluresDB mesh |
PLURES_DB_SECRET |
❌ | Optional encryption secret for mesh |
MCP_TRANSPORT |
❌ | stdio (default) or sse for HTTP |
PORT |
❌ | HTTP port when using SSE transport (default: 3001) |
HOST |
❌ | HTTP host (default: 0.0.0.0) |
OPENAI_API_KEY |
❌ | OpenAI key for embeddings (falls back to local Transformers.js) |
OPENAI_EMBEDDING_MODEL |
❌ | OpenAI model name (default: text-embedding-3-small) |
PLURES_LM_DEBUG |
❌ | Enable debug logging (true/false) |
OpenClaw Integration
Local (stdio):
{
"mcpServers": {
"pluresLM": {
"command": "node",
"args": ["path/to/pluresLM-mcp/dist/index.js"],
"env": {
"PLURES_DB_TOPIC": "your-topic-key"
}
}
}
}
Remote (SSE):
{
"mcpServers": {
"pluresLM": {
"transport": {
"type": "sse",
"url": "http://memory-service:3001/sse"
}
}
}
}
Architecture
PluresDB Backend
PluresLM v2.0+ uses pure PluresDB for storage and synchronization:
- No SQLite dependencies - Distributed-first design
- Hyperswarm P2P mesh - Direct device-to-device sync
- Embedded vector search - Cosine similarity in-memory
- Conflict-free replication - CRDTs for distributed consistency
Transport Options
- stdio (default) - Process pipes for local OpenClaw integration
- sse - Server-Sent Events over HTTP for remote/clustered deployments
Memory Sync
All devices sharing the same PLURES_DB_TOPIC automatically sync memories:
# Device 1
export PLURES_DB_TOPIC="abc123..."
npm start # Stores memories locally
# Device 2
export PLURES_DB_TOPIC="abc123..." # Same topic
npm start # Automatically receives Device 1's memories
Tools
PluresLM MCP exposes these tools for AI assistants:
pluresLM_store(content, tags?, category?, source?)- Store new memorypluresLM_search(query, limit?, minScore?)- Semantic searchpluresLM_forget(id? | query?, threshold?)- Delete memoriespluresLM_index(directory, maxFiles?, category?, tags?)- Index codebasepluresLM_status()- Database stats + sync statuspluresLM_profile()- User profile data
Deployment
Connect-msWork Fleet
For enterprise deployments across multiple OpenClaw instances:
# Memory service (dedicated server)
docker run -p 3001:3001 -e MCP_TRANSPORT=sse plures/pluresLM-mcp
# Worker instances (point to service)
export MCP_TRANSPORT=sse
export PLURES_LM_SERVICE_URL=http://memory-service:3001/sse
High Availability
# Multiple services with shared PluresDB topic
docker-compose up -d # Load balancer → N service instances
Migration from v1.x
PluresLM v2.0 is a breaking change from SQLite-based v1.x:
What Changed
- ❌ Removed: All SQLite/better-sqlite3 dependencies
- ✅ Added: PluresDB distributed storage
- ✅ Added: P2P mesh synchronization
- ✅ Added: SSE/HTTP transport option
- 🔄 Changed: Tool names (
memory_*→pluresLM_*) - 🔄 Changed: Configuration (file paths → topic keys)
Migration Path
- Export v1.x data:
pluresLM_export_bundle - Deploy v2.0 with PluresDB topic
- Import data:
pluresLM_import_bundle
Note: Direct file migration not supported due to schema differences.
License
Dual-licensed under BSL-1.1 and MIT. You may choose either license at your option.
Links
- PluresDB - Distributed database engine
- Model Context Protocol - AI tool standard
- OpenClaw - AI assistant platform
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。