Sqlite Literature Management Fastmcp Mcp Server

Sqlite Literature Management Fastmcp Mcp Server

🚀 统一来源管理系统

这是一个灵活的系统,可用于管理各类来源(如论文、书籍、网页等),并将其与知识图谱集成,为知识管理提供高效解决方案。

🚀 快速开始

此系统与 MCP 记忆服务器 集成,用于持久化知识图谱存储。

  1. 使用我们的模式创建新的 SQLite 数据库:
# 创建新数据库
sqlite3 sources.db < create_sources_db.sql
  1. 安装来源管理服务器:
# 为 Claude Desktop 安装,指定数据库路径
fastmcp install source-manager-server.py --name "Source Manager" -e SQLITE_DB_PATH=/path/to/sources.db

✨ 主要特性

核心功能

  • 使用内部 UUID 系统实现统一来源标识。
  • 支持多种来源类型,包括论文、网页、书籍、视频和博客。
  • 每个来源支持多个标识符,如 arxiv、DOI、Semantic Scholar、ISBN 和 URL。
  • 具备结构化笔记功能,可设置标题和内容。
  • 可跟踪来源状态,如未读、阅读中、已完成和已存档。

实体集成

  • 能够将来源链接到知识图谱实体。
  • 跟踪来源与实体之间的关系。
  • 支持灵活的关系类型,如讨论、介绍、扩展、评估等。
  • 与记忆图集成。

📦 安装指南

数据库模式

核心表

-- 来源表
CREATE TABLE sources (
id UUID PRIMARY KEY,
title TEXT NOT NULL,
type TEXT CHECK(type IN ('paper', 'webpage', 'book', 'video', 'blog')) NOT NULL,
identifiers JSONB NOT NULL,
status TEXT CHECK(status IN ('unread', 'reading', 'completed', 'archived')) DEFAULT 'unread'
);

-- 来源笔记
CREATE TABLE source_notes (
source_id UUID REFERENCES sources(id),
note_title TEXT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (source_id, note_title)
);

-- 实体链接
CREATE TABLE source_entity_links (
source_id UUID REFERENCES sources(id),
entity_name TEXT,
relation_type TEXT CHECK(relation_type IN ('discusses', 'introduces', 'extends', 'evaluates', 'applies', 'critiques')),
notes TEXT,
PRIMARY KEY (source_id, entity_name)
);

💻 使用示例

基础用法

管理来源

添加一个带有多个标识符的论文:

add_source(
title="Attention Is All You Need",
type="paper",
identifier_type="arxiv",
identifier_value="1706.03762",
initial_note={
"title": "初始想法",
"content": "开创性论文,介绍 transformer 架构..."
}
)

# 为同一论文添加另一个标识符
add_identifier(
title="Attention Is All You Need",
type="paper",
current_identifier_type="arxiv",
current_identifier_value="1706.03762",
new_identifier_type="url",
new_identifier_value="https://arxiv.org/abs/1706.03762"
)

添加一个网页:

add_source(
title="如何使用深度学习进行自然语言处理",
type="webpage",
identifier_type="url",
identifier_value="https://www.tensorflow.org/text",
initial_note={
"title": "快速入门指南",
"content": "介绍了使用 TensorFlow 进行文本处理的基础知识..."
}
)

管理状态

将来源标记为已读:

update_status(source_id, 'completed')

获取所有未读论文:

get_sources_by_status('unread', 'paper')

实体关系管理

将论文与实体链接:

link_entity(
source_id,
entity_name="transformer_architecture",
relation_type="introduces"
)

获取所有相关实体:

get_linked_entities(source_id)

📚 详细文档

最佳实践

数据组织

  • 使用清晰的标题和类型进行分类。
  • 定期清理过时或不相关的来源。

笔记管理

  • 为每个重要发现或见解创建结构化笔记。
  • 使用适当的标签和分类来提高检索效率。

状态跟踪

  • 及时更新来源的状态,保持数据的准确性。
  • 定期回顾已完成的任务,进行总结和归档。

贡献指南

步骤

  • 叉仓库
  • 创建功能分支
  • 为新功能添加测试
  • 提交拉取请求

代码规范

  • 遵循 PEP8 编码规范。
  • 提供详尽的文档和注释。

测试要求

  • 确保新增功能通过单元测试。
  • 更新现有的测试用例以覆盖新功能。

🔧 技术细节

数据模型

  • sources 表用于存储基本来源信息。
  • source_notes 表用于记录与来源相关的笔记。
  • source_entity_links 表用于跟踪来源与其他实体的关系。

查询优化

  • 使用索引加速常用查询,如按类型和状态过滤。
  • 定期分析查询性能,优化数据库结构。

扩展性

  • 支持多种标识符类型,便于不同数据源的集成。
  • 灵活的关系类型设计,适应各种知识表示需求。
  • 0 关注
  • 0 收藏,35 浏览
  • system 提出于 2025-09-18 23:27

相似服务问题

相关AI产品