Knowledge graph memory with semantic search backed by the Qdrant vector database and OpenAI embeddings.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add qdrant-memory --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env QDRANT_API_KEY='<QDRANT_API_KEY>' --env QDRANT_COLLECTION_NAME='<QDRANT_COLLECTION_NAME>' --env QDRANT_URL='<QDRANT_URL>' -- docker build -t mcp-qdrant-memory .~/.codex/config.toml
[mcp_servers.qdrant-memory]
command = "docker"
args = ["build", "-t", "mcp-qdrant-memory", "."]
env = { OPENAI_API_KEY = "<OPENAI_API_KEY>", QDRANT_API_KEY = "<QDRANT_API_KEY>", QDRANT_COLLECTION_NAME = "<QDRANT_COLLECTION_NAME>", QDRANT_URL = "<QDRANT_URL>" }
# codex mcp add qdrant-memory --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env QDRANT_API_KEY='<QDRANT_API_KEY>' --env QDRANT_COLLECTION_NAME='<QDRANT_COLLECTION_NAME>' --env QDRANT_URL='<QDRANT_URL>' -- docker build -t mcp-qdrant-memory .~/.cursor/mcp.json
{
"mcpServers": {
"qdrant-memory": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-qdrant-memory",
"."
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"QDRANT_API_KEY": "<QDRANT_API_KEY>",
"QDRANT_COLLECTION_NAME": "<QDRANT_COLLECTION_NAME>",
"QDRANT_URL": "<QDRANT_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"qdrant-memory": {
"type": "stdio",
"command": "docker",
"args": [
"build",
"-t",
"mcp-qdrant-memory",
"."
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"QDRANT_API_KEY": "<QDRANT_API_KEY>",
"QDRANT_COLLECTION_NAME": "<QDRANT_COLLECTION_NAME>",
"QDRANT_URL": "<QDRANT_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"qdrant-memory": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-qdrant-memory",
"."
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"QDRANT_API_KEY": "<QDRANT_API_KEY>",
"QDRANT_COLLECTION_NAME": "<QDRANT_COLLECTION_NAME>",
"QDRANT_URL": "<QDRANT_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"qdrant-memory": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-qdrant-memory",
"."
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"QDRANT_API_KEY": "<QDRANT_API_KEY>",
"QDRANT_COLLECTION_NAME": "<QDRANT_COLLECTION_NAME>",
"QDRANT_URL": "<QDRANT_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"qdrant-memory": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-qdrant-memory",
"."
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"QDRANT_API_KEY": "<QDRANT_API_KEY>",
"QDRANT_COLLECTION_NAME": "<QDRANT_COLLECTION_NAME>",
"QDRANT_URL": "<QDRANT_URL>"
}
}
}
}Environment variables
OPENAI_API_KEYQDRANT_API_KEYQDRANT_COLLECTION_NAMEQDRANT_URL
Replace the placeholders with your own credentials and keep them out of version control.