- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Documented (README)
- !No description
git clone https://github.com/narrador-io/narrador-mcp{
"mcpServers": {
"narrador-mcp": {
"command": "node",
"args": ["/path/to/narrador-mcp/dist/index.js"]
}
}
}MCP Servers overview
# narrador MCP server
[](https://smithery.ai/servers/nicolaseliasarias/narrador)
narrador turns documents and X (Twitter) posts into natural narrated audio with word-level timestamps. Upload PDFs, Word, EPUBs or text, pick a voice (or let narrador files choose one from the document language), start conversion jobs, check status and download audio with synced timings. narrador X turns posts into audio the same way. Sign in with OAuth at narrador.io, or use a product API key.
Remote [Model Context Protocol](https://modelcontextprotocol.io) server for **narrador**. It lets AI agents (Claude, Cursor, VS Code, Windsurf, ChatGPT and any MCP client) use narrador files and narrador X.
- **narrador files**: PDF, Word, EPUB and other documents → audio with word-level timings.
- **narrador X**: X/Twitter posts → audio.
| | |
|---|---|
| Endpoint | `https://api.narrador.io/mcp` (Streamable HTTP) |
| Auth | OAuth 2.1 (recommended) or API key |
| REST API docs | https://api.narrador.io/docs |
| OpenAPI | https://api.narrador.io/openapi.json |
| Website | https://narrador.io |
Repository: https://github.com/narrador-io/narrador-mcp
This repository only holds the public listing (`server.json`), registry metadata (`glama.json`) and documentation. The server is hosted by narrador; there is nothing to install locally.
## Credits
Usage is metered in **narrador credits** (see `get_account`). Jobs and generations consume credits when they run. There are no subscriptions—buy credits in the narrador web app and check balance before calling tools that spend credits.
## Tools (7)
| Tool | Product | What it does |
|---|---|---|
| `get_account` | both | Identity, product scope, and narrador credit balances (read-only) |
| `list_voices` | both | Voices for narrador files or narrador X |
| `create_files_job` | narrador files | Start a document → audio job |
| `get_files_job` | narrador files | Poll job status and progress |
| `get_files_result` | narrador files | Download audio and word timings for a completed job |
| `generate_x_audio` | narrador X | Generate audio for an X post |
| `get_x_generation` | narrador X | Fetch a generation you created earlier |
### `get_account`
No parameters. Returns `user`, `app` (API key product or `null` for OAuth), `products` (`files` and/or `x`), and `credits` (`totalAvailable` and per-bucket `balances`). Does not consume credits.
### `list_voices`
| Parameter | Required | Description |
|---|---|---|
| `product` | No | `files` or `x`—which catalog to list. Defaults to the API key’s product, or `files` when an OAuth token has both products. |
Each voice includes `id`, `name`, `tier` (`standard` or `cheaper`), `defaultAccent`, `isPublic`, `description`, and `sampleUrl` (`https://api.narrador.io/v1/voices/{id}/sample`, a neutral sample redirect that does not require an API key). A legacy `provider` field may mirror `tier` and is deprecated—use `tier`.
### `create_files_job`
Provide **either** `text` **or** `fileId`, not both.
| Parameter | Required | Description |
|---|---|---|
| `text` | One of text/fileId | Plain text (1–500,000 characters). `fileName` optional (defaults to `document.txt`). |
| `fileId` | One of text/fileId | UUID of an uploaded file. `fileName` required. |
| `fileName` | If `fileId` | Job file name (1–200 characters). |
| `voiceId` | No | Voice UUID from `list_voices`. Must be set together with `accent`, or omit both. |
| `accent` | No | Accent code (e.g. `en-us`, `es-es`, `pt-br`). Must be set together with `voiceId`, or omit both. |
When `voiceId` and `accent` are omitted, narrador detects language from the document (`en-us`, `es-es`, `pt-br`). Very short or undetectable text falls back to `en-us`. It then picks a **standard** tier voice for that language, or a **cheaper** tier voice if none—deterministic catalog order. If the detected language has no supported voice, the job ends with `failed_file_processing`; pass `voiceId` and `accent` explicitly.
Returns `jobId`. Poll with `get_files_job`, then call `get_files_result` when status is `completed`. Consumes credits.
### `get_files_job`
| Parameter | Required | Description |
|---|---|---|
| `jobId` | Yes | UUID from `create_files_job`. |
Returns status (e.g. `processing`, `completed`, `failed`), `progressPercentage`, and `audioId` when ready.
### `get_files_result`
| Parameter | Required | Description |
|---|---|---|
| `jobId` | Yes | Completed job UUID. |
Returns `audioUrl`, `audioId`, `duration`, and `wordTimings` (`word`, `startTime`, `endTime`).
### `generate_x_audio`
| Parameter | Required | Description |
|---|---|---|
| `voiceId` | Yes | Voice UUID from `list_voices` (`product`: `x`). |
| `accent` | No | Accent code; defaults to `en-us`. |
| `postId` | One of postId/postUrl | Numeric X post id. |
| `postUrl` | One of postId/postUrl | Full X post URL. |
Returns `generationId`, `audioUrl`, `duration`, and `wordTimings` when ready (often immediately). Poll `get_x_generation` if needed. Consumes credits.
### `get_x_generation`
| Parameter | Required | Description |
|---|---|---|
| `generationId` | Yes | UUID from `generate_x_audio`. |
Returns the same audio metadata as a successful `generate_x_audio` call. **Only generations linked to your account are returned**; other ids respond with generation not found.
## Authentication
**OAuth (recommended).** Add the URL `https://api.narrador.io/mcp` to your client. The client discovers the authorization server (`https://narrador.io/api/auth`); sign in on narrador.io and approve access. Scopes: `narrador:files`, `narrador:x`.
**API key.** Create a key in the narrador web app and send it as `Authorization: Bearer <key>` or `x-api-key: <key>`. Keys are scoped per product:
| Product | Prefix |
|---|---|
| narrador files | `nrd_files_` |
| narrador X | `nrd_x_` |
## Connect
### Claude Desktop
Settings → Connectors → **Add custom connector** → URL `https://api.narrador.io/mcp` → Connect, then complete OAuth on narrador.io.
### Cursor
Project (`.cursor/mcp.json`) or user (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"narrador": { "url": "https://api.narrador.io/mcp" }
}
}
```
With an API key:
```json
{
"mcpServers": {
"narrador": {
"url": "https://api.narrador.io/mcp",
"headers": { "Authorization": "Bearer nrd_files_..." }
}
}
}
```
### VS Code
`.vscode/mcp.json`:
```json
{
"servers": {
"narrador": { "type": "http", "url": "https://api.narrador.io/mcp" }
}
}
```
### Claude (claude.ai)
Same as Claude Desktop: **Add custom connector** with `https://api.narrador.io/mcp`.
### Claude Code
```bash
claude mcp add --transport http narrador https://api.narrador.io/mcp
```
### Windsurf (`~/.codeium/windsurf/mcp_config.json`)
```json
{
"mcpServers": {
"narrador": { "serverUrl": "https://api.narrador.io/mcp" }
}
}
```
### Any other client
Point it at `https://api.narrador.io/mcp` (Streamable HTTP). If the client has no OAuth support, send an API key in the `Authorization` header.
## Example prompts
- "Check my narrador credits, then convert this PDF to audio with narrador files."
- "List standard-tier voices for narrador files in Spanish, then create a job for this text."
- "Turn this X post into audio with narrador X: https://x.com/…/status/…"
## License
MIT. See [LICENSE](LICENSE).
What people ask about narrador-mcp
What is narrador-io/narrador-mcp?
+
narrador-io/narrador-mcp is mcp servers for the Claude AI ecosystem with 0 GitHub stars.
How do I install narrador-mcp?
+
You can install narrador-mcp by cloning the repository (https://github.com/narrador-io/narrador-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is narrador-io/narrador-mcp safe to use?
+
Our security agent has analyzed narrador-io/narrador-mcp and assigned a Trust Score of 77/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains narrador-io/narrador-mcp?
+
narrador-io/narrador-mcp is maintained by narrador-io. The last recorded GitHub activity is dated 2026-10-19, with 0 open issues.
Are there alternatives to narrador-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy narrador-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/narrador-io-narrador-mcp)<a href="https://claudewave.com/repo/narrador-io-narrador-mcp"><img src="https://claudewave.com/api/badge/narrador-io-narrador-mcp" alt="Featured on ClaudeWave: narrador-io/narrador-mcp" width="320" height="64" /></a>More MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev