mbcrawfo/KnowledgeBaseServer
If you are the rightful owner of KnowledgeBaseServer and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP KnowledgeBase Server is a Model Context Protocol server designed to store and retrieve memories for LLMs using a SQLite database.
MCP KnowledgeBase Server
A Model Context Protocol (MCP) server that allows LLMS to store memories during a conversation and search them later. Memories are stored in a SQLite database, and its full text search features power the memory search.
Usage
Two environment variables control the location and filename of the database.
DATABASE_NAME
: Use the default location, but a custom db filename. For example, my_custom_db.sqlite
.
DATABASE_PATH
: Specify the fully path to the db file (ignores DATABASE_NAME
). For example, /Users/your_name/.db/my_db.sqlite
.
Docker
When using docker you must create a persistent volume to store the database (advanced users can mount a folder from their file system, if desired). Run docker volume create knowledgebase
to set it up, then configure the server in your claude_desktop_config.json
as below.
If you want to use a custom database file with docker you must use DATABASE_PATH
and pass it to the docker command using the --env
arg. For example (place these strings in the args
array of the config, before the image name), "--env", "DATABASE_PATH=/db/my_db.sqlite"
.
{
"mcpServers": {
"knowledgebase": {
"command": "docker",
"args": [
"run",
"--interactive",
"--rm",
"--volume", "knowledgebase:/db",
"mbcrawfo/knowledge-base-server"
]
}
}
}
Run locally with dotnet cli
- You will need the .Net 9 SDK.
- Clone this repository.
- Navigate to the repo in your terminal and run
dotnet build
. - Add the config below to
claude_desktop_config.json
(if you get errors, try specifying the full path to the dotnet cli).
When running locally the default database location is in your Application Data directory.
{
"mcpServers": {
"knowledgebase": {
"command": "dotnet",
"args": [
"run",
"--project", "/full/path/to/repo/src/KnowledgeBaseServer/KnowledgeBaseServer.csproj",
"--no-restore",
"--no-build"
]
}
}
}
Prompts
The server includes a "General Memory Usage" prompt to tell the LLM how to use memory. However you may wish to use a custom prompt to be more specific to your usage.
Development
You can use the app with the --init-db
parameter to create or upgrade databases for testing. From the KnowledgeBaseServer project directory, run dotnet run -- --init-db /path/to/db.sqlite
.