OpenMemory RAG MCP Server
MCP server for importing documents into OpenMemory RAG knowledge base. Supports file uploads, URL imports, and text content ingestion.
Features
- 📄 Import Files: PDF, DOCX, TXT, MD, HTML
- 🌐 Import URLs: Webpages, articles, documentation
- 📝 Import Text: Raw text content
- 🔍 Search: Query the knowledge base
Installation
npm install
npm run build
Configuration
Set environment variables:
export OPENMEMORY_URL="http://localhost:8080"
export OPENMEMORY_USER_ID="rag_user"
Usage
With Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"openmemory-rag": {
"command": "node",
"args": ["/path/to/openmemory-rag-mcp/dist/index.js"],
"env": {
"OPENMEMORY_URL": "http://localhost:8080",
"OPENMEMORY_USER_ID": "my_knowledge_base"
}
}
}
}
With Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"openmemory-rag": {
"command": "node",
"args": ["/path/to/openmemory-rag-mcp/dist/index.js"],
"env": {
"OPENMEMORY_URL": "http://localhost:8080"
}
}
}
}
With Windsurf
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"openmemory-rag": {
"command": "node",
"args": ["/path/to/openmemory-rag-mcp/dist/index.js"]
}
}
}
Available Tools
1. import_file
Import a local file into the knowledge base.
Example: `` "Import the file /home/user/document.pdf into my knowledge base" ``
Parameters:
file_path(required): Absolute path to the fileuser_id(optional): User ID for the knowledge basetags(optional): Array of tags
2. import_url
Import content from a URL.
Example: `` "Import this article: https://example.com/article" ``
Parameters:
url(required): URL to importuser_id(optional): User IDtags(optional): Array of tags
3. import_text
Import raw text content.
Example: `` "Save this to my knowledge base: [your text content]" ``
Parameters:
content(required): Text contenttitle(optional): Title for the contentuser_id(optional): User IDtags(optional): Array of tags
4. search_knowledge
Search the knowledge base.
Example: `` "Search my knowledge base for information about Python" ``
Parameters:
query(required): Search queryuser_id(optional): User ID to search withinlimit(optional): Maximum results (default: 5)
Prerequisites
- OpenMemory backend running on
http://localhost:8080 - Node.js 18+
Quick Start
- Start OpenMemory backend:
cd /path/to/OpenMemory/packages/openmemory-js
npm run dev
- Build MCP server:
cd openmemory-rag-mcp
npm install
npm run build
- Configure AI tool (see Usage section above)
- Restart AI tool (Claude/Cursor/Windsurf)
- Test:
"Import the file /home/user/notes.pdf"
"Search for Python programming"
Supported File Types
| Type | Extensions | |------|------------| | Documents | .pdf, .docx, .txt, .md, .html | | Web | Any URL | | Text | Raw text content |
Example Workflow
User: "Import my research paper at /home/user/research.pdf"
AI: ✅ File imported successfully!
Memory ID: abc-123
Tokens: 5000
Strategy: root-child
Sections: 3
User: "What does my research paper say about machine learning?"
AI: 🔍 Found 2 results for "machine learning":
1. [Score: 0.892] Machine learning is a subset of artificial intelligence...
2. [Score: 0.845] The paper discusses various ML algorithms including...
Troubleshooting
MCP tools not showing up
- Ensure OpenMemory backend is running:
curl http://localhost:8080/health - Check MCP config file path is correct
- Restart AI tool after configuration
Import fails
- Verify file path is absolute
- Check file permissions
- Ensure OpenMemory backend is accessible
Search returns no results
- Verify
user_idmatches the one used during import - Check if content was actually imported
- Try broader search terms
Development
# Watch mode
npm run watch
# Build
npm run build
# Run directly
npm start
License
MIT






