From eb1e7b6088b0b3dead9c104ee44174b2baebf417 Mon Sep 17 00:00:00 2001 From: bm-claudeai Date: Tue, 11 Mar 2025 16:21:51 -0500 Subject: [PATCH] feat: Add Smithery integration for easier installation (#24) This PR adds support for deploying Basic Memory on the Smithery platform. Signed-off-by: bm-claudeai --- Dockerfile | 16 ++++++++++++++++ README.md | 15 ++++++++++++++- smithery.yaml | 15 +++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 smithery.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..66acfc5b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM python:3.12-slim + +WORKDIR /app + +# Copy the project files +COPY . . + +# Install pip and build dependencies +RUN pip install --upgrade pip \ +&& pip install . --no-cache-dir --ignore-installed + +# Expose port if necessary (e.g., uv might use a port, but MCP over stdio so not needed here) + +# Use the basic-memory entrypoint to run the MCP server +CMD ["basic-memory", "mcp"] \ No newline at end of file diff --git a/README.md b/README.md index b839cd0d..bce8cafd 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/) [![Tests](https://github.com/basicmachines-co/basic-memory/workflows/Tests/badge.svg)](https://github.com/basicmachines-co/basic-memory/actions) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) +[![smithery badge](https://smithery.ai/badge/@basicmachines-co/basic-memory)](https://smithery.ai/server/@basicmachines-co/basic-memory) Basic Memory lets you build persistent knowledge through natural conversations with Large Language Models (LLMs) like Claude, while keeping everything in simple Markdown files on your computer. It uses the Model Context Protocol (MCP) to @@ -47,7 +48,19 @@ uv install basic-memory You can view shared context via files in `~/basic-memory` (default directory location). -You can also install the cli tools to sync files or manage projects. +### Alternative Installation via Smithery + +You can use [Smithery](https://smithery.ai/server/@basicmachines-co/basic-memory) to automatically configure Basic Memory for Claude Desktop: + +```bash +npx -y @smithery/cli install @basicmachines-co/basic-memory --client claude +``` + +This installs and configures Basic Memory without requiring manual edits to the Claude Desktop configuration file. The Smithery server hosts the MCP server component, while your data remains stored locally as Markdown files. + +### CLI Tools + +You can also install the CLI tools to sync files or manage projects. ```bash uv tool install basic-memory diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 00000000..a1d80b8d --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,15 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + properties: {} + description: No configuration required. This MCP server runs using the default command. + commandFunction: |- + (config) => ({ + command: 'basic-memory', + args: ['mcp'] + }) + exampleConfig: {} \ No newline at end of file