Skip to main content
Glama
bsahane

Memory MCP Server

by bsahane

Memory MCP 服务器

Python 3.12+ Tests License: Apache 2.0

一个模型上下文协议(MCP)服务器,为AI代理提供持久记忆。记忆存储在本地SQLite数据库中(自动创建,零配置),并通过四十个工具以工具优先架构对外暴露。基于template-mcp-server生产脚手架构建(FastMCP + FastAPI、结构化日志、容器、OpenShift清单、CI)。

功能特性

  • 跨四个领域的40个MCP工具:记忆、任务、时间(提醒/警报)、仪表板

  • 七个记忆工具:存储、获取、搜索、列表、更新、删除、项目

  • 七个待办工具:创建/搜索/列表/获取/更新/完成/删除,支持优先级和截止日期

  • 八个看板工具:具有可配置列的面板;卡片的添加/移动/更新/删除

  • 七个追踪器工具:状态追踪器,其条目汇总为进度指标

  • SQLite持久化,通过aiosqlite实现——单文件、调优的WAL基线、自动创建

  • 全文关键词搜索——基于FTS5索引的整词、波特词干匹配,按相关性排序(最佳匹配优先)

  • 记忆和待办事项上的标签和元数据

  • FastMCP + FastAPI,支持多种传输方式(HTTP、SSE、流式HTTP)

  • 通过环境变量进行Pydantic配置

  • 使用structlog进行结构化JSON日志记录

  • OAuth集成(默认禁用;参见docs/authentication.md

  • 容器就绪(Red Hat UBI基础镜像)并包含OpenShift清单

搜索与存储行为

搜索(memory_searchtodo_search)在忽略大小写的全文索引上匹配整词标记:部分单词永远不会匹配(查询check不会匹配checklist),标点符号和运算符按字面处理,结果按bm25相关性排序——最相关优先,并列时最新优先。请注意,unicode61分词将整个CJK句子视为单个标记,因此整词匹配假定使用空格分隔的脚本。

数据库以WAL模式运行,synchronous=NORMAL:最近提交的事务可能在操作系统崩溃或断电时丢失(对于笔记/任务来说这是一个可接受的权衡——不适合作为记录系统)。稳态WAL大小受wal_autocheckpoint(约1000页≈4 MiB)限制;journal_size_limit(8 MiB)仅允许SQLite在检查点释放WAL文件后将其截断。维护(PRAGMA optimize + wal_checkpoint(TRUNCATE))在提醒轮询循环中每十次执行一次,可能短暂延迟一次;它受每个钩子超时和数据库繁忙超时的限制。

快速开始

git clone https://github.com/redhat-data-and-ai/memory-mcp-server
cd memory-mcp-server
make install        # creates venv, installs deps + pre-commit hooks
make local          # starts server on localhost:5001

在另一个终端中验证:

curl http://localhost:5001/health

手动设置(不使用Make):

# Create venv and install
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install

# Configure and run
cp .env.example .env
memory-mcp-server

# Verify
curl http://localhost:5001/health

工具

记忆

工具

用途

memory_store(content, tags?, metadata?)

持久化新记忆;返回其id

memory_get(id)

按id获取一条记忆

memory_search(query, limit?, project?, output_format?)

对内容进行整词关键词搜索,按相关性排序

memory_list(limit?, offset?, tag?)

按最新优先浏览记忆

memory_update(id, content?/tags?/metadata?)

部分更新记忆

memory_delete(id)

按id删除记忆

待办事项

工具

用途

todo_create(title, description?, priority?, status?, due_date?, tags?)

添加结构化任务

todo_search(query, limit?, offset?)

对标题/描述进行整词关键词搜索,按相关性排序

todo_list(status?, tag?, limit?, offset?)

使用筛选器浏览待办事项

todo_get(id) / todo_update(id, ...) / todo_complete(id) / todo_delete(id)

管理单个待办事项

看板

工具

用途

board_create(name, description?, columns?)

新面板;默认为backlog/todo/in_progress/done

board_list() / board_delete(board_id)

枚举或拆除面板

board_view(board_id)

按列分组的完整面板状态

card_add(board_id, title, ...) / card_move(card_id, column, position?)

放置和重新排序工作

card_update(card_id, ...) / card_delete(card_id)

编辑或移除卡片

提醒与警报

工具

用途

reminder_create(title, due_at, notes?, repeat?)

安排未来警报(无/每小时/每天/每周重复)

reminder_get(id) / reminder_update(id, ...)

检查或编辑计划

reminder_list(status?, limit?, offset?)

最早到期优先

reminder_cancel(id) / reminder_snooze(id, minutes?) / reminder_delete(id)

管理计划

alert_list(acknowledged?, limit?) / alert_ack(id) / alert_ack_all()

查看和清除已触发的警报

后台调度器将到期提醒转换为服务器端警报;在会话开始时使用alert_list(acknowledged=false)查询它们。

管理

工具

用途

overview()

跨领域计数、未确认警报以及下一步到期事项

追踪器

工具

用途

tracker_create(name, description?) / tracker_list() / tracker_delete(id)

管理追踪器

entry_add(tracker_id, name, status?) / entry_update_status(entry_id, status) / entry_remove(entry_id)

跟踪项目(not_started/in_progress/blocked/done)

tracker_status(tracker_id)

进度:总数/完成/百分比以及各状态计数

所有工具返回{status: "success" | "error", ...}字典,并且永远不会在工具边界抛出异常。

配置

变量

默认值

描述

MEMORY_DB_PATH

./data/memory.db

SQLite数据库文件(自动创建,包含父目录)

REMINDER_POLL_SECONDS

30

后台调度器触发到期提醒的间隔

MCP_HOST

localhost

服务器绑定地址

MCP_PORT

5001

服务器端口(1024-65535)

MCP_TRANSPORT_PROTOCOL

http

传输协议(httpssestreamable-http

MCP_SSL_KEYFILE / MCP_SSL_CERTFILE

None

HTTPS的SSL密钥/证书

ENABLE_AUTH

False*

OAuth认证(参见docs/authentication.md

PYTHON_LOG_LEVEL

INFO

日志级别

* ENABLE_AUTH.env.example中默认为False。始终将.env.example复制为.env以在禁用认证的情况下启动。

连接MCP客户端

将您的MCP客户端指向服务器端点:

{
  "mcpServers": {
    "memory": {
      "url": "http://localhost:5001/mcp"
    }
  }
}

参见examples/fastmcp_client.py,这是一个存储和搜索记忆的工作客户端。

开发

make lint     # ruff + mypy
make test     # pytest with coverage
make pre-commit  # run all pre-commit hooks

文档

指南

描述

架构

系统图、代码结构、关键组件

开发

设置、本地运行、测试、代码质量

部署

Podman、OpenShift、容器配置

认证

OAuth设置、认证模式、故障排除

许可证

Apache 2.0——衍生自 redhat-data-and-ai/template-mcp-server

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Persistent memory for AI agents. Search, store, and recall across sessions.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bsahane/memory-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server