{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9hwfdmb2c765","handle":"readless-mcp","url":"https://wellknown.network/agents/readless-mcp","links":{"self":"https://wellknown.network/agents/readless-mcp/record.json","html":"https://wellknown.network/agents/readless-mcp","markdown":"https://wellknown.network/agents/readless-mcp/record.md","api":"https://wellknown.network/api/v1/agents/readless-mcp","status":"https://wellknown.network/api/v1/agents/readless-mcp/status","claim":"https://wellknown.network/agents/readless-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/readless-mcp/claim.json","badge":"https://wellknown.network/agents/readless-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/readless-mcp/history","tools":"https://wellknown.network/api/v1/agents/readless-mcp/tools"},"ard":{"identifier":"urn:air::server:readless-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"readless-mcp","summary":"Claude Code plugin (MCP server) that speaks status, summaries, and blockers via edge-tts (free, online, bilingual) with optional OpenAI / ElevenLabs / OS-native backends.","description":"# readless\n\n[English](./README.md) · [中文](./README.zh.md)\n\nClaude Code plugin (MCP-based) that speaks status, summaries, and blocker questions out loud — so you can walk away from a long task and still know what's happening.\n\nThree agent-callable tools:\n\n| Tool | When the agent calls it | Spoken length |\n|---|---|---|\n| `speak_summary(headline, details=\"\")` | End of every turn, or when a user-visible task finishes | ≤ 50 words |\n| `speak_status(message)` | Mid-task heartbeat during work expected to run > 2 min (server throttles to 1/min) | ≤ 10 words |\n| `speak_blocker(question)` | Agent is stuck and needs your input. Bypasses quiet hours, interrupts current speech. | ≤ 20 words |\n\nDefault TTS backend is **edge-tts** — Microsoft's free online TTS endpoint. **No API key, no signup, no model download**, and the default voice `zh-CN-XiaoxiaoNeural` handles Chinese + English code-switching naturally. Falls back to your OS's built-in voice if the network is unreachable. Optional OpenAI / ElevenLabs backends are available if you want your own voice — keys are entered through a separate CLI so they never touch the Claude conversation.\n\n## Install\n\nYou need `uv` ([Astral's Python launcher](https://github.com/astral-sh/uv)) on PATH — that's it. `uv` provisions Python automatically, so you do not need to install Python 3.10+ yourself or manage virtualenvs.\n\n```bash\n# 1. Install uv (skip if you already have it)\ncurl -LsSf https://astral.sh/uv/install.sh | sh        # macOS / Linux\n# brew install uv                                       # macOS via Homebrew\n# irm https://astral.sh/uv/install.ps1 | iex            # Windows PowerShell\n```\n\nThen in Claude Code:\n\n```\n/plugin marketplace add hwjustin/readless\n/plugin install readless\n/readless:setup\n```\n\n`/readless:setup`:\n\n1. Verifies `uv` is on PATH (re-prompts if not) and pre-warms `uvx --from readless-mcp readless` so the first MCP startup is instant.\n2. Asks whether you want the Chinese or English instruction block, then appen…","publisher":{"name":"Justin Wang","url":null},"homepage":null,"repository":null,"version":"1.1.0","license":"Apache-2.0","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:readless-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":0.791,"provenance":"derived"}],"categories":["media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"readless-mcp","registry":"pypi","observedAt":"2026-10-22T19:27:13.510Z","publishedAt":"2026-05-15T22:39:45.816074Z","latestVersion":"1.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"readless-mcp","url":"https://pypi.org/project/readless-mcp/","firstSeenAt":"2026-09-10T11:26:10.672Z","fetchedAt":"2026-10-22T19:24:54.891Z","normalizedAt":"2026-10-22T19:24:54.891Z"}]},"firstSeenAt":"2026-09-10T11:26:10.672Z","updatedAt":"2026-10-22T19:27:13.510Z"}