Navigation
Readwise MCP Server: Automate Sync, Eliminate Manual Work - MCP Implementation

Readwise MCP Server: Automate Sync, Eliminate Manual Work

Readwise MCP Server: Automate sync, slash manual work, and turn data into action. Smarter knowledge, simplified.

Research And Data
4.2(197 reviews)
295 saves
137 comments

89% of users reported increased productivity after just one week

About Readwise MCP Server

What is Readwise MCP Server: Automate Sync, Eliminate Manual Work?

Readwise MCP Server is a tool designed to automate synchronization of your Readwise library data with external systems while minimizing manual intervention. It leverages the MCP protocol to enable seamless integration with applications like AI assistants (e.g., Claude), providing structured access to your stored highlights, books, and documents. The server handles request-id tracking, error management, and protocol compliance to ensure reliable data interchange without requiring manual configuration adjustments.

How to Use Readwise MCP Server: Automate Sync, Eliminate Manual Work?

Installation

  1. Install via package manager or clone the repository
  2. Run configuration wizard to securely store API credentials

Integration

  1. Define endpoints for data retrieval (GET/POST)
  2. Use provided SDKs or raw JSON API for programmatic access
  3. Implement error handling based on standardized response formats

Advanced Usage

Execute search operations with parameter validation, trigger document processing workflows, and manage pagination through standardized parameters (page/page_size).

Readwise MCP Server Features

Key Features of Readwise MCP Server

  • Protocol-compliant request-id tracking and validation
  • Secure API key storage with interactive configuration
  • Pre-built tools for highlights/books/documents management
  • AI-ready prompt templates for content analysis/summarization
  • Simulated testing environment with mock data generation
  • Granular error handling with user-friendly diagnostics
  • Network delay emulation for robustness testing

Use Cases of Readwise MCP Server

AI Integration

Automate content analysis workflows for research or note-taking assistants

Custom Applications

Build personal knowledge bases or reference tools with standardized API access

Development Testing

Validate new features against simulated Readwise environments before production deployment

Error Monitoring

Implement centralized logging for API interactions using transport-aware logging mechanisms

Readwise MCP Server FAQ

FAQ from Readwise MCP Server

Q: Do I need a Readwise API key?

A: Yes for production use, but mock testing can be done without one using the test-mock command

Q: How is data secured?

A: API keys are stored securely through encrypted configuration files with validation checks

Q: What error codes can I expect?

A: Standardized MCP-compliant responses with HTTP status codes mapped to specific error contexts

Q: Can I customize prompts?

A: Yes, through extending the provided prompt templates while maintaining protocol requirements

Q: How do I update the server?

A: Use version control tools to pull updates while preserving custom configurations

Content

Readwise MCP Server

A Model Context Protocol (MCP) server for accessing and interacting with your Readwise library.

Features

  • Access highlights from your Readwise library
  • Search for highlights using natural language queries
  • Get books and documents from your library
  • Seamless integration with Claude and other MCP-compatible assistants
  • Enhanced prompt capabilities for highlight analysis
  • Transport-aware logging system
  • Robust error handling and validation
  • MCP protocol compliance with proper request_id handling
  • Health check endpoint for monitoring
  • Improved setup wizard with API key validation

Project Structure

This repository is organized into the following key directories:

  • src/ : Main source code for the Readwise MCP server
  • test-scripts/ : Test scripts and utilities for validating MCP server functionality
    • smart-mcp-test.sh: Main testing script for both stdio and SSE transports
    • run-simple-server.sh: Script to run a simple MCP server
    • See test-scripts/README.md for complete documentation
  • examples/ : Example implementations and code samples
    • examples/mcp-implementations/: Basic MCP server implementations
    • examples/test-clients/: Client-side test scripts
    • See examples/README.md for complete documentation
  • dist/ : Compiled JavaScript output (generated)
  • scripts/ : Utility scripts for development and testing

Installation

# Install from npm
npm install -g readwise-mcp

# Or clone the repository and install dependencies
git clone https://github.com/your-username/readwise-mcp.git
cd readwise-mcp
npm install
npm run build

Setup

Before using the server, you need to configure your Readwise API key:

# Run the setup wizard
npm run setup

# Or start with the API key directly
readwise-mcp --api-key YOUR_API_KEY

You can get your API key from https://readwise.io/access_token.

Usage

CLI

# Start with stdio transport (default, for Claude Desktop)
readwise-mcp

# Start with SSE transport (for web-based integrations)
readwise-mcp --transport sse --port 3000

# Enable debug logging
readwise-mcp --debug

API

import { ReadwiseMCPServer } from 'readwise-mcp';

const server = new ReadwiseMCPServer(
  'YOUR_API_KEY',
  3000, // port
  logger,
  'sse' // transport
);

await server.start();

Testing with MCP Inspector

The project includes built-in support for testing with the MCP Inspector. You can use either the TypeScript script or the shell script to run the inspector.

Automated Tests

Run the automated test suite that verifies all tools and prompts:

# Run automated inspector tests
npm run test-inspector

# Run in CI mode (exits with status code)
npm run test-inspector:ci

The test suite verifies:

  • Server startup and connection
  • Tool availability and responses
  • Prompt functionality
  • Error handling
  • Response format compliance

Each test provides detailed output and a summary of passed/failed cases.

Manual Testing

Using the Shell Script

# Test with stdio transport (default)
./scripts/inspector.sh

# Test with SSE transport
./scripts/inspector.sh -t sse -p 3001

# Enable debug mode
./scripts/inspector.sh -d

# Full options
./scripts/inspector.sh --transport sse --port 3001 --debug

Using the TypeScript Script

# Test with stdio transport (default)
npm run inspector

# Test with SSE transport
npm run inspector -- -t sse -p 3001

# Enable debug mode
npm run inspector -- -d

# Full options
npm run inspector -- --transport sse --port 3001 --debug

Available Options

  • -t, --transport <type>: Transport type (stdio or sse), default: stdio
  • -p, --port <number>: Port number for SSE transport, default: 3001
  • -d, --debug: Enable debug mode

Example Inspector Commands

Test a specific tool:

./scripts/inspector.sh
> tool get-highlights --parameters '{"page": 1, "page_size": 10}'

Test a prompt:

./scripts/inspector.sh
> prompt search-highlights --parameters '{"query": "python"}'

List available tools and prompts:

./scripts/inspector.sh
> list tools
> list prompts

Testing Without a Readwise API Key

If you don't have a Readwise API key or don't want to use your real API key for testing, you can use the mock testing functionality:

npm run test-mock

This runs a test script that:

  1. Creates a mock implementation of the Readwise API
  2. Sets up the MCP server with this mock API
  3. Tests various endpoints with sample data
  4. Verifies server functionality without requiring a real API key

The mock implementation includes:

  • Sample books, highlights, and documents
  • Simulated network delays for realistic testing
  • Error handling testing

Available Tools

  • get_highlights : Get highlights from your Readwise library
  • get_books : Get books from your Readwise library
  • get_documents : Get documents from your Readwise library
  • search_highlights : Search for highlights in your Readwise library

Available Prompts

  • readwise_highlight : Process highlights from Readwise

    • Supports summarization, analysis, connection finding, and question generation
    • Includes robust error handling and parameter validation
    • Formats highlights in a reader-friendly way
  • readwise_search : Search and process highlights from Readwise

    • Provides formatted search results with source information
    • Handles API errors gracefully with user-friendly messages
    • Includes validation for required parameters

Recent Improvements

Enhanced MCP Protocol Compliance

  • Proper handling of request_id in all responses
  • Validation of incoming requests against MCP protocol specifications
  • Consistent error response format following MCP guidelines

Improved Setup Experience

  • Interactive setup wizard with API key validation
  • Secure storage of configuration
  • Detailed error messages for troubleshooting

Robust Error Handling

  • Specific error messages for different API error conditions
  • Consistent error format across all tools and prompts
  • Transport-aware logging that doesn't interfere with the protocol

Development

# Build the project
npm run build

# Run tests
npm test

# Start in development mode with auto-reload
npm run dev:watch

# Lint code
npm run lint

License

MIT

Related MCP Servers & Clients