SQLite Literature Management

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

17

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "zongmin-yu-sqlite-literature-management-fastmcp-mcp-server": {
      "command": "fastmcp",
      "args": [
        "install",
        "source-manager-server.py",
        "--name",
        "Source Manager",
        "-e",
        "SQLITE_DB_PATH=/path/to/sources.db"
      ],
      "env": {
        "SQLITE_DB_PATH": "PATH_TO_SQLITE_DB"
      }
    }
  }
}

You can manage diverse sources, assign multiple identifiers, take structured notes, and link sources to knowledge graph entities within a persistent MCP server. This setup helps you organize papers, webpages, books, and more while keeping strong connections to related concepts in your memory graph.

How to use

With the Source Manager MCP server, you interact through an MCP client to create and organize sources, attach notes, add additional identifiers, and link sources to knowledge graph entities. You can perform practical workflows such as adding a new paper with several IDs, enriching it with notes, and connecting it to entities like a technology or concept. You can also query all sources related to a particular entity or retrieve the specific relationships you defined between sources and entities.

How to install

Prerequisites: you need Python installed on your machine. You also require a tool to install MCP servers, such as fastmcp.

Step 1: Prepare a SQLite database (optional but recommended for local storage). Create a new database file to hold your sources.

# Create a new database
sqlite3 sources.db < create_sources_db.sql

Step 2: Install the Source Manager MCP server using the provided MCP installer. Give your server a meaningful name and specify the path to your SQLite database.

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

Step 3: After installation, your server is configured to manage sources and their links to memory graph entities. Use your MCP client to connect and begin creating sources, notes, and entity links as described in the usage guide.

Core concepts and common workflows

Key concepts you will work with are: sources (each with a unique internal UUID), multiple identifiers per source, structured notes, status tracking, and entity links. Typical workflows include adding a new source with identifiers, creating notes for that source, and linking the source to one or more entities with a defined relationship.

Practical examples you can perform in your client:

  • Add a paper with an arXiv identifier and an additional identifier (for example, a semantic scholar ID).
  • Attach a note to the source with a clear title and content.
  • Link the source to an entity in your knowledge graph with a relation such as introduces, discusses, or extends.

Additional usage notes

Keep titles consistent across references, provide as many identifiers as are available, and structure notes with clear titles for quick reference. Use precise relation types when linking to entities and add contextual notes to those relationships. Regularly verify entity names against your memory graph to maintain accurate connections.

Schema and data organization overview

The system organizes data with a core sources table, a notes table for source-specific notes, and a links table to map sources to memory graph entities. Each source has a type (paper, webpage, book, video, blog), a set of identifiers, and a status such as unread or completed. Notes are stored with titles and content, and each link includes an entity name and a relation type like discusses, introduces, or extends.

Best practices

  1. Use consistent titles across references. 2. Provide as many identifiers as available. 3. Keep notes structured with clear titles. 4. Use appropriate source types. 5. Be specific with relation types when linking to entities and add contextual notes to relationships.

Technical details

Source identification relies on an internal UUID with support for multiple external identifiers. Notes are linked to sources with a title and content. Entity relationships are tracked to support flexible graph queries and memory graph integration. Status management helps you track reading progress and archival state.

Contributing

If you contribute, follow standard practices: fork the project, create a feature branch, add tests for new features, and submit a pull request.

Available tools

add_source

Create a new source with a title, type, and identifier, and optionally attach an initial note.

add_identifier

Attach an additional identifier to an existing source to expand its external references.

add_note

Add a structured note to a specific source with a title and content.

link_to_entity

Link a source to a knowledge graph entity with a defined relation type and optional notes.

get_entity_sources

Query sources related to a specific entity, filtered by source type and relation type.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational