Provides tools to manage and organize research papers using arXiv identifiers, enabling users to track reading progress and link papers to specific entities in a knowledge base.
Allows interaction with a local literature database to manage research sources, books, and notes, including support for tracking reading status and source relationships.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Literature Manager MCPsearch for unread research papers about transformer architectures"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Literature Manager MCP
A beginner-friendly system for managing research papers, books, and other sources using AI assistants through the Model Context Protocol (MCP).
π― What is this?
This tool helps you:
Organize research papers, books, websites, and videos
Take notes on your sources with structured titles
Track reading progress (unread, reading, completed, archived)
Connect sources to concepts in your knowledge base
Work with AI assistants like Claude to manage your literature
π Quick Start
1. Prerequisites
Python 3.8 or higher
π Quick Start
1. Prerequisites
Python 3.8 or higher
Basic familiarity with command line
2. Installation
# Clone this repository
git clone https://github.com/Amruth22/literature-manager-mcp.git
cd literature-manager-mcp
# Install dependencies
pip install -r requirements.txt
# Create your database
python setup_database.py3. Choose Your Usage Method
Option A: Direct Python Usage (Recommended)
# Set your database path
## π How to Use
### Command Line Interface
```bash
# Add a research paper
python cli.py add-source "Attention Is All You Need" paper arxiv 1706.03762
# Add a book
python cli.py add-source "Deep Learning" book isbn 978-0262035613
# Add a note
python cli.py add-note "Attention Is All You Need" paper arxiv 1706.03762 \
"Key Insight" "Transformers eliminate recurrence"
# Update status
python cli.py update-status "Attention Is All You Need" paper arxiv 1706.03762 completed
# Link to entity
python cli.py link-entity "Attention Is All You Need" paper arxiv 1706.03762 \
"transformer architecture" introduces
# List sources
python cli.py list --type paper --status unread
# Search sources
python cli.py search "transformer"
# Show statistics
python cli.py stats
# Get help
python cli.py helpDirect Python Usage
from src.database import LiteratureDatabase
# Initialize database
db = LiteratureDatabase("literature.db")
# Add a source
source_id = db.add_source(
title="Attention Is All You Need",
source_type="paper",
identifier_type="arxiv",
identifier_value="1706.03762"
# Add a note
db.add_note(source_id, "Key Insight", "Transformers eliminate recurrence...")
# Update status
db.update_status(source_id, "completed")
# Link to entity
db.link_to_entity(source_id, "transformer architecture", "introduces")
# Get source details
source = db.get_source_by_id(source_id)
print(source)Running Examples
# Run basic examples
python examples/basic_usage.py
# Run advanced examples
python examples/advanced_usage.py
# Run direct usage examples
python direct_usage.pycompleted: Finished reading
archived: Saved for later reference
π Relationship Types
When linking sources to concepts:
discusses: Source talks about the concept
introduces: Source first presents the concept
extends: Source builds upon the concept
evaluates: Source analyzes/critiques the concept
applies: Source uses the concept practically
critiques: Source criticizes the concept
π οΈ Available Commands
Basic Operations
add_source()- Add a new sourceadd_note()- Add notes to sourcesupdate_status()- Change reading statussearch_sources()- Find sources
Advanced Operations
link_to_entity()- Connect sources to conceptsget_entity_sources()- Find sources by conceptadd_identifier()- Add more IDs to existing sources
Database Operations
list_sources()- Show all sourcesget_source_details()- Get complete source infodatabase_stats()- Show database statistics
π Project Structure
literature-manager-mcp/
βββ README.md # This file
βββ requirements.txt # Python dependencies
βββ setup_database.py # Database setup script
βββ server.py # Main MCP server
βββ src/
β βββ __init__.py
β βββ database.py # Database operations
β βββ models.py # Data models
β βββ tools.py # MCP tools
β βββ utils.py # Helper functions
βββ examples/
β βββ basic_usage.py # Simple examples
β βββ advanced_usage.py # Complex workflows
βββ tests/
β βββ test_basic.py # Unit tests
βββ docs/
βββ installation.md # Detailed setup
βββ examples.md # More examples
βββ troubleshooting.md # Common issuesπ€ Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Need Help?
Check the troubleshooting guide
Look at examples
Open an issue
π Acknowledgments
Based on the original work by zongmin-yu
Built with FastMCP
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.