Skip to main content

Universal Source Management System

A flexible system for managing various types of sources (papers, books, webpages, etc.) and integrating them with knowledge graphs.

Features

Core Features

  • Universal source identification with internal UUID system
  • Support for multiple source types (papers, webpages, books, videos, blogs)
  • Multiple identifier support per source (arxiv, DOI, semantic scholar, ISBN, URL)
  • Structured note-taking with titles and content
  • Status tracking (unread, reading, completed, archived)

Entity Integration

  • Link sources to knowledge graph entities
  • Track relationships between sources and entities
  • Flexible relation types (discusses, introduces, extends, etc.)
  • Integration with memory graph

Prerequisites

This system integrates with the MCP Memory Server for persistent knowledge graph storage.

Quick Start

  1. Create a new SQLite database with our schema:
# Create a new database
sqlite3 sources.db < create_sources_db.sql
  1. Install the source management server:
# 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

Schema

Core Tables

-- 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)
);

Usage Examples

1. Managing Sources

Add a paper with multiple identifiers:

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"
)

Add a webpage:

add_source(
    title="Understanding Transformers",
    type="webpage",
    identifier_type="url",
    identifier_value="https://example.com/transformers",
)

2. Note Taking

Add notes to a source:

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. Entity Linking

Link source to entities:

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"
)

Query sources by entity:

get_entity_sources(
    entity_name="transformer",
    type_filter="paper",
    relation_filter="discusses"
)

Best Practices

  1. Source Management

    • Use consistent titles across references
    • Provide as many identifiers as available
    • Keep notes structured with clear titles
    • Use appropriate source types
  2. Entity Linking

    • Be specific with relation types
    • Add contextual notes to relationships
    • Verify entity names against memory graph
    • Keep entity relationships focused

Technical Details

  1. Source Identification

    • Internal UUID system for consistent referencing
    • Multiple external identifiers per source
    • Flexible identifier types (arxiv, doi, url, etc.)
    • Title and type based fuzzy matching
  2. Data Organization

    • Structured notes with titles
    • Clear source type categorization
    • Entity relationship tracking
    • Status management

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new features
  4. Submit a pull request

Metadata

Release files for iflow-mcp_sqlite-paper-reading-fastmcp-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_sqlite-paper-reading-fastmcp-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_sqlite-paper-reading-fastmcp-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.5 kB

Release files / iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0.tar.gz
Size 14.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a5fc8d420fe9e7d00f5d2079b09e737451d94ab93fef55204dbb0edd9eac1f1d
BLAKE2b-256 checksum
How to use checksums
539e2f46c3c0c82d1f5f73817c891a5048166af5d473516b1dfa83b8aacf9cd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_sqlite_paper_reading_fastmcp_mcp_server-0.1.0-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cb2c84333d72ded972e3de23efed1d99209f75411637e09b4f5645ff8a86fdb
BLAKE2b-256 checksum
How to use checksums
b4c17fd145e10c049df09bcf481b79fab1bf38dc1aebd79cd46c6924c2f30fab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page