literateMCP

by YUZongmin
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports source identification and management using arXiv identifiers for academic papers

  • Supports source identification and management using DOI identifiers for academic publications

  • Supports source identification and management using Semantic Scholar identifiers for academic papers

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

Prerrequisitos

Este sistema se integra con el servidor de memoria MCP para el almacenamiento persistente de gráficos de conocimiento.

Inicio rápido

  1. Crea una nueva base de datos SQLite con nuestro esquema:
# Create a new database sqlite3 sources.db < create_sources_db.sql
  1. Instalar 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.db

Esquema

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

  1. 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
  2. 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

  1. 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
  2. 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

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Agregar pruebas para nuevas funciones
  4. Enviar una solicitud de extracción
-
security - not tested
A
license - permissive license
-
quality - not tested

Servidor para la gestión de literatura académica con toma de notas estructurada y organización, diseñado para una interacción fluida con Claude. Desarrollado con SQLite para mayor simplicidad y portabilidad.

  1. Features
    1. Core Features
    2. Entity Integration
  2. Prerequisites
    1. Quick Start
      1. Schema
        1. Core Tables
      2. Usage Examples
        1. 1. Managing Sources
        2. 2. Note Taking
        3. 3. Entity Linking
      3. Best Practices
        1. Technical Details
          1. Contributing
            ID: lgobt6htp7