EyeStill Speed Reader

Speed-read web pages, books and Claude's answers one word at a time, right in the chat.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~637Tokens (tool definitions)
~1.8 KBTypical response size
Minimal attention impact (0.50% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "eyestill": {
      "url": "https://eyestill.com/mcp"
    }
  }
}

Remote endpoints

https://eyestill.com/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢read_with_eyestill(url, book, text, title, wpm, ...)

Opens text in EyeStill, a speed reader shown in the chat as an interactive view. The view shows one word at a time at a single point of focus (RSVP) on a 3D drum, with play, pause, speed (100 to 1,000 words per minute) and position controls. Takes exactly one of: url (a public web article, page or plain-text file; the server extracts its readable text), book (title and/or author of a public-domain book, fetched from Project Gutenberg), or text (any text, such as text from the conversation or an answer composed for reading in the view). Text is displayed while it streams in, so reading can start before it is complete. The text is shown only in the view; the result reports its title and word count. Plain prose reads best: Markdown, tables and code appear as raw text. A text can be opened at a word number (start_word, as reported by the reader's context) or at the first place a phrase appears, such as a chapter heading (start_at). While the user reads, the view shares the current position and passage as context.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Address of a public web page, article or .txt file"
    },
    "book": {
      "type": "string",
      "description": "Title and/or author of a public-domain book, e.g. \"Moby Dick Melville\""
    },
    "text": {
      "type": "string",
      "description": "Text to read, e.g. from the conversation or an answer written for the reader; shown as it streams in"
    },
    "title": {
      "type": "string",
      "description": "Optional title shown above the reader (for text)"
    },
    "wpm": {
      "type": "integer",
      "minimum": 100,
      "maximum": 1000,
      "description": "Starting speed in words per minute; 300 if omitted"
    },
    "start_word": {
      "type": "integer",
      "minimum": 0,
      "description": "Word number to start reading from, e.g. where the reader stopped"
    },
    "start_at": {
      "type": "string",
      "description": "A phrase to start reading from, e.g. a chapter heading like \"CHAPTER 30\""
    }
  },
  "additionalProperties": false
}
🟢eyestill_fetch_text(url, book, offset)

Used by the EyeStill reader view to load the text of a page or book, or its next part.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Address of the public web page or .txt file to load"
    },
    "book": {
      "type": "string",
      "description": "Title and/or author of the public-domain book to load"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Word number to continue from; the next part of the text starts here"
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools