Memory MCP Server

Memory MCP Server

一个提供知识图谱管理功能的模型上下文协议服务器。

okooo5km

研究与数据
访问服务器

README

Memory MCP Server

一个模型上下文协议服务器,提供知识图谱管理功能。该服务器使 LLM 能够在持久化的知识图谱中创建、读取、更新和删除实体和关系,帮助 AI 助手在对话中保持记忆。这是官方 TypeScript Memory MCP Server 的 Swift 实现。

Swift Platform License

✨ 功能

  • 知识图谱存储: 维护实体及其关系的持久化图谱
  • 实体管理: 创建、检索、更新和删除具有自定义类型的实体
  • 关系追踪: 定义和管理实体之间主动语态的关系
  • 观察系统: 随时间推移添加和删除关于实体的观察
  • 强大的搜索: 通过名称、类型或观察内容查找相关节点
  • 持久化存储: 数据以简单的 JSON 格式在会话之间保持不变

可用工具

  • create_entities - 在知识图谱中创建多个新实体

    • entities (数组, 必需): 要创建的实体对象数组
      • name (字符串): 实体的名称
      • entityType (字符串): 实体的类型
      • observations (字符串数组): 与实体相关的观察
  • create_relations - 在实体之间创建多个新关系

    • relations (数组, 必需): 关系对象数组
      • from (字符串): 关系开始的实体的名称
      • to (字符串): 关系结束的实体的名称
      • relationType (字符串): 关系的类型 (主动语态)
  • add_observations - 向现有实体添加新的观察

    • observations (数组, 必需): 观察添加数组
      • entityName (字符串): 要添加观察的实体的名称
      • contents (字符串数组): 要添加的观察
  • delete_entities - 删除多个实体及其关联关系

    • entityNames (数组, 必需): 要删除的实体名称数组
  • delete_observations - 从实体中删除特定观察

    • deletions (数组, 必需): 观察删除数组
      • entityName (字符串): 包含观察的实体的名称
      • observations (字符串数组): 要删除的观察
  • delete_relations - 从知识图谱中删除多个关系

    • relations (数组, 必需): 要删除的关系对象数组
      • from (字符串): 源实体名称
      • to (字符串): 目标实体名称
      • relationType (字符串): 关系类型
  • read_graph - 读取整个知识图谱

    • 无需参数
  • search_nodes - 根据查询搜索知识图谱中的节点

    • query (字符串, 必需): 用于匹配实体名称、类型和观察的搜索查询
  • open_nodes - 通过名称打开知识图谱中的特定节点

    • names (数组, 必需): 要检索的实体名称数组

安装

选项 1: 一行安装 (curl)

最简单的安装方法是使用一行安装程序,它会自动下载最新版本并将其安装到您主目录中的 ~/.local/bin

curl -fsSL https://raw.githubusercontent.com/okooo5km/memory-mcp-server/main/install.sh | bash

安装程序将:

  • 如果 ~/.local/bin 不存在,则创建它
  • 将此目录添加到您的 PATH (在 .zshrc 或 .bashrc 中)
  • 下载并安装最新版本
  • 使二进制文件可执行

选项 2: 从源代码构建

  1. 克隆存储库:

    git clone https://github.com/okooo5km/memory-mcp-server.git
    cd memory-mcp-server
    
  2. 构建项目:

    swift build -c release
    
  3. 安装二进制文件:

    # 安装到用户目录 (推荐,无需 sudo)
    mkdir -p ~/.local/bin
    cp $(swift build -c release --show-bin-path)/memory-mcp-server ~/.local/bin/
    

    通过添加到您的 shell 配置文件来确保 ~/.local/bin 在您的 PATH 中:

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc  # 或 ~/.bashrc
    source ~/.zshrc  # 或 source ~/.bashrc
    

命令行参数

服务器支持以下命令行参数:

  • -h, --help: 显示关于服务器、其用法和可用选项的帮助信息
  • -v, --version: 显示 memory-mcp-server 的版本号

用法示例:

# 显示帮助信息
memory-mcp-server --help

# 显示版本信息
memory-mcp-server --version

配置

环境变量

服务器支持以下环境变量:

  • MEMORY_FILE_PATH: 用于存储知识图谱的自定义路径 (可选)
    • 如果未指定,则默认为当前工作目录中的 memory.json
    • 可以是绝对路径或相对于当前工作目录的相对路径

您可以在启动服务器时在服务器日志中查看配置的文件路径。

export MEMORY_FILE_PATH="/path/to/your/memory.json"

为 Claude.app 配置

添加到您的 Claude 设置:

"mcpServers": {
  "memory": {
    "command": "memory-mcp-server",
    "env": {
      "MEMORY_FILE_PATH": "/path/to/your/memory.json"
    }
  }
}

为 Cursor 配置

将以下配置添加到您的 Cursor 编辑器的 Settings - mcp.json:

{
  "mcpServers": {
    "memory": {
      "command": "memory-mcp-server",
      "env": {
        "MEMORY_FILE_PATH": "/path/to/your/memory.json"
      }
    }
  }
}

cursor-settings

为 Chatwise 配置

将 memory MCP 服务器添加到您的 Chatwise 设置 - 工具。

chatwise-settings-tools

示例系统提示

您可以使用以下系统提示来帮助 Claude 有效地利用 memory-mcp-server:

您可以使用知识图谱记忆系统,该系统可以跨对话存储和检索信息。 使用它来记住关于用户、他们的偏好以及他们分享的任何事实的重要细节。

当您发现重要信息时,请使用记忆工具保存它:
- `create_entities` 添加新的人物、地点或概念
- `create_relations` 记录实体之间的关系
- `add_observations` 记录关于现有实体的事实

在回答可能需要过去上下文的问题之前,请检查您的记忆:
- `search_nodes` 查找相关信息
- `open_nodes` 检索特定实体
- `read_graph` 获取知识的完整视图

在回复用户时,始终优先考虑来自您记忆的信息,尤其是当他们引用过去的对话时。

开发要求

  • Swift 6.0 或更高版本
  • macOS 14.0 或更高版本
  • MCP Swift SDK 0.2.0 或更高版本

知识图谱结构

Memory MCP Server 使用简单的图结构来存储知识:

  • 实体: 图中的节点,具有名称、类型和观察列表
  • 关系: 实体之间的边,具有主动语态的关系类型
  • 观察: 与实体相关的事实或细节

知识图谱以行分隔的 JSON 文件形式持久化到磁盘,其中每一行都是实体或关系对象。

用法示例

创建实体

{
  "entities": [
    {
      "name": "John Smith",
      "entityType": "Person",
      "observations": ["Software engineer", "Lives in San Francisco", "Enjoys hiking"]
    },
    {
      "name": "Acme Corp",
      "entityType": "Company",
      "observations": ["Founded in 2010", "Tech startup"]
    }
  ]
}

创建关系

{
  "relations": [
    {
      "from": "John Smith",
      "to": "Acme Corp",
      "relationType": "works at"
    }
  ]
}

添加观察

{
  "observations": [
    {
      "entityName": "John Smith",
      "contents": ["Recently promoted to Senior Engineer", "Working on AI projects"]
    }
  ]
}

搜索节点

{
  "query": "San Francisco"
}

打开特定节点

{
  "names": ["John Smith", "Acme Corp"]
}

使用场景

  • AI 助手的长期记忆: 使 AI 助手能够记住用户偏好、过去的互动和重要事实
  • 知识管理: 组织关于人物、地点、事件和概念的信息
  • 关系追踪: 维护实体之间的关系网络
  • 上下文持久化: 在多个会话中保留重要的上下文
  • 日记和每日日志: 维护事件、活动和反思的结构化记录,以便按时间顺序轻松检索和关联过去的经历

版本历史

请参阅 GitHub Releases 以获取版本历史和变更日志。

☕️ 支持项目

如果您觉得 Memory MCP Server 有用,请考虑支持其开发:

  • ⭐️ 在 GitHub 上为项目点赞
  • 🐛 报告错误或建议功能
  • 💝 通过以下方式支持:

<p align="center"> <a href="https://buymeacoffee.com/okooo5km"> <img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=okooo5km&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff" style="border-radius: 8px;" /> </a> </p>

许可证

memory-mcp-server 在 MIT 许可证下获得许可。 这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。

关于

一个用于模型上下文协议 (MCP) 的知识图谱记忆服务器的 Swift 实现,为大型语言模型启用持久记忆功能。 该项目基于 官方 TypeScript 实现,但使用 MCP Swift SDK 在 Swift 中重写。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python