使用说明

项目简介

本项目是一个基于 FastMCP (Model Context Protocol) 框架构建的文献资源管理服务器,旨在帮助用户有效地管理各种类型的文献资料(如论文、书籍、网页等),并支持将文献与知识图谱中的实体进行关联。该服务器使用 SQLite 数据库存储数据,并通过 FastMCP 框架对外提供标准化的工具接口,方便 LLM 客户端进行调用,实现文献资源的上下文感知和功能扩展。

主要功能点

  • 文献资源管理: 支持多种文献类型(论文、网页、书籍、视频、博客),使用 UUID 作为内部标识符,并支持多种外部标识符 (Arxiv, DOI, ISBN, URL)。
  • 结构化笔记: 允许为文献添加带有标题和内容的笔记,方便记录和回顾文献内容。
  • 实体链接: 支持将文献与知识图谱中的实体进行链接,并记录实体关系类型和相关 notes,方便构建文献知识网络。
  • 数据查询: 提供多种工具方法,支持根据关键词、实体等条件检索文献资源。
  • SQLite 数据库: 使用轻量级的 SQLite 数据库存储数据,易于部署和管理。
  • FastMCP 框架: 基于 FastMCP 框架开发,提供标准化的 MCP 接口,方便与各种 MCP 客户端集成。

安装步骤

  1. 创建 SQLite 数据库: 首先,您需要创建一个 SQLite 数据库文件,并使用提供的 Schema 初始化数据库结构。请根据仓库 'README.md' 文件中 "Schema" 部分的 SQL 语句,手动创建 'create_sources_db.sql' 文件,并将 Schema 中的 SQL 语句复制到该文件中。然后在终端中执行以下命令创建数据库:

    sqlite3 sources.db < create_sources_db.sql

    请注意,您需要预先安装 SQLite 命令行工具。

  2. 安装 Source Manager 服务器: 使用 'fastmcp install' 命令安装 Source Manager 服务器。在安装时,您需要指定服务器名称,并通过环境变量 'SQLITE_DB_PATH' 指定您创建的 SQLite 数据库文件路径。请将 '/path/to/sources.db' 替换为您实际的 'sources.db' 文件路径。

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

    确保您已经安装了 'fastmcp' 命令行工具。

服务器配置

MCP 客户端需要以下 JSON 格式的配置信息来连接到 Source Manager 服务器。请根据您的实际安装情况进行配置。

{
  "server name": "Source Manager",
  "command": "fastmcp",
  "args": [
    "run",
    "source-manager-server.py"
  ]
}

配置参数注释:

  • 'server name': 服务器名称,必须与安装时指定的名称 '"Source Manager"' 一致。
  • 'command': 启动服务器的命令,这里使用 'fastmcp' 命令行工具。
  • 'args': 传递给 'fastmcp run' 命令的参数,指定运行 'source-manager-server.py' 脚本。

注意: 'SQLITE_DB_PATH' 环境变量需要在服务器运行时正确设置,通常在 'fastmcp install' 命令中已经配置,客户端无需再次配置。如果遇到数据库连接问题,请检查该环境变量是否正确指向了您的 'sources.db' 文件。

基本使用方法

  1. 启动服务器: Source Manager 服务器通过 'fastmcp install' 命令安装后,通常会自动注册到 FastMCP 服务管理器中。您可以使用 'fastmcp server list' 命令查看已安装的服务器列表和状态。如果服务器未运行,可以使用 'fastmcp server start "Source Manager"' 命令启动服务器。

  2. 客户端连接: 使用 MCP 客户端(例如 Claude Desktop,如果支持 MCP 客户端功能)并配置上述服务器配置信息,即可连接到 Source Manager 服务器。

  3. 调用工具: 连接成功后,您可以通过 MCP 客户端调用 Source Manager 服务器提供的各种工具,例如:

    • 使用 'add_sources' 工具添加新的文献资源。
    • 使用 'add_notes' 工具为文献添加笔记。
    • 使用 'link_to_entities' 工具将文献链接到知识图谱实体。
    • 使用 'get_entity_sources' 工具查询链接到特定实体的文献。
    • 使用 'read_query' 工具执行自定义 SQL 查询,获取更灵活的数据。

    具体的工具名称和参数,请参考 'sqlite-paper-fastmcp-server.py' 代码中以 '@mcp.tool()' 装饰器定义的函数。在 MCP 客户端中,您通常可以通过图形界面或命令输入的方式来选择和调用这些工具,并根据工具的参数提示进行操作。

通过使用 Source Manager 服务器,您可以构建一个基于文献资源的知识管理系统,并将其与 LLM 应用集成,提升 LLM 在文献检索、知识问答等方面的能力。

信息

分类

数据库与文件