Skip to main content
Glama
README.md
# Reader MCP Server

<a href="https://glama.ai/mcp/servers/@xinthink/reader-mcp-server">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@xinthink/reader-mcp-server/badge" alt="Reader MCP Server" />
</a>

## Overview
A Model Context Protocol (MCP) server that seamlessly integrates with your [Readwise Reader](https://readwise.io/reader_api) library. This server enables MCP-compatible clients like Claude and VS Code to interact with your Reader library, providing capabilities for document listing, retrieval, and updates. It serves as a bridge between MCP clients and your personal knowledge repository in Readwise Reader.

## Components

### Tools

- `list_documents`
  - List documents from Reader with flexible filtering and pagination.
  - **Input:**
    - `location` (string, optional): Folder to filter by. One of `new`, `later`, `shortlist`, `archive`, `feed`.
    - `updatedAfter` (string, optional): Only return documents updated after this ISO8601 timestamp.
    - `withContent` (boolean, optional): If true, include HTML content in results (default: false).
    - `pageCursor` (string, optional): Pagination cursor for fetching the next page.
  - **Returns:**
    - JSON object with a list of documents, each including metadata and (optionally) content, plus pagination info.

## Usage with MCP Clients

### Claude Desktop / VS Code / Other MCP Clients
To use this server with Claude Desktop, VS Code, or any MCP-compatible client, add the following configuration to your client settings (e.g., `claude_desktop_config.json` or `.vscode/mcp.json`):

#### uv (local server)
```json
{
  "mcpServers": {
    "reader": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/reader/server",
        "run",
        "main.py"
      ],
      "env": {
        "READWISE_ACCESS_TOKEN": "your-token-here"
      }
    }
  }
}
```
- Replace `/absolute/path/to/your/reader/server` with the actual path to this project directory.
- Replace `your-token-here` with your actual Readwise Reader API access token.
- Alternatively, you can specify the `READWISE_ACCESS_TOKEN` in an `.env` file located in the project directory.

---
For more information, see the [Readwise Reader API documentation](https://readwise.io/reader_api) and [MCP documentation](https://modelcontextprotocol.io/).

---

## Reader Skill

This repository also includes a standalone skill for interacting with Readwise Reader API directly via HTTP requests. The skill provides knowledge and examples for using the Reader API without requiring an MCP server.

### Features

- List, create, update, and delete documents
- Full API coverage (list, save, update, delete, tags, bulk operations)
- Authentication and rate limit guidance
- Code examples in Python

### Installation

```bash
npx skills add xinthink/reader-mcp-server --skill reader
```

For more information on installing and using skills, see the [Vercel Labs Skills documentation](https://github.com/vercel-labs/skills).

### Usage

Once installed, the skill will be automatically triggered when you ask about Readwise Reader, saving articles, or managing your reading list.

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct purpose: authentication, document CRUD (create, read, update, delete), bulk update, and tag listing. No overlapping functionality.

Naming Consistency5/5

All tools follow the 'reader_verb_noun' snake_case pattern, e.g., reader_create_document, reader_list_documents. Consistent and predictable.

Tool Count5/5

Seven tools cover the core operations for the domain without excess. The count feels well-scoped and purposeful.

Completeness5/5

The tool set covers CRUD, bulk operations, tags, and authentication. The list_documents tool can retrieve individual documents via ID and includes content, so no major gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues