Manage Instapaper accounts by reading, saving, organizing, and analyzing articles
Instapaper MCP Server
A comprehensive Model Context Protocol (MCP) server for Instapaper integration. This server allows Claude and other MCP clients to interact with your Instapaper account - reading, saving, organizing, and analyzing your articles.
Like what you see?
Buy me a coffee: https://cmdzed.com/#/portal/support
Features
🛠️ Tools (Actions)
Content Management:
add_bookmark- Save articles with title, description, and folderadd_private_bookmark- Save private content without URLs (emails, notes, generated content)delete_bookmark- Remove articlesarchive_bookmark- Move articles to archiveunarchive_bookmark- Restore from archivestar_bookmark- Mark as importantunstar_bookmark- Remove starmove_bookmark- Organize into foldersupdate_read_progress- Track reading progress
Bulk Operations (Parallel Processing):
move_bookmarks_bulk- Move multiple bookmarks to a folder at oncestar_bookmarks_bulk- Star multiple bookmarks in parallelunstar_bookmarks_bulk- Remove stars from multiple bookmarksarchive_bookmarks_bulk- Archive multiple bookmarks at onceunarchive_bookmarks_bulk- Restore multiple bookmarks from archiveupdate_read_progress_bulk- Update reading progress for multiple articles
Folder Management:
list_folders- View all folderscreate_folder- Create new foldersdelete_folder- Remove foldersreorder_folders- Customize folder order
Highlights:
add_highlight- Save important passageslist_highlights- View highlights for an articledelete_highlight- Remove highlights
Search & Discovery:
list_bookmarks- List articles from folders with sync supportsearch_bookmarks- Find articles by title, URL, or description
Content Access:
get_article_content- Fetch full text of a single articleget_articles_content_bulk- Fetch content from multiple articles at once for bulk analysis
📚 Resources (Data Claude Can Read)
instapaper://bookmarks/unread- All unread articlesinstapaper://bookmarks/archive- Archived articlesinstapaper://bookmarks/starred- Starred articlesinstapaper://folders- List of foldersinstapaper://folder/{folder_id}- Articles in a specific folderinstapaper://article/{bookmark_id}- Full text of an article
💡 Prompts (Reusable Workflows)
weekly_reading_digest- Organized summary of unread articlesrecommend_next_read- AI-powered reading suggestionsresearch_synthesis- Synthesize insights from articles on a topicorganize_backlog- Suggest folder organizationarchive_candidates- Identify old articles to archivesave_as_private_bookmark- Guidelines for saving private content and generated insights
Installation
Prerequisites
- Node.js 18+ installed on your system
- Instapaper account with API credentials
Step 1: Get Instapaper API Credentials
- Go to https://www.instapaper.com/api
- Fill out the API access request form
- Wait for approval (usually takes a few days)
- You'll receive a Consumer Key and Consumer Secret
Step 2: Clone and Install
# Clone or download this repository
cd instapaper-mcp-server
# Install dependencies
npm install
# Create your environment file
cp .env.example .env
Step 3: Configure Environment Variables
Edit .env and add your credentials:
INSTAPAPER_CONSUMER_KEY=your_consumer_key_here
INSTAPAPER_CONSUMER_SECRET=your_consumer_secret_here
INSTAPAPER_USERNAME=your_instapaper_email@example.com
INSTAPAPER_PASSWORD=your_instapaper_password
Step 4: Build the Server
npm run build
Usage with Claude Desktop
Configure Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"instapaper": {
"command": "node",
"args": ["/absolute/path/to/instapaper-mcp-server/build/index.js"],
"env": {
"INSTAPAPER_CONSUMER_KEY": "your_consumer_key",
"INSTAPAPER_CONSUMER_SECRET": "your_consumer_secret",
"INSTAPAPER_USERNAME": "your_email",
"INSTAPAPER_PASSWORD": "your_password"
}
}
}
}
Important: Replace /absolute/path/to/instapaper-mcp-server with the actual full path.
Restart Claude Desktop
After updating the config, restart Claude Desktop completely (quit and reopen).
Example Usage
Once configured, you can interact with Instapaper through Claude. Here are real-world examples showing what happens when you make requests:
Example 1: Organize Recent Bookmarks by Topic
You ask Claude:
"Organize my recent bookmarks by topic"
Claude's workflow:
- Fetches your unread bookmarks using
list_bookmarks - Analyzes the titles and URLs to identify topics (e.g., "AI/ML", "Design", "Product Management")
Tools (26)
add_bookmarkSave articles with title, description, and folderadd_private_bookmarkSave private content without URLs like emails or notesdelete_bookmarkRemove articlesarchive_bookmarkMove articles to archiveunarchive_bookmarkRestore from archivestar_bookmarkMark as importantunstar_bookmarkRemove starmove_bookmarkOrganize into foldersupdate_read_progressTrack reading progressmove_bookmarks_bulkMove multiple bookmarks to a folder at oncestar_bookmarks_bulkStar multiple bookmarks in parallelunstar_bookmarks_bulkRemove stars from multiple bookmarksarchive_bookmarks_bulkArchive multiple bookmarks at onceunarchive_bookmarks_bulkRestore multiple bookmarks from archiveupdate_read_progress_bulkUpdate reading progress for multiple articleslist_foldersView all folderscreate_folderCreate new foldersdelete_folderRemove foldersreorder_foldersCustomize folder orderadd_highlightSave important passageslist_highlightsView highlights for an articledelete_highlightRemove highlightslist_bookmarksList articles from folders with sync supportsearch_bookmarksFind articles by title, URL, or descriptionget_article_contentFetch full text of a single articleget_articles_content_bulkFetch content from multiple articles at once for bulk analysisEnvironment Variables
INSTAPAPER_CONSUMER_KEYrequiredInstapaper API Consumer KeyINSTAPAPER_CONSUMER_SECRETrequiredInstapaper API Consumer SecretINSTAPAPER_USERNAMErequiredInstapaper account emailINSTAPAPER_PASSWORDrequiredInstapaper account passwordConfiguration
{"mcpServers": {"instapaper": {"command": "node", "args": ["/absolute/path/to/instapaper-mcp-server/build/index.js"], "env": {"INSTAPAPER_CONSUMER_KEY": "your_consumer_key", "INSTAPAPER_CONSUMER_SECRET": "your_consumer_secret", "INSTAPAPER_USERNAME": "your_email", "INSTAPAPER_PASSWORD": "your_password"}}}}