Personal Memory MCP Server

Um servidor baseado em TypeScript e SQLite que permite à IA lembrar dados pessoais para uma comunicação personalizada.

Documentação

Servidor de Memória Pessoal MCP

Cansado de conversas com IA que recomeçam do zero toda vez? Este sistema permite que a IA realmente se lembre e entenda você. Sua personalidade, preferências, relacionamentos e experiências importantes são naturalmente lembrados pela IA, permitindo uma comunicação profunda e pessoal, como um amigo de longa data ou parceiro em cada conversa. Vá além de simples perguntas e respostas e crie uma experiência genuína de IA baseada em relacionamentos e compreensão reais.

Recursos

  • Organização de dados baseada em entidades (Pessoa, Empresa, Projeto, etc.)
  • Rastreamento de observações com pontuação de importância
  • Mapeamento de relacionamentos entre entidades
  • Recursos de busca e resumo
  • Implementação em TypeScript com banco de dados SQLite

Instalação

1. Instale o Servidor MCP

# Clone repository
git clone https://github.com/moontmsai/my-memory-mcp.git
cd my-memory-mcp

# Install dependencies
npm install

# Build
npm run build

# Start server
npm start

2. Configure o Claude Desktop

Adicione esta configuração ao arquivo de configuração do Claude Desktop:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "my-memory": {
      "command": "node",
      "args": ["path/to/my-memory-mcp/dist/index.js"],
      "env": {
        "DATABASE_PATH": "path/to/my-memory-mcp/data/my-memory.sqlite"
      }
    }
  }
}

3. Configure o Cursor AI

Adicione isto às configurações do Cursor AI:

  1. Abra as Configurações do Cursor AI
  2. Vá para "Tools & Intergrations" → "MCP Tools"
  3. Adicione um novo servidor MCP:
{
  "mcpServers": {
    "my-memory": {
      "command": "node",
      "args": ["path/to/my-memory-mcp/dist/index.js"],
      "env": {
        "DATABASE_PATH": "path/to/my-memory-mcp/data/my-memory.sqlite"
      }
    }
  }
}

Nota: Substitua path/to/my-memory-mcp pelo caminho real do seu diretório de instalação.

Desenvolvimento

# Development mode with auto-restart
npm run dev

# Type checking
npm run type-check

# Clean build
npm run clean

Ferramentas da API

my-memory:create

Cria entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • entityType: Tipo de entidade (para entidades)
  • name: Nome da entidade (para entidades)
  • entityId: ID da entidade alvo (para observações)
  • value: Conteúdo da observação (para observações)
  • sourceEntityId: ID da entidade de origem (para relações)
  • targetEntityId: ID da entidade alvo (para relações)
  • importanceScore: Pontuação de importância (0-100)
  • notes: Notas adicionais
  • properties: Propriedades da relação (objeto JSON)

my-memory:get

Recupera entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • entityType: Filtrar por tipo de entidade
  • entityId: Filtrar por entidade específica
  • sourceEntityId: Filtrar por entidade de origem (relações)
  • minImportance: Pontuação mínima de importância
  • includeDetails: Incluir informações detalhadas

my-memory:search

Busca e resume dados de memória.

Parâmetros:

  • mode: "summary" | "importance"
  • entityId: Entidade para resumir (modo resumo)
  • minScore: Pontuação mínima de importância (modo importância)
  • type: Filtrar por tipo de dados
  • includeDetails: Incluir informações detalhadas

my-memory:update

Atualiza entidades, observações ou relações existentes.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • id: ID do item a atualizar
  • data: Campos de dados atualizados

my-memory:delete

Exclui entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • id: ID do item a excluir
  • entityId: Excluir todos os itens de uma entidade específica
  • cascade: Excluir dados relacionados
  • minImportance: Importância mínima para exclusão
  • maxImportance: Importância máxima para exclusão

Estrutura de Dados

Entidade

  • Representa pessoas, empresas, projetos, conceitos, etc.
  • Possui tipo, nome e pontuação de importância
  • Pode ter múltiplas observações e relações

Observação

  • Informação específica sobre uma entidade
  • Inclui tipo, valor, pontuação de importância e notas
  • Com registro de data e hora para rastreamento de mudanças

Relação

  • Conexão entre duas entidades
  • Possui tipo e propriedades opcionais
  • Suporta modelagem de relacionamentos complexos

Exemplos de Uso

// Create a person entity
my-memory:create({
  type: "entity",
  entityType: "Person", 
  name: "John Doe",
  importanceScore: 80
})

// Add observation about the person
my-memory:create({
  type: "observation",
  entityId: "entity_id",
  value: "Prefers direct communication",
  importanceScore: 85,
  notes: "Important for work interactions"
})

// Create relationship
my-memory:create({
  type: "relation",
  sourceEntityId: "person_id",
  targetEntityId: "company_id", 
  properties: { role: "developer", startDate: "2025-01-01" }
})

// Search by importance
my-memory:search({
  mode: "importance",
  minScore: 80,
  includeDetails: true
})

// Get entity summary
my-memory:search({
  mode: "summary",
  entityId: "entity_id"
})

Preferências Recomendadas do Usuário

Para uso ideal com assistentes de IA, adicione esta configuração às suas preferências de usuário:

0. Session initialization (execute only once at session start):
   - Query relationships with importance score 80+ using includeDetails=true from my-memory MCP
   - Additionally query observations with importance score 80+ for relevant entities
   - Do not brief the retrieved personal memories

1. Continuous operation during conversations:
   - Record new personal information in my-memory MCP when discovered
   - Judge importance score (0-100 points) for all responses
   - Base judgments only on existing memories without repeated queries

2. Personal information collection (personal information only):
   - Basic identity (age, gender, location, occupation, education, health status, etc.)
   - Behavioral patterns (interests, habits, hobbies, personality traits, etc.)
   - Preferences (communication style, preferred language, style, values, etc.)
   - Long-term goals (life goals, long-term plans, personal aspirations, etc.)
   - Relationships (family, friends, romantic partners, colleagues, etc.)

3. my-memory MCP memory updates:
   - Entity creation (with importance scores): Important people, organizations, places, concepts
   - Relationship connections: Establish relations with existing entities
   - Observation storage: Record personal characteristics and facts as observations

4. What NOT to record in my-memory MCP:
   - Specific work details (coding specifics, particular task progress, etc.)
   - Temporary work memory (today's tasks, temporary notes, etc.)
   - Technical details (configuration values, code snippets, error messages, etc.)

5. Additional operational principles for my-memory MCP:
   - Set importance scores based on personal significance and long-term relevance
   - Record relationship information with high importance
   - Carefully record personal tendencies and values
   - Record work-related information only at company name, position, colleague name level

Licença

Licença MIT

☕ Apoie Meu Trabalho

Se você acha este projeto útil ou interessante, considere me pagar um café!
Seu apoio me ajuda a manter e melhorar este trabalho de código aberto.

Buy Me A Coffee


Servidor de Memória Pessoal MCP

Cansado de conversas com IA que recomeçam do zero toda vez? Este sistema permite que a IA realmente se lembre e entenda você. Sua personalidade, preferências, relacionamentos e experiências importantes são naturalmente lembrados pela IA, permitindo uma comunicação profunda e pessoal, como um amigo de longa data ou parceiro em cada conversa. Vá além de simples perguntas e respostas e crie uma experiência genuína de IA baseada em relacionamentos e compreensão reais.

Recursos

  • Organização de dados baseada em entidades (Pessoa, Empresa, Projeto, etc.)
  • Rastreamento de observações com pontuação de importância
  • Mapeamento de relacionamentos entre entidades
  • Recursos de busca e resumo
  • Implementação em TypeScript com banco de dados SQLite

Instalação

1. Instale o Servidor MCP

# 저장소 복제
git clone https://github.com/moontmsai/my-memory-mcp.git
cd my-memory-mcp

# 의존성 설치
npm install

# 빌드
npm run build

# 서버 시작
npm start

2. Configure o Claude Desktop

Adicione esta configuração ao arquivo de configuração do Claude Desktop:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "my-memory": {
      "command": "node",
      "args": ["path/to/my-memory-mcp/dist/index.js"],
      "env": {
        "DATABASE_PATH": "path/to/my-memory-mcp/data/my-memory.sqlite"
      }
    }
  }
}

3. Configure o Cursor AI

Adicione isto às configurações do Cursor AI:

  1. Abra as Configurações do Cursor AI
  2. Vá para "Tools & Intergrations" → "MCP Tools"
  3. Adicione um novo servidor MCP:
{
  "mcpServers": {
    "my-memory": {
      "command": "node",
      "args": ["path/to/my-memory-mcp/dist/index.js"],
      "env": {
        "DATABASE_PATH": "path/to/my-memory-mcp/data/my-memory.sqlite"
      }
    }
  }
}

Nota: Substitua path/to/my-memory-mcp pelo caminho real do seu diretório de instalação.

Desenvolvimento

# 개발 모드 (자동 재시작)
npm run dev

# 타입 체크
npm run type-check

# 빌드 정리
npm run clean

Ferramentas da API

my-memory:create

Cria entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • entityType: Tipo de entidade (para entidades)
  • name: Nome da entidade (para entidades)
  • entityId: ID da entidade alvo (para observações)
  • value: Conteúdo da observação (para observações)
  • sourceEntityId: ID da entidade de origem (para relações)
  • targetEntityId: ID da entidade alvo (para relações)
  • importanceScore: Pontuação de importância (0-100)
  • notes: Notas adicionais
  • properties: Propriedades da relação (objeto JSON)

my-memory:get

Recupera entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • entityType: Filtrar por tipo de entidade
  • entityId: Filtrar por entidade específica
  • sourceEntityId: Filtrar por entidade de origem (relações)
  • minImportance: Pontuação mínima de importância
  • includeDetails: Incluir informações detalhadas

my-memory:search

Busca e resume dados de memória.

Parâmetros:

  • mode: "summary" | "importance"
  • entityId: Entidade para resumir (modo resumo)
  • minScore: Pontuação mínima de importância (modo importância)
  • type: Filtrar por tipo de dados
  • includeDetails: Incluir informações detalhadas

my-memory:update

Atualiza entidades, observações ou relações existentes.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • id: ID do item a atualizar
  • data: Campos de dados atualizados

my-memory:delete

Exclui entidades, observações ou relações.

Parâmetros:

  • type: "entity" | "observation" | "relation"
  • id: ID do item a excluir
  • entityId: Excluir todos os itens de uma entidade específica
  • cascade: Excluir dados relacionados
  • minImportance: Importância mínima para exclusão
  • maxImportance: Importância máxima para exclusão

Estrutura de Dados

Entidade

  • Representa pessoas, empresas, projetos, conceitos, etc.
  • Possui tipo, nome e pontuação de importância
  • Pode ter múltiplas observações e relações

Observação

  • Informação específica sobre uma entidade
  • Inclui tipo, valor, pontuação de importância e notas
  • Com registro de data e hora para rastreamento de mudanças

Relação

  • Conexão entre duas entidades
  • Possui tipo e propriedades opcionais
  • Suporta modelagem de relacionamentos complexos

Exemplos de Uso

// 사람 엔티티 생성
my-memory:create({
  type: "entity",
  entityType: "Person", 
  name: "홍길동",
  importanceScore: 80
})

// 사람에 대한 관찰 추가
my-memory:create({
  type: "observation",
  entityId: "entity_id",
  value: "직설적인 소통을 선호함",
  importanceScore: 85,
  notes: "업무 상호작용에 중요"
})

// 관계 생성
my-memory:create({
  type: "relation",
  sourceEntityId: "person_id",
  targetEntityId: "company_id", 
  properties: { role: "개발자", startDate: "2025-01-01" }
})

// 중요도별 검색
my-memory:search({
  mode: "importance",
  minScore: 80,
  includeDetails: true
})

// 엔티티 요약
my-memory:search({
  mode: "summary",
  entityId: "entity_id"
})

Preferências Recomendadas do Usuário

Para uso ideal com assistentes de IA, adicione esta configuração às suas preferências de usuário:

0. 세션 초기화 (세션 시작 시 1회만 실행):
   - my-memory MCP에서 중요도 80점 이상의 관계를 includeDetails=true로 조회
   - 추가로 해당 엔티티의 중요도 80점 이상의 관찰도 함께 조회
   - 조회한 개인적인 기억은 브리핑하지 않음

1. 대화 중 지속적 운영:
   - 새로운 개인 정보 발견 시 my-memory MCP에 기록
   - 모든 응답에 대해 중요도 점수(0-100점) 판단
   - 기존 기억만을 기반으로 판단하고 반복 조회하지 않음

2. 개인 정보 수집 (개인적 정보만):
   - 기본 정체성 (나이, 성별, 위치, 직업, 학력, 건강상태 등)
   - 행동 패턴 (관심사, 습관, 취미, 성격 특성 등)
   - 선호도 (소통 방식, 선호 언어, 스타일, 가치관 등)
   - 장기적 목표 (인생 목표, 장기 계획, 개인적 열망 등)
   - 관계 (가족, 친구, 연인, 회사 동료 등)

3. my-memory MCP 기억 업데이트:
   - 엔티티 생성 (중요도 점수 부여): 중요한 사람, 조직, 장소, 개념
   - 관계 연결: 기존 엔티티들과 관계 설정
   - 관찰 저장: 개인적 특성과 사실들을 관찰로 기록

4. my-memory MCP에 기록하지 않는 것들:
   - 구체적인 작업 내용 (코딩 세부사항, 특정 업무 진행상황 등)
   - 일시적인 작업 기억 (오늘 해야 할 일, 임시 메모 등)
   - 기술적 세부사항 (설정값, 코드 조각, 에러 메시지 등)

5. my-memory MCP 추가 운용 원칙:
   - 중요도 점수는 개인적 중요성과 장기적 관련성을 기준으로 설정
   - 사람과의 관계 정보는 높은 중요도로 기록
   - 개인적 성향이나 가치관은 신중하게 기록
   - 작업 관련 정보는 회사명, 직책, 동료 이름 수준만 기록

Licença

Licença MIT

☕ Apoie Meu Trabalho

Se você acha este projeto útil ou interessante, considere https://coff.ee/moontmsai
Seu apoio ajuda a manter e melhorar este trabalho de código aberto.