MCP-server that implements memory stored in MongoDB
Project description
MCP Memory Graph Server
Overview
The Memory Graph Server provides a persistent storage layer for knowledge graphs, allowing for:
- Storage of entities and their properties
- Management of relationships between entities
- Querying and traversing the graph structure
- Real-time updates and modifications
Features
- MongoDB-based persistent storage
- Graph operations (create, read, update, delete)
- Entity management
- Relationship handling
- Query capabilities
- Real-time updates
Configuration
Setting up a Free MongoDB Atlas Cluster (Quick Start)
If you do not already have a MongoDB instance running, you can spin up a free cloud cluster on MongoDB Atlas (https://cloud.mongodb.com) in just a few minutes:
-
Register / Sign in
Open https://cloud.mongodb.com and create an account. You can register with e‑mail or sign in via Google or GitHub. -
Create a Project & Cluster
Create a new Project (e.g.mcp-memory) and choose Create → Deployment → Create a cluster. Select the Free Shared (M0) tier, pick the provider/region closest to you, give the cluster a name and click Create. Provisioning takes ~2‑3 minutes. -
Create a Database User
Navigate to Database Access → Add New Database User. – Choose Password authentication. – Enter a Username (e.g.mcp_user) and a strong Password (or autogenerate one). – For quick tests, give the user Read and write to any database privileges (you can tighten this later). – Click Add User and store the credentials somewhere safe. -
Allow Your IP Address
Go to Network Access → Add IP Address and whitelist the public IP address from which the server will connect. You can click Add Current IP Address or specify it manually. -
Get the Connection String (URI)
On the Database Deployments screen click Connect → Drivers, choose Python and copy the URI, which looks like:mongodb+srv://<username>:<password>@<cluster>.mongodb.net/?retryWrites=true&w=majorityReplace
<username>/<password>with the credentials from step 3 and optionally append/<database>to select the default database, e.g./mcp_memory. -
Configure the Memory Graph Server
Export the connection string via the environment variable expected by the server:export MCP_MONGO_MEMORY_CONNECTION="mongodb+srv://mcp_user:<password>@cluster0.mongodb.net/mcp_memory?retryWrites=true&w=majority"
Keep the quotes around the URI so that special characters are preserved, and never commit this string to version control.
Now you can launch the server as shown in the MCP Server Configuration section.
Using Environment Variables Directly
Alternatively, you can set the required environment variable directly:
MCP_MONGO_MEMORY_CONNECTION=mongodb://username:password@host:port/database
Installation and Setup
Prerequisites
-
Install uvx (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Set up MongoDB connection (see Configuration section below)
MCP Server Configuration
Add the snippet below to your mcp configuration:
{
"mcpServers": {
"Memory": {
"command": "/path/to/local/bin/uvx",
"args": [
"mongo-memory"
],
"env": {
"MCP_MONGO_MEMORY_CONNECTION": "mongodb://username:password@host:port/database"
}
}
}
}
Replace /path/to/local/bin/ with your actual path to uvx.
Replace the connection string with your actual MongoDB credentials.
Available Operations
The server provides the following operations for AI agents:
Entity Management:
create_entities- Create new entities with unique namesget_entity- Retrieve a single entity by nameupdate_entity- Update existing entity datadelete_entity- Remove an entityfind_entities- Search entities with query criteria
Relationship Management:
create_relationship- Create relationships between entitiesget_relationships- Retrieve relationships with filteringdelete_relationship- Remove specific relationships
Memory Structure:
get_memory_structure- Get current memory organizationget_usage_guide- Get comprehensive usage examples and best practices
For detailed usage examples, patterns, and best practices, AI agents should call get_usage_guide().
Development
See DEVELOPMENT.md for development setup and guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mongo_memory-0.3.1.tar.gz.
File metadata
- Download URL: mongo_memory-0.3.1.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44aa08f788e3e3ca9e9e7e50d3b6932fa2175f0a98921f5cc7a4426776eee867
|
|
| MD5 |
b0f32a448299a6446a8e6ddd10dcd97f
|
|
| BLAKE2b-256 |
42d25f4ca43b15c44446d9fac10dfcdcf1279b2ccb01b773148328c5fabc6032
|
File details
Details for the file mongo_memory-0.3.1-py3-none-any.whl.
File metadata
- Download URL: mongo_memory-0.3.1-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2f13a4021c4f672cd1fa591976dffe12f55e4b8e80fa2107cc3f54173494796
|
|
| MD5 |
7493807f403b772bc1bca58e899f1668
|
|
| BLAKE2b-256 |
d2b07b0c4e5e848d4ad4b679e622a2588581535c2bb25dd0ed768fded940a26f
|