# Smithery configuration for MemoryGraph MCP Server
# https://smithery.ai/docs/config#smitheryyaml
startCommand:
type: stdio
configSchema:
type: object
properties:
backend:
type: string
enum: ["sqlite", "neo4j", "memgraph"]
default: sqlite
description: Database backend to use (sqlite, neo4j, or memgraph)
toolProfile:
type: string
enum: ["lite", "standard", "full"]
default: lite
description: "Tool profile: lite (8 tools), standard (15 tools), or full (44 tools)"
neo4jUri:
type: string
description: Neo4j connection URI (required if backend is neo4j)
neo4jUser:
type: string
description: Neo4j username (required if backend is neo4j)
neo4jPassword:
type: string
description: Neo4j password (required if backend is neo4j)
memgraphUri:
type: string
description: Memgraph connection URI (required if backend is memgraph)
sqlitePath:
type: string
description: SQLite database file path (optional, defaults to ~/.memorygraph/memory.db)
logLevel:
type: string
enum: ["DEBUG", "INFO", "WARNING", "ERROR"]
default: INFO
description: Logging level
commandFunction: |-
config => {
const args = [];
if (config.backend) {
args.push('--backend', config.backend);
}
if (config.toolProfile) {
args.push('--profile', config.toolProfile);
}
if (config.logLevel) {
args.push('--log-level', config.logLevel);
}
const env = {};
if (config.neo4jUri) env.MEMORY_NEO4J_URI = config.neo4jUri;
if (config.neo4jUser) env.MEMORY_NEO4J_USER = config.neo4jUser;
if (config.neo4jPassword) env.MEMORY_NEO4J_PASSWORD = config.neo4jPassword;
if (config.memgraphUri) env.MEMORY_MEMGRAPH_URI = config.memgraphUri;
if (config.sqlitePath) env.MEMORY_SQLITE_PATH = config.sqlitePath;
return { command: 'uvx', args: ['memorygraphMCP', ...args], env: env };
}