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
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.