项目简介

Literature Memory Server 是一个灵活的系统,旨在帮助用户管理各种类型的文献资源,如论文、书籍、网页等,并将其与知识图谱整合。该服务器基于 Model Context Protocol (MCP) 构建,充当 MCP 服务器,为 LLM 客户端提供结构化的文献信息和知识图谱访问能力。通过标准化的 MCP 协议,该服务器可以方便地与各种 LLM 应用集成,提升 LLM 在处理文献相关任务时的上下文理解和推理能力。

主要功能点

  • 文献资源管理: 支持多种文献类型(论文、网页、书籍、视频、博客),使用 UUID 进行唯一标识,并支持多种外部 ID(Arxiv, DOI, Semantic Scholar, ISBN, URL)。
  • 结构化笔记: 允许用户为每篇文献添加带有标题和内容的结构化笔记,方便记录和回顾文献的关键信息。
  • 知识图谱集成: 可以将文献资源链接到知识图谱中的实体,并跟踪文献与实体之间的关系(如讨论、介绍、扩展等),支持灵活的关系类型和关系备注。
  • 基于 MCP 协议: 通过 JSON-RPC 协议与客户端通信,提供标准化的接口访问文献资源和知识图谱数据。
  • 工具 (Tools) 丰富: 提供一系列预定义的工具,用于添加、查询、更新和管理文献资源、笔记以及实体链接。

安装步骤

  1. 创建 SQLite 数据库:
    首先,你需要创建一个 SQLite 数据库来存储文献数据。在终端中执行以下命令,使用仓库提供的 'create_sources_db.sql' 文件创建数据库 schema:

    sqlite3 sources.db < create_sources_db.sql

    请确保你已安装 'sqlite3' 命令行工具。

  2. 安装 Literature Memory Server: 使用 'fastmcp' 命令行工具安装 Literature Memory Server。你需要提供服务器名称和数据库文件路径。例如,要将服务器命名为 "Source Manager" 并指定数据库路径为 '/path/to/sources.db',请执行以下命令:

    fastmcp install memory_literature_server.py --name "Source Manager" -e SQLITE_DB_PATH=/path/to/sources.db

    请将 '/path/to/sources.db' 替换为你实际的 'sources.db' 文件路径。你需要预先安装 'fastmcp' 客户端工具。

服务器配置

为了让 MCP 客户端连接到 Literature Memory Server,你需要提供以下配置信息。这些信息通常配置在 MCP 客户端的应用设置中。

{
  "server name": "Source Manager",  //  服务器名称,与安装时 '--name' 参数保持一致
  "command": "fastmcp",           //  启动服务器的命令,这里使用 fastmcp 启动已安装的服务器
  "args": [                       //  启动参数
    "start",                      //  fastmcp 的 start 命令,用于启动指定名称的服务器
    "Source Manager"              //  服务器名称,与 "server name" 字段保持一致
  ]
}

配置参数说明:

  • 'server name': 服务器的名称,必须与安装时通过 '--name' 参数指定的名称完全一致,例如 "Source Manager"。
  • 'command': 启动服务器进程的命令。由于 Literature Memory Server 是通过 'fastmcp install' 安装的,这里使用 'fastmcp' 命令来启动。
  • 'args': 一个字符串数组,包含传递给 'command' 的参数。
    • '"start"': 'fastmcp' 命令的子命令,用于启动已安装的服务器。
    • '"Source Manager"': 要启动的服务器的名称,必须与 'server name' 字段和安装时 '--name' 参数保持一致。

注意:

  • 确保在运行 MCP 客户端之前,Literature Memory Server 已经成功安装并启动。
  • 数据库文件路径 '/path/to/sources.db' 在安装时通过 '-e SQLITE_DB_PATH' 参数指定,服务器启动后会自动加载该路径下的数据库。客户端无需直接配置数据库路径。
  • MCP 客户端需要通过 JSON-RPC 协议与 Literature Memory Server 进行通信,具体的通信细节由 'fastmcp' 框架处理,客户端只需要正确配置服务器连接信息即可。

基本使用方法

Literature Memory Server 通过 MCP 协议提供了一系列工具 (Tools),客户端可以调用这些工具来管理文献资源和知识图谱。以下是一些基本操作示例(在 MCP 客户端中调用):

  1. 添加文献资源: 使用 'add_source' 工具添加新的文献资源,你需要提供文献的标题、类型、标识符类型和标识符值等信息。

  2. 添加笔记: 使用 'add_note' 工具为指定的文献资源添加笔记。你需要提供文献的标识信息、笔记标题和笔记内容。

  3. 更新文献状态: 使用 'update_status' 工具更新文献的阅读状态,如 "unread", "reading", "completed", "archived"。

  4. 链接到实体: 使用 'link_to_entity' 工具将文献资源链接到知识图谱中的实体。你需要提供文献的标识信息、实体名称、关系类型和可选的关系备注。

  5. 查询实体关联的文献: 使用 'get_entity_sources' 工具查询与特定实体关联的所有文献资源,可以根据文献类型和关系类型进行过滤。

更多工具和详细使用方法请参考代码中的 '@mcp.tool()' 注解部分以及 'README.md' 文件。客户端可以通过 MCP 协议discover服务器提供的工具列表和工具的参数信息,并根据需要调用相应的工具。

信息

分类

生产力应用