Co-Reading MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_SSE_HOST | No | Listen host for SSE/remote MCP. Default: 0.0.0.0 | |
| MCP_SSE_PORT | No | Listen port for SSE/remote MCP. Default: 3100. Also settable via PORT. | |
| MCP_AUTH_TOKEN | No | Bearer token required for remote MCP clients. | |
| MCP_CORS_ORIGIN | No | CORS origin for remote MCP. Defaults to * when MCP_AUTH_TOKEN is set, otherwise no CORS. | |
| READING_HTTP_PORT | No | Port for the reader HTTP server. Default: 8787 (when using http.js) | |
| MCP_MAX_BODY_BYTES | No | Max JSON-RPC POST body size. Default: 25000000 | |
| READING_MCP_DATA_DIR | No | Directory for storing books, annotations, progress, and cards. Default: ./data | |
| READING_IMPORT_MAX_BYTES | No | Max EPUB/TXT upload size. Default: 25000000 | |
| READING_TRASH_RETENTION_DAYS | No | Days to retain trashed books. Default: 30 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| reading_list_booksB | List imported books with progress and annotation counts. |
| reading_list_chunksA | List chunks for a book in reading order. |
| reading_read_chunkC | Read one book chunk and return prevId/nextId. |
| reading_continueA | Continue reading from the next unread chunk. If bookId is omitted, use the most recently read book. |
| reading_search_chunksC | Search book chunks by keyword. |
| reading_import_bookB | Import one EPUB or TXT file from base64 content into the reading library. Use this for files small enough for one MCP request. |
| reading_import_beginB | Start a chunked EPUB/TXT import. Use this when the file is too large for one reading_import_book request. |
| reading_import_partC | Append one base64 file part to an active chunked import. |
| reading_import_finishB | Finish a chunked import and add the uploaded EPUB/TXT to the reading library. |
| reading_import_cancelA | Cancel a chunked import and delete its temporary upload file. |
| reading_delete_bookA | Delete a book from the active library and archive its book folder plus related progress, annotations, submissions, and cards under data/trash. Requires confirm: true. |
| reading_annotate_passageA | Write a Claude margin annotation anchored to a quote in a chunk. Human private notes should be created through the HTTP reader API, not this MCP tool. |
| reading_list_annotationsA | List annotations, optionally filtered by book, chunk, kind, or author. |
| reading_submit_user_notesA | Submit open user notes for Claude review. By default, include each chunk's full text once per session and mark notes submitted so they are not sent again. |
| reading_list_submissionsB | List human note submission batches that have been shared with Claude. |
| reading_read_submissionB | Read one human note submission batch including notes and context. |
| reading_reply_to_annotationC | Attach a Claude reply under an existing user or Claude annotation. |
| reading_mark_readC | Mark a chunk as read and update last-read progress. |
| reading_card_inboxC | Show unread collected reading-card prompts, like a small bookmark inbox. |
| reading_card_collectionC | Browse collected reading cards as a paginated collection without opening every image. |
| reading_open_cardA | Open one collected reading card and return it as an image for Claude to view. |
| reading_save_cardC | Render one collected reading card to a local image file and return its absolute path. |
| reading_dismiss_cardB | Dismiss one collected reading card from the card inbox without deleting it. |
| reading_list_cardsC | List collected ritual reading cards/bookmarks for completed sections or shared margin moments. |
| reading_collect_cardC | Collect a small ritual reading card/bookmark so it can be revisited later. |
| reading_get_progressA | Get reading progress for one book or all books. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/idleprocesscc/co-reading-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server