Memory MCP Server
一个提供知识图谱管理功能的模型上下文协议服务器。
okooo5km
README
Memory MCP Server
一个模型上下文协议服务器,提供知识图谱管理功能。该服务器使 LLM 能够在持久化的知识图谱中创建、读取、更新和删除实体和关系,帮助 AI 助手在对话中保持记忆。这是官方 TypeScript Memory MCP Server 的 Swift 实现。
✨ 功能
- 知识图谱存储: 维护实体及其关系的持久化图谱
- 实体管理: 创建、检索、更新和删除具有自定义类型的实体
- 关系追踪: 定义和管理实体之间主动语态的关系
- 观察系统: 随时间推移添加和删除关于实体的观察
- 强大的搜索: 通过名称、类型或观察内容查找相关节点
- 持久化存储: 数据以简单的 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: 从源代码构建
-
克隆存储库:
git clone https://github.com/okooo5km/memory-mcp-server.git cd memory-mcp-server
-
构建项目:
swift build -c release
-
安装二进制文件:
# 安装到用户目录 (推荐,无需 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"
}
}
}
}
为 Chatwise 配置
将 memory MCP 服务器添加到您的 Chatwise 设置 - 工具。
示例系统提示
您可以使用以下系统提示来帮助 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
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

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

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

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