Skip to main content
Glama

EyeStill Speed Reader

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
artemartsokolov/eyestill-plugin
GitHub Stars
0

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation3/5

The two tools both concern loading text for EyeStill, and the boundary is only clarified by the phrase 'used by the EyeStill reader view' in eyestill_fetch_text, implying it is an internal/streaming helper. An agent could still plausibly call fetch_text when the user actually wanted the reader view opened, so the separation relies on subtle wording rather than a clearly distinct action.

Naming Consistency3/5

Both names are snake_case and readable, but they use different conventions: a domain-prefixed verb_noun (eyestill_fetch_text) versus a verb_with_domain form (read_with_eyestill). With only two tools, the inconsistency is noticeable but not confusing.

Tool Count3/5

Two tools is thin, and one of them appears to be a supporting fetch/streaming helper rather than a user-facing capability, leaving effectively one primary operation. The scope is narrow and defensible, but the surface feels minimal.

Completeness3/5

Coverage for 'get text and display it in the reader' is present, including pagination and start position, but there are no tool-level controls to update position, speed, or close the view, and no way to discover or list available public-domain books. These are workable gaps since the view exposes controls, but they are notable.

Available Tools

2 tools
eyestill_fetch_textFetch text for the EyeStill readerB
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
urlNo
bookNo
offsetNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that this is reader-view loading and supports a next part, but it does not cover auth, rate limits, or return format; with annotations present, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted clauses. Its brevity is structurally efficient, though it contributes to under-specification elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an openWorld text-fetch tool with three undocumented optional parameters and no output schema, the description is too thin. It never explains when to use url versus book, how pagination works, or what the returned text looks like, leaving the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for three optional parameters (url, book, offset), and the description only loosely implies page/book and next-part concepts. It never explains what url versus book do, how offset is interpreted, or what happens when no parameter is supplied, so it does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('load the text') and resource ('page or book, or its next part') and names the consuming view. It does not clearly distinguish this tool from the sibling read_with_eyestill, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Used by the EyeStill reader view' gives an implied calling context, but there is no explicit when-to-use/when-not-to-use guidance and no comparison to read_with_eyestill. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_with_eyestillSpeed-read with EyeStillA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
urlNoAddress of a public web page, article or .txt file
wpmNoStarting speed in words per minute; 300 if omitted
bookNoTitle and/or author of a public-domain book, e.g. "Moby Dick Melville"
textNoText to read, e.g. from the conversation or an answer written for the reader; shown as it streams in
titleNoOptional title shown above the reader (for text)
start_atNoA phrase to start reading from, e.g. a chapter heading like "CHAPTER 30"
start_wordNoWord number to start reading from, e.g. where the reader stopped

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare read-only/idempotent/open-world; the description adds substantial behavior beyond that: streaming display so reading can start before the text is complete, that the text appears only in the view while the result reports title and word count, that the view shares current position and passage as context, and that Markdown/tables/code render as raw text. These are non-obvious operational traits an agent could not infer from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the mode-selection rule before the finer details, and nearly every sentence carries information. It is on the long side for a single tool and repeats the view/streaming idea in a couple of places ('shown as it streams in' appears in both description and schema), but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 optional parameters, no output schema, and a non-trivial rendering surface, the description covers what an agent needs: mode selection, defaults, rendering limits, streaming behavior, and what the result reports. Nothing material about invoking the tool correctly is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: url must be public and the server extracts readable text, book is resolved against Project Gutenberg, text streams into the view, wpm spans 100–1,000, and start_at is for a phrase like a chapter heading. This goes well past restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a concrete verb and resource ('Opens text in EyeStill, a speed reader shown in the chat as an interactive view') and then specifies the mechanism (RSVP, one word at a time on a 3D drum) so the agent knows exactly what effect the call has. The 'takes exactly one of url / book / text' clause makes the tool's input contract distinctive rather than a generic fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates the three mutually exclusive modes and when each applies: url for a public web article/page/plain-text file, book for a public-domain title fetched from Project Gutenberg, and text for conversation content or an answer composed for reading. It also gives guidance on choosing start_word ('as reported by the reader's context') versus start_at (a chapter heading), which is exactly the kind of when-to-use routing an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedeyestill_fetch_text
    • First observedread_with_eyestill

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables assistants to open scripts in a centered, multilingual reader with direct paste, locale-aware word tracking, manual sentence navigation, pause/auto-scroll, and optional browser or OpenAI speech recognition.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables a shared reading room where users and Claude can import EPUB or text books, read chunk-by-chunk, annotate passages, search, track progress, and resume from unread sections.
    26
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.