r

readbook-mcp

@mkafw/readbook-mcp
0 Stars 179 次浏览 mkafw 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Readbook MCP Server

A Model Context Protocol (MCP) server for reading books, transformed from the Telegram Mini App readbook project.

Features

This MCP server provides the following tools for AI assistants to help with reading:

Tools

  • search_books - Search for books by title, author, or category
  • get_book_content - Get chapter content of a specific book
  • add_bookmark - Add a bookmark at a specific location
  • get_bookmarks - Get all bookmarks for a book
  • get_reading_progress - Get reading progress for a book
  • update_reading_progress - Update reading progress
  • get_reading_stats - Get overall reading statistics

Resources

  • book_list - List of all available books
  • reading_progress_summary - Summary of reading progress across all books

Prompts

  • reading_recommendation - Get personalized book recommendations
  • reading_summary - Generate a reading summary report

Installation

From Source

  1. Clone the repository:
git clone https://github.com/yourusername/readbook-mcp.git
cd readbook-mcp
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "readbook": {
      "command": "node",
      "args": ["/path/to/readbook-mcp/build/index.js"]
    }
  }
}

Cursor

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "readbook": {
      "command": "node",
      "args": ["/path/to/readbook-mcp/build/index.js"]
    }
  }
}

Development

Build

npm run build

Watch Mode

npm run watch

Test with MCP Inspector

npm run inspector

Mock Data

The server comes with pre-loaded mock books:

  • JavaScript高级程序设计 by Nicholas C. Zakas (25 chapters)
  • 人类简史 by 尤瓦尔赫拉利 (20 chapters)
  • 百年孤独 by 加西亚马尔克斯 (20 chapters)

API Usage Examples

Search Books

// Search by title
await client.callTool({
  name: "search_books",
  arguments: {
    query: "JavaScript",
    searchType: "title"
  }
});

// Search by author
await client.callTool({
  name: "search_books",
  arguments: {
    query: "Nicholas",
    searchType: "author"
  }
});

Get Book Content

await client.callTool({
  name: "get_book_content",
  arguments: {
    bookId: "book_001",
    chapterNumber: 1
  }
});

Add Bookmark

await client.callTool({
  name: "add_bookmark",
  arguments: {
    bookId: "book_001",
    chapterNumber: 3,
    pageNumber: 15,
    note: "Important concept about closures"
  }
});

Update Reading Progress

await client.callTool({
  name: "update_reading_progress",
  arguments: {
    bookId: "book_001",
    chapterNumber: 5,
    pageNumber: 23,
    markChapterCompleted: true
  }
});

Architecture

This MCP server is built using:

  • @modelcontextprotocol/sdk - Official MCP TypeScript SDK
  • TypeScript - Type-safe development
  • Zod - Schema validation
  • Stdio transport - Standard input/output communication

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

相关 MCP 服务