Persistent Context MCP
A memory management system that enables AI assistants to store, search, and visualize persistent conversation contexts using a Neo4j graph database. It provides an MCP server for integration with Claude Desktop along with a web-based dashboard for managing relationship-based knowledge.
README
@corbyjames/persistent-context-mcp
AI memory management and context persistence system with Model Context Protocol (MCP) server for Claude Desktop and other AI assistants.
🌟 Features
- Persistent Context Storage: Store and retrieve conversation contexts using Neo4j graph database
- MCP Server Integration: Full compatibility with Claude Desktop via Model Context Protocol
- Web UI: Interactive dashboard for managing contexts and visualizing relationships
- Multi-Storage Support: Neo4j for graph relationships, file system for backups
- AI Integration: Optional OpenAI/Anthropic API support for semantic search
- Docker/Podman Support: Containerized deployment options
- CLI Tool: Global command-line interface for easy management
🚀 Quick Start
Installation
# Install globally
npm install -g @corbyjames/persistent-context-mcp
# Or using npx (no installation required)
npx @corbyjames/persistent-context-mcp init
Initialize Configuration
# Interactive setup
persistent-context init
# With Claude Desktop integration
persistent-context init --claude
# With Docker configuration
persistent-context init --docker
Start Services
# Start Neo4j database
persistent-context neo4j start
# Start MCP server
persistent-context start
# Start with UI
persistent-context start --ui
# Or run as daemon
persistent-context start --daemon
🔧 Claude Desktop Integration
Automatic Setup
persistent-context claude-setup
This will automatically configure Claude Desktop to use the MCP server.
Manual Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"persistent-context": {
"command": "persistent-context",
"args": ["start"],
"env": {
"PORT": "3000"
}
}
}
}
Note: Restart Claude Desktop after configuration.
🐳 Docker/Podman Deployment
Using Docker
# Generate docker-compose.yml
persistent-context container docker
# Start services
docker-compose up -d
# View logs
docker-compose logs -f
Using Podman
# Generate podman-compose.yml
persistent-context container podman
# Start services
podman-compose up -d
# View logs
podman-compose logs -f
Pre-built Docker Image
docker run -d \
--name persistent-context \
-p 3000:3000 \
-p 5173:5173 \
-e NEO4J_URI=bolt://neo4j:7687 \
-e NEO4J_USER=neo4j \
-e NEO4J_PASSWORD=password \
corbyjames/persistent-context-mcp:latest
📁 Configuration
Environment Variables
Create a .env file in your project directory:
# Neo4j Configuration
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
# Server Configuration
PORT=3000
NODE_ENV=production
LOG_LEVEL=info
# Data Storage
DATA_DIR=~/.persistent-context
BACKUP_DIR=~/.persistent-context/backups
# Optional: AI Integration
OPENAI_API_KEY=your-api-key
# Security - Store in secure vault for production
SECRETS_PATH=~/.persistent-context/secrets
Secrets Management
For production deployments, we recommend storing secrets using:
-
AWS Secrets Manager
aws secretsmanager create-secret \ --name persistent-context/neo4j \ --secret-string '{"password":"secure-password"}' -
Azure Key Vault
az keyvault secret set \ --vault-name mykeyvault \ --name neo4j-password \ --value "secure-password" -
HashiCorp Vault
vault kv put secret/persistent-context \ neo4j_password="secure-password" -
Kubernetes Secrets
kubectl create secret generic persistent-context \ --from-literal=neo4j-password=secure-password
🖥️ CLI Commands
Core Commands
# Initialize configuration
persistent-context init [options]
--claude Setup for Claude Desktop
--docker Generate Docker config
--podman Generate Podman config
# Start MCP server
persistent-context start [options]
-d, --daemon Run as daemon
--ui Also start the UI
# Start web UI
persistent-context ui [options]
-p, --port UI port (default: 5173)
# Manage Neo4j
persistent-context neo4j <action>
start Start Neo4j container
stop Stop Neo4j container
status Check Neo4j status
# Setup Claude Desktop
persistent-context claude-setup
# Generate container config
persistent-context container <runtime>
docker Generate docker-compose.yml
podman Generate podman-compose.yml
Short Alias
You can also use the short alias pcmcp:
pcmcp init
pcmcp start
pcmcp ui
🏗️ Architecture
┌─────────────────┐ ┌──────────────┐ ┌─────────────┐
│ Claude Desktop │────▶│ MCP Server │────▶│ Neo4j │
└─────────────────┘ └──────────────┘ └─────────────┘
│
▼
┌──────────────┐
│ Web UI │
└──────────────┘
Components
- MCP Server: Implements Model Context Protocol for AI assistants
- Neo4j Database: Stores contexts as a knowledge graph
- Web UI: React-based dashboard for visualization
- CLI Tool: Command-line interface for management
🔌 MCP Tools Available
When integrated with Claude Desktop, the following tools are available:
save_context
Save a new context to the persistent store.
{
title: string;
content: string;
tags?: string[];
metadata?: Record<string, any>;
}
search_contexts
Search for contexts using semantic or keyword search.
{
query: string;
limit?: number;
tags?: string[];
dateRange?: {
start: string;
end: string;
};
}
generate_template
Generate a context template for specific use cases.
{
type: 'technical' | 'business' | 'analysis' | 'planning';
domain?: string;
includeExamples?: boolean;
}
📊 Web UI Features
Access the web UI at http://localhost:5173 (when running with --ui flag):
- Dashboard: Overview of stored contexts and statistics
- Context Browser: Search and browse all contexts
- Graph Visualization: Interactive knowledge graph
- Templates: Pre-built context templates
- Analytics: Usage patterns and insights
- Settings: Configuration management
🔒 Security Considerations
- Default Credentials: Change default Neo4j password immediately
- Network Security: Use TLS/SSL in production
- Access Control: Implement authentication for web UI
- Data Encryption: Enable encryption at rest for Neo4j
- Secrets Management: Use proper secret vaults in production
🧪 Testing
# Run all tests
npm test
# Unit tests only
npm run test:unit
# Integration tests
npm run test:integration
# E2E tests
npm run test:e2e
# Test coverage
npm run test:coverage
📦 Building from Source
# Clone repository
git clone https://github.com/corbyjames/persistent-context-mcp.git
cd persistent-context-mcp
# Install dependencies
npm install
# Build project
npm run build
# Run locally
npm start
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Anthropic for Claude and MCP protocol
- Neo4j for the graph database
- IBM TargetProcess for project management inspiration
- Open source community for various dependencies
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: corby.james@example.com
🗺️ Roadmap
- [ ] Multi-user support with authentication
- [ ] Cloud deployment templates (AWS, Azure, GCP)
- [ ] Additional AI model integrations
- [ ] Export/Import functionality
- [ ] Context versioning and history
- [ ] Collaborative context editing
- [ ] Mobile app support
Made with ❤️ by Corby James
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。