SmartMemory
Allows using Google's LLM models (e.g., Gemini) for extracting facts and rules from natural language and documents.
Allows using locally-hosted LLM models (e.g., Llama) via Ollama for extracting facts and rules.
Allows using OpenAI's LLM models (e.g., GPT-4) for extracting facts and rules from natural language and documents.
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., "@SmartMemoryRemember that the meeting is at 3pm on Fridays"
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.
π§ SmartMemory
Give your LLM structured, verifiable memory β turn conversations into knowledge graphs your AI can reason over.
Proof of Concept. SmartMemory is an experimental implementation of a neuro-symbolic architecture, built to explore how LLMs can interact with knowledge graphs to learn and apply rules. It is not intended for production use β treat it as a research and learning playground.
Why SmartMemory?
LLMs are brilliant talkers with no real memory. Across a conversation they forget, they can't explain why they concluded something, and they happily state things that were never verified.
SmartMemory adds the missing half: a symbolic brain.
Facts you state are stored in an auditable knowledge graph (RDF), each with its provenance.
Logic is captured as explicit, inspectable rules (SPARQL/OWL) β not hidden in weights.
New conclusions are derived, traceable, and reversible β and ambiguous ones are sent back to you for validation.
The result is an assistant that doesn't just sound right β it can show its reasoning.
Related MCP server: dragon-brain
What it can do
SmartMemory turns your AI assistant into a domain expert that supports:
Asynchronous reasoning β deductions run in the background (
InferenceManager) without slowing the conversation.Uncertainty handling β ambiguous facts trigger a human-in-the-loop validation workflow.
Smart NLP extraction β handles complex sentences, coreferences, and direct Turtle notation.
Provenance & audit β every stored fact keeps its origin (UUID, source, timestamp).
Dynamic rule engine β learns and applies new SPARQL rules on the fly.
How it works
flowchart LR
A["Natural-language<br/>conversation"] -->|LLM extraction| B["Facts"]
B --> C[("Knowledge Graph<br/>RDF / Turtle")]
C -->|SPARQL / OWL rules| D["Inference engine"]
D -->|new deductions| C
D -->|ambiguous?| E["Human-in-the-loop<br/>validation"]
E -->|approve rule / fact| C
C -->|provenance + audit| F["Verifiable answers"]The LLM is the language cortex (understanding and extraction); the knowledge graph and rule engine are the symbolic memory (storage, logic, proof). Neither alone is enough β together they are neuro-symbolic.
Two ways to use it
π¬ Conversational Mode β the "Brain" | ποΈ Supervision Mode β the "Factory" | |
For | Individuals using an LLM client (Claude Desktop, etc.) | Teams, developers, heavy users |
Goal | Let your assistant remember facts and learn logic as you chat | Extract thousands of rules from documents (PDFs) and visualize the graph |
How | Configure it as an MCP server | Deploy the full dashboard via Docker |
Setup |
Quick start
I want to⦠| Go to |
Get running in 5 minutes | |
Try the advanced demo | |
Understand the internals | |
Configure a provider | |
Fix a problem | |
Browse all docs |
Mode 1 β Conversational Setup (MCP)
Gives your LLM long-term memory and logical deduction.
Option A β Docker (recommended) π³
No Python required. The image is published on GitHub Container Registry.
Claude Desktop β edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smart-memory": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/mauriceisrael/smart-memory:latest"]
}
}
}The same block works for any MCP client (e.g. Cline) β just point it at your client's mcp_settings.json. Restart the client and you're done. β
Option B β Local server (from source) π
Best for developers and privacy-conscious users.
git clone https://github.com/MauriceIsrael/SmartMemory
cd SmartMemory
python3 -m venv venv
source venv/bin/activate
pip install -e .Then point Claude Desktop at your local install:
{
"mcpServers": {
"smartmemory": {
"command": "/absolute/path/to/SmartMemory/venv/bin/python",
"args": ["-m", "smart_memory.server"]
}
}
}Restart Claude and try: "I know Bob. He goes to work by car. Can he vote?" β see the demo below.
Mode 2 β Supervision Setup (Docker)
Runs the web dashboard and API server β ideal for visualizing the knowledge graph, extracting rules from PDFs, and hosting a shared memory for a team.
# Dashboard mode β example with Mistral
docker run -p 8080:8080 \
-e LLM_PROVIDER=mistral \
-e LLM_MODEL=mistral-large-latest \
-e LLM_API_KEY=your-api-key \
-v $(pwd)/brain:/app/data \
ghcr.io/mauriceisrael/smart-memory:latest dashboard# Dashboard mode β example with a local model (Ollama)
docker run -p 8080:8080 \
-e LLM_PROVIDER=ollama \
-e LLM_MODEL=llama3 \
-e LLM_BASE_URL=http://172.17.0.1:11434 \
-v $(pwd)/brain:/app/data \
ghcr.io/mauriceisrael/smart-memory:latest dashboardAdd
dashboardto start the web server; without it the container starts in MCP mode. The-vvolume persists your knowledge graph and rules. Open the dashboard athttp://localhost:8080.
LLM configuration
SmartMemory uses an LLM to extract facts and rules from natural language and documents. Configure it via the dashboard Admin page or via environment variables (-e LLM_PROVIDER=β¦).
Provider | Example models | Notes |
Mistral |
| European, La Plateforme API |
Ollama (local, free) |
| Runs offline |
OpenAI |
| |
Anthropic |
| |
|
Extracting rules from documents
Upload a PDF (e.g.
Company_Policy.pdf).Pick a provider β the server needs an API key (or a local Ollama) to read the document.
Review & approve β the system proposes rules; you accept them in bulk from the dashboard.
Interactive demo β from facts to rules
What happens in Conversational Mode:
> I know Bob
LLM: β¦ I've recorded the fact: I know Bob.
> He goes to work by car
LLM: β¦ Noted: Bob goes to work by car.
> Can Bob vote?
LLM: β¦ I can't conclude yet β but since he drives, he is likely an adult.
May I add the rule "Drivers are adults"?
> yes
LLM: β¨ Rule 'drivers_are_adults' added.
May I also add "Adults can vote"?
> yes
LLM: β¨ Rule 'adults_can_vote' added.
β¦ Therefore, yes β Bob can vote. (derived from 2 rules)Every step is stored, attributed, and replayable β that's the point.
Tech stack
Backend: Python 3.11+, RDFLib, FastAPI
Frontend: SvelteKit, TypeScript, TailwindCSS
Reasoning: Neuro-symbolic (LLM + SPARQL / OWL)
Protocol: Model Context Protocol (MCP)
Packaging & deploy: Docker, GitHub Container Registry, Google Cloud Run
Roadmap
Broaden document ingestion (DOCX, HTML, web pages)
Richer graph visualization and rule-conflict detection
First tagged release (
v0.1.0)
Ideas and contributions welcome β see CONTRIBUTING.md.
License
MIT β see LICENSE.
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
- Alicense-qualityCmaintenanceA local MCP memory server giving LLMs a persistent, auditable memory fabric with temporal awareness, relationship tracking, and contradiction detection.MIT
- Alicense-qualityAmaintenanceOpen-source MCP server that gives any LLM long-term memory using a knowledge graph and vector search hybrid. It stores entities, observations, and relationships, enabling semantic recall across sessions with automatic clustering and fail-loud infrastructure.50MIT
- Flicense-qualityCmaintenanceMCP server that gives AI agents and teams persistent, shared memory using a knowledge graph with vector embeddings, automatic consolidation of related facts, and hybrid search.3
Related MCP Connectors
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Cloud-hosted MCP server for durable AI memory
MCP server for AI dialogue using various LLM models via AceDataCloud
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/MauriceIsrael/SmartMemory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server