A Model Context Protocol server that provides knowledge graph management capabilities. This server enables LLMs to create, read, update, and delete entities and relations in a persistent knowledge graph, helping AI assistants maintain memory across conversations. This is a Swift implementation of the official TypeScript Memory MCP Server.
Note: This Swift version requires macOS 14.0 or later. For broader platform support (including Windows, Linux, and macOS 11.0+), check out the Go language implementation: memory-mcp-server-go.
create_entities
- Create multiple new entities in the knowledge graph
entities
(array, required): Array of entity objects to create
name
(string): The name of the entityentityType
(string): The type of the entityobservations
(array of strings): Observations associated with the entitycreate_relations
- Create multiple new relations between entities
relations
(array, required): Array of relation objects
from
(string): The name of the entity where the relation startsto
(string): The name of the entity where the relation endsrelationType
(string): The type of the relation (in active voice)add_observations
- Add new observations to existing entities
observations
(array, required): Array of observation additions
entityName
(string): The name of the entity to add observations tocontents
(array of strings): The observations to adddelete_entities
- Delete multiple entities and their associated relations
entityNames
(array, required): Array of entity names to deletedelete_observations
- Delete specific observations from entities
deletions
(array, required): Array of observation deletions
entityName
(string): The name of the entity containing the observationsobservations
(array of strings): The observations to deletedelete_relations
- Delete multiple relations from the knowledge graph
relations
(array, required): Array of relation objects to delete
from
(string): The source entity nameto
(string): The target entity namerelationType
(string): The relation typeread_graph
- Read the entire knowledge graph
search_nodes
- Search for nodes in the knowledge graph based on a query
query
(string, required): Search query to match against entity names, types, and observationsopen_nodes
- Open specific nodes in the knowledge graph by their names
names
(array, required): Array of entity names to retrieveThe easiest way to install is with the one-line installer, which automatically downloads the latest version and installs it to ~/.local/bin
in your home directory:
curl -fsSL https://raw.githubusercontent.com/okooo5km/memory-mcp-server/main/install.sh | bash
The installer will:
~/.local/bin
if it doesn't existClone the repository:
git clone https://github.com/okooo5km/memory-mcp-server.git
cd memory-mcp-server
Build the project:
swift build -c release
Install the binary:
# Install to user directory (recommended, no sudo required)
mkdir -p ~/.local/bin
cp $(swift build -c release --show-bin-path)/memory-mcp-server ~/.local/bin/
Make sure ~/.local/bin
is in your PATH by adding to your shell configuration file:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # or ~/.bashrc
source ~/.zshrc # or source ~/.bashrc
The server supports the following command line arguments:
-h, --help
: Display help information about the server, its usage, and available options-v, --version
: Display the version number of the memory-mcp-serverExample usage:
# Display help information
memory-mcp-server --help
# Display version information
memory-mcp-server --version
The server supports the following environment variables:
MEMORY_FILE_PATH
: Custom path for storing the knowledge graph (optional)
memory.json
in the current working directoryYou can check the configured file path in the server logs when starting the server.
export MEMORY_FILE_PATH="/path/to/your/memory.json"
Add to your Claude settings:
"mcpServers": {
"memory": {
"command": "memory-mcp-server",
"env": {
"MEMORY_FILE_PATH": "/path/to/your/memory.json"
}
}
}
Add the following configuration to your Cursor editor's Settings - mcp.json:
{
"mcpServers": {
"memory": {
"command": "memory-mcp-server",
"env": {
"MEMORY_FILE_PATH": "/path/to/your/memory.json"
}
}
}
}
Add the memory MCP server to your Chatwise Settings - Tools.
You can use the following system prompt to help Claude utilize the memory-mcp-server effectively:
You have access to a Knowledge Graph memory system, which can store and retrieve information across conversations. Use it to remember important details about the user, their preferences, and any facts they've shared.
When you discover important information, save it using memory tools:
- `create_entities` to add new people, places, or concepts
- `create_relations` to record how entities relate to each other
- `add_observations` to record facts about existing entities
Before answering questions that might require past context, check your memory:
- `search_nodes` to find relevant information
- `open_nodes` to retrieve specific entities
- `read_graph` to get a complete view of your knowledge
Always prioritize information from your memory when responding to the user, especially when they reference past conversations.
The Memory MCP Server uses a simple graph structure to store knowledge:
The knowledge graph is persisted to disk as a line-delimited JSON file, where each line is either an entity or relation object.
{
"entities": [
{
"name": "John Smith",
"entityType": "Person",
"observations": ["Software engineer", "Lives in San Francisco", "Enjoys hiking"]
},
{
"name": "Acme Corp",
"entityType": "Company",
"observations": ["Founded in 2010", "Tech startup"]
}
]
}
{
"relations": [
{
"from": "John Smith",
"to": "Acme Corp",
"relationType": "works at"
}
]
}
{
"observations": [
{
"entityName": "John Smith",
"contents": ["Recently promoted to Senior Engineer", "Working on AI projects"]
}
]
}
{
"query": "San Francisco"
}
{
"names": ["John Smith", "Acme Corp"]
}
See GitHub Releases for version history and changelog.
If you find Memory MCP Server helpful, please consider supporting its development:
memory-mcp-server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.
A Swift implementation of a knowledge graph memory server for Model Context Protocol (MCP), enabling persistent memory capabilities for large language models. This project is based on the official TypeScript implementation but rewritten in Swift using the MCP Swift SDK.
Seamless access to top MCP servers powering the future of AI integration.