Knowledge Graph Memory Server

MIT License
14,698
44,357
  • Apple
  • Linux

Сервер памяти графа знаний

Базовая реализация постоянной памяти с использованием локального графа знаний. Это позволяет Клоду запоминать информацию о пользователе в чатах.

Основные концепции

Сущности

Сущности являются основными узлами в графе знаний. Каждая сущность имеет:

  • Уникальное имя (идентификатор)
  • Тип сущности (например, «лицо», «организация», «событие»)
  • Список наблюдений

Пример:

{ "name": "John_Smith", "entityType": "person", "observations": ["Speaks fluent Spanish"] }

Отношения

Отношения определяют направленные связи между сущностями. Они всегда хранятся в активном залоге и описывают, как сущности взаимодействуют или относятся друг к другу.

Пример:

{ "from": "John_Smith", "to": "Anthropic", "relationType": "works_at" }

Наблюдения

Наблюдения — это отдельные фрагменты информации о сущности. Они:

  • Сохраняется как строки
  • Прикреплено к определенным субъектам
  • Могут быть добавлены или удалены независимо друг от друга.
  • Должен быть атомарным (один факт на наблюдение)

Пример:

{ "entityName": "John_Smith", "observations": [ "Speaks fluent Spanish", "Graduated in 2019", "Prefers morning meetings" ] }

API

Инструменты

  • создать_сущности
    • Создайте несколько новых сущностей в графе знаний
    • Входные данные: entities (массив объектов)
      • Каждый объект содержит:
        • name (строка): Идентификатор сущности
        • entityType (строка): Классификация типов
        • observations (string[]): Связанные наблюдения
    • Игнорирует сущности с существующими именами
  • создать_отношения
    • Создать несколько новых отношений между сущностями
    • Вход: relations (массив объектов)
      • Каждый объект содержит:
        • from (string): Имя исходной сущности
        • to (строка): Имя целевого объекта
        • relationType (строка): Тип отношений в активном залоге
    • Пропускает дублирующиеся отношения
  • добавить_наблюдения
    • Добавить новые наблюдения к существующим сущностям
    • Вход: observations (массив объектов)
      • Каждый объект содержит:
        • entityName (строка): Целевая сущность
        • contents (string[]): Новые наблюдения для добавления
    • Возвращает добавленные наблюдения для каждой сущности
    • Не удается, если объект не существует
  • удалить_сущности
    • Удалить сущности и их связи
    • Ввод: entityNames (string[])
    • Каскадное удаление связанных отношений
    • Тихая операция, если объект не существует
  • удалить_наблюдения
    • Удалить определенные наблюдения из сущностей
    • Вход: deletions (массив объектов)
      • Каждый объект содержит:
        • entityName (строка): Целевая сущность
        • observations (string[]): Наблюдения для удаления
    • Бесшумная работа, если нет наблюдения
  • удалить_отношения
    • Удалить определенные отношения из графика
    • Вход: relations (массив объектов)
      • Каждый объект содержит:
        • from (string): Имя исходной сущности
        • to (строка): Имя целевого объекта
        • relationType (строка): Тип отношения
    • Тихая операция, если связь не существует
  • читать_граф
    • Прочитать всю схему знаний
    • Ввод не требуется
    • Возвращает полную структуру графа со всеми сущностями и отношениями
  • поисковые_узлы
    • Поиск узлов на основе запроса
    • Ввод: query (строка)
    • Поиск по:
      • Имена сущностей
      • Типы сущностей
      • Содержание наблюдения
    • Возвращает соответствующие сущности и их отношения
  • открытые_узлы
    • Извлечь определенные узлы по имени
    • Ввод: names (string[])
    • Возврат:
      • Запрошенные сущности
      • Отношения между запрашиваемыми субъектами
    • Пропускает несуществующие узлы без уведомления

Использование с Claude Desktop

Настраивать

Добавьте это в ваш claude_desktop_config.json:

Докер
{ "mcpServers": { "memory": { "command": "docker", "args": ["run", "-i", "-v", "claude-memory:/app/dist", "--rm", "mcp/memory"] } } }
НПХ
{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ] } } }
NPX с пользовательской настройкой

Сервер можно настроить с помощью следующих переменных среды:

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ], "env": { "MEMORY_FILE_PATH": "/path/to/custom/memory.json" } } } }
  • MEMORY_FILE_PATH : Путь к файлу JSON хранилища памяти (по умолчанию: memory.json в каталоге сервера)

Инструкции по установке VS Code

Для быстрой установки воспользуйтесь одной из кнопок установки в один клик ниже:

Для ручной установки добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open Settings (JSON) .

При желании вы можете добавить его в файл .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими.

Обратите внимание, что ключ mcp не нужен в файле .vscode/mcp.json .

НПХ
{ "mcp": { "servers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ] } } } }
Докер
{ "mcp": { "servers": { "memory": { "command": "docker", "args": [ "run", "-i", "-v", "claude-memory:/app/dist", "--rm", "mcp/memory" ] } } } }

Системная подсказка

Запрос на использование памяти зависит от варианта использования. Изменение запроса поможет модели определить частоту и типы создаваемых воспоминаний.

Вот пример подсказки для персонализации чата. Вы можете использовать эту подсказку в поле "Custom Instructions" проекта Claude.ai .

Follow these steps for each interaction: 1. User Identification: - You should assume that you are interacting with default_user - If you have not identified default_user, proactively try to do so. 2. Memory Retrieval: - Always begin your chat by saying only "Remembering..." and retrieve all relevant information from your knowledge graph - Always refer to your knowledge graph as your "memory" 3. Memory - While conversing with the user, be attentive to any new information that falls into these categories: a) Basic Identity (age, gender, location, job title, education level, etc.) b) Behaviors (interests, habits, etc.) c) Preferences (communication style, preferred language, etc.) d) Goals (goals, targets, aspirations, etc.) e) Relationships (personal and professional relationships up to 3 degrees of separation) 4. Memory Update: - If any new information was gathered during the interaction, update your memory as follows: a) Create entities for recurring organizations, people, and significant events b) Connect them to the current entities using relations b) Store facts about them as observations

Здание

Докер:

docker build -t mcp/memory -f src/memory/Dockerfile .

Лицензия

Этот сервер MCP лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Базовая реализация постоянной памяти с использованием локального графа знаний. Это позволяет Клоду запоминать информацию о пользователе в чатах.

  1. Основные концепции
    1. Сущности
    2. Отношения
    3. Наблюдения
  2. API
    1. Инструменты
  3. Использование с Claude Desktop
    1. Настраивать
  4. Инструкции по установке VS Code
    1. НПХ
    2. Докер
    3. Системная подсказка
    4. Здание
    5. Лицензия

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An improved implementation of persistent memory using a local knowledge graph with a customizable --memory-path. This lets Claude remember information about the user across chats.
    Last updated -
    9
    32
    144
    JavaScript
    MIT License
    • Apple
  • A
    security
    F
    license
    A
    quality
    This MCP server provides persistent memory integration for chat applications by utilizing a local knowledge graph to remember user information across interactions.
    Last updated -
    9
    14,698
    1
    JavaScript
  • A
    security
    A
    license
    A
    quality
    Enhances user interaction through a persistent memory system that remembers information across chats and learns from past errors by utilizing a local knowledge graph and lesson management.
    Last updated -
    13
    14,698
    34
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.
    Last updated -
    8
    32
    28
    TypeScript
    MIT License
    • Apple

View all related MCP servers

ID: an7spipwyo