Skip to main content
Glama

MCP DuckDB Knowledge Graph Memory Server

#!/usr/bin/env node import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { DuckDBKnowledgeGraphManager } from "./manager"; import { Logger, NullLogger } from "./logger"; import { join, dirname } from "path"; import { homedir } from "os"; import { existsSync, mkdirSync } from "fs"; import { createMCPServer } from "./server"; const createManager = (logger: Logger) => { const knowledgeGraphManager = new DuckDBKnowledgeGraphManager( /** * Get the database file path based on environment variables or default location * @returns The path to the database file */ () => { if (process.env.MEMORY_FILE_PATH) { // Use environment variable if provided return process.env.MEMORY_FILE_PATH; } // Default path: ~/.local/share/duckdb-memory-server/knowledge-graph.json const defaultDir = join( homedir(), ".local", "share", "duckdb-memory-server" ); const defaultPath = join(defaultDir, "knowledge-graph.data"); // Create directory if it doesn't exist if (!existsSync(dirname(defaultPath))) { mkdirSync(dirname(defaultPath), { recursive: true }); } return defaultPath; }, logger ); return knowledgeGraphManager; }; const main = async () => { const logger: Logger = new NullLogger(); const manager = createManager(logger); const server = createMCPServer(manager); const transport = new StdioServerTransport(); await server.connect(transport); logger.info("DuckDB Knowledge Graph MCP Server running on stdio"); }; main().catch((error) => { console.error(error); process.exit(1); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IzumiSy/mcp-duckdb-memory-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server