Sistema universal de gestión de fuentes
Un sistema flexible para gestionar diversos tipos de fuentes (artículos, libros, páginas web, etc.) e integrarlos con gráficos de conocimiento.
Características
Características principales
Identificación de fuente universal con sistema UUID interno
Soporte para múltiples tipos de fuentes (artículos, páginas web, libros, vídeos, blogs)
Compatibilidad con múltiples identificadores por fuente (arxiv, DOI, Semantic Scholar, ISBN, URL)
Toma de notas estructurada con títulos y contenido
Seguimiento de estado (no leído, leído, completado, archivado)
Integración de entidades
Vincular fuentes a entidades del gráfico de conocimiento
Realizar un seguimiento de las relaciones entre fuentes y entidades
Tipos de relación flexibles (discute, introduce, extiende, etc.)
Integración con el gráfico de memoria
Related MCP server: ClickUp Operator
Prerrequisitos
Este sistema se integra con el servidor de memoria MCP para el almacenamiento persistente de gráficos de conocimiento.
Inicio rápido
Crea una nueva base de datos SQLite con nuestro esquema:
# Create a new database
sqlite3 sources.db < create_sources_db.sqlInstalar el servidor de administración de origen:
# Install for Claude Desktop with your database path
fastmcp install source-manager-server.py --name "Source Manager" -e SQLITE_DB_PATH=/path/to/sources.dbEsquema
Tablas básicas
-- Sources table
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'
);
-- Source notes
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)
);
-- Entity links
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)
);Ejemplos de uso
1. Gestión de fuentes
Agregar un artículo con múltiples identificadores:
add_source(
title="Attention Is All You Need",
type="paper",
identifier_type="arxiv",
identifier_value="1706.03762",
initial_note={
"title": "Initial thoughts",
"content": "Groundbreaking paper introducing transformers..."
}
)
# Add another identifier to the same paper
add_identifier(
title="Attention Is All You Need",
type="paper",
current_identifier_type="arxiv",
current_identifier_value="1706.03762",
new_identifier_type="semantic_scholar",
new_identifier_value="204e3073870fae3d05bcbc2f6a8e263d9b72e776"
)Agregar una página web:
add_source(
title="Understanding Transformers",
type="webpage",
identifier_type="url",
identifier_value="https://example.com/transformers",
)2. Toma de notas
Agregar notas a una fuente:
add_note(
title="Attention Is All You Need",
type="paper",
identifier_type="arxiv",
identifier_value="1706.03762",
note_title="Implementation details",
note_content="The paper describes the architecture..."
)3. Vinculación de entidades
Vincular la fuente a las entidades:
link_to_entity(
title="Attention Is All You Need",
type="paper",
identifier_type="arxiv",
identifier_value="1706.03762",
entity_name="transformer",
relation_type="introduces",
notes="First paper to introduce the transformer architecture"
)Fuentes de consulta por entidad:
get_entity_sources(
entity_name="transformer",
type_filter="paper",
relation_filter="discusses"
)Mejores prácticas
Gestión de fuentes
Utilice títulos consistentes en todas las referencias
Proporcione tantos identificadores como estén disponibles
Mantenga las notas estructuradas con títulos claros
Utilice tipos de fuentes apropiados
Vinculación de entidades
Sea específico con los tipos de relación
Agregar notas contextuales a las relaciones
Verificar los nombres de las entidades contra el gráfico de memoria
Mantener las relaciones entre entidades enfocadas
Detalles técnicos
Identificación de la fuente
Sistema UUID interno para una referencia consistente
Múltiples identificadores externos por fuente
Tipos de identificadores flexibles (arxiv, doi, url, etc.)
Coincidencia difusa basada en título y tipo
Organización de datos
Notas estructuradas con títulos
Categorización clara del tipo de fuente
Seguimiento de relaciones entre entidades
Gestión de estado
Contribuyendo
Bifurcar el repositorio
Crear una rama de características
Agregar pruebas para nuevas funciones
Enviar una solicitud de extracción