高性能文本搜索内存系统

一个基于libSQL的高性能持久化内存系统,专为模型上下文协议(MCP)设计,优化了文本搜索功能以提高LLM上下文效率。

  • by spences10
  • TypeScript
  • 本地部署
  • 87 星标
  • 更新于
在 GitHub 查看 spences10/mcp-memory-libsql

使用说明

MCP-内存-轻量级SQL库

一个高性能、持久化的模型上下文内存系统 基于libSQL的协议(MCP),具备针对大语言模型(LLM)优化的文本搜索功能 上下文效率。

特点/功能

  • 🚀 高性能文本搜索,附带相关性排名
  • 💾 实体和关系的持久化存储
  • 🔍 支持模糊匹配的灵活文本搜索
  • 🎯 为大型语言模型(LLM)效率优化上下文
  • 🔄 知识图谱管理
  • 🌐 兼容本地和远程libSQL数据库
  • 🔒 基于令牌的安全远程数据库认证

配置

这台服务器设计为MCP配置的一部分。 以下是不同环境下的示例:

Cline 配置

将此添加到您的Cline MCP设置中:

{
	"mcpServers": {
		"mcp-memory-libsql": {
			"command": "npx",
			"args": ["-y", "mcp-memory-libsql"],
			"env": {
				"LIBSQL_URL": "file:/path/to/your/database.db"
			}
		}
	}
}

配备WSL配置的Claude Desktop

关于如何使用Claude Desktop设置此服务器的详细指南,请参阅 WSL,参见 在Windows Subsystem for Linux(WSL)中使MCP服务器与Claude桌面应用程序协同工作。

在您的Claude Desktop配置中添加以下内容以支持WSL环境:

{
	"mcpServers": {
		"mcp-memory-libsql": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"source ~/.nvm/nvm.sh && LIBSQL_URL=file:/path/to/database.db /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-memory-libsql"
			]
		}
	}
}

数据库配置

该服务器支持本地SQLite数据库和远程libSQL数据库 通过 LIBSQL_URL 环境变量:

对于本地SQLite数据库:

{
	"env": {
		"LIBSQL_URL": "file:/path/to/database.db"
	}
}

对于远程 libSQL 数据库(例如,Turso):

{
	"env": {
		"LIBSQL_URL": "libsql://your-database.turso.io",
		"LIBSQL_AUTH_TOKEN": "your-auth-token"
	}
}

注:在使用WSL(Windows Subsystem for Linux)时,请确保数据库路径使用Linux格式 文件系统格式(例如。, /home/username/...)而不是 Windows 格式。

默认情况下,如果没有提供URL,它将使用 file:/memory-tool.db 在当前目录中。

API

该服务器实现了标准MCP(多媒体控制器平台)内存接口,并进行了优化 文本搜索:

  • 实体管理
    • 创建/更新带有观测值的实体
    • 删除实体
    • 按文本搜索实体并按相关性排序
    • 探索实体关系
  • 关系管理
    • 在实体之间建立关系
    • 删除关系
    • 查询相关实体

建筑学

服务器使用带有以下架构的libSQL数据库:

  • 实体表:存储带有时间戳的实体信息
  • 观测表:存储实体观测数据
  • 关系表:存储实体之间的关系
  • 带相关性排名的文本搜索(名称 > 类型 > 观察)

发展

出版

由于npm要求启用双重身份验证(2FA),发布操作需手动完成:

  1. 创建一个更改集(记录您的更改):
pnpm changeset
  1. 更新软件包版本(更新版本号和更改日志):
pnpm changeset version
  1. 发布到npm(将会提示输入2FA代码):
pnpm release

做出贡献

欢迎投稿!请阅读我们的投稿指南 在提交拉取请求之前。

许可证

MIT 许可证 - 请参阅 许可证 文件中有详细信息。

致谢