teneo-book-mcp
MCP server for Teneo. Lets any MCP-capable agent — Claude Desktop, Cursor, Claude Code, or your own — generate a complete, publish-ready non-fiction book: full manuscript, cover, and PDF/EPUB/DOCX files.
{
"mcpServers": {
"teneo-book": {
"command": "npx",
"args": ["-y", "teneo-book-mcp"],
"env": { "TENEO_API_KEY": "tk_live_..." }
}
}
}
Tools
| Tool | What it does |
|---|---|
teneo_capabilities | Discover auth, pricing, request shape, workflow, and output shape. Start here. |
teneo_generate_book | Start a book (async) → returns a jobId. Runs ~45 min. Charged in credits. |
teneo_book_status | Poll a job; when completed, returns download URLs for the cover and PDF/EPUB/DOCX. |
teneo_generate_outline | Generate an outline only, without running the full pipeline. Free. |
teneo_research_niche | Niche research from a seed topic. Free. |
teneo_generate_cover | Generate a cover only. |
teneo_evaluate_book | Run quality evaluation on an existing generated book. |
What it costs
Priced in Teneo credits. One credit is $69 singly, $59 each in a 3-pack, $44.90 each in a 10-pack; credits never expire.
requiredCredits = bookCredits + coverCredits + qualityCreditsReserve
bookCredits = wordBandCredits(estimatedWordCount) x modelMultiplier(model_version)
estimatedWordCount = number_of_chapters x topics_per_chapter x subtopic_count x 350
A default request (12 chapters / 3 topics / 3 subtopics) estimates 37,800 words → 1.05
credits, about $72 at list. teneo_generate_outline and teneo_research_niche cost
nothing, so validate direction before committing to a paid generation.
A funded Teneo balance is required before the first paid call — there is no
pay-per-call endpoint yet. The live numbers, the full model-multiplier table, and the
request schema are always at
/api/agent/capabilities, which is
authoritative if anything here disagrees with it.
Setup
Get a credential, then add the config block above to your MCP client.
- Preferred (delegated): start at
auth.teneo.io/auth.md, register forhttps://teneo.io/, have the user approve the claim, and exchange it for a delegated agent token. Pass it asTENEO_AGENT_TOKEN. The delegated user is charged. - Legacy: create an API key in your Teneo dashboard and pass
TENEO_API_KEY=tk_live_.... - Point at staging with
TENEO_BASE_URL=https://staging.teneo.io.
Spend semantics
Worth knowing before you wire this into an autonomous loop:
- Quoted before charged. A request that would exceed the balance returns
402with the full quote and charges nothing — a safe way to read the exact price. - Idempotent. Send an
Idempotency-Keyheader; replaying a request replays the original debit instead of charging twice. - Refunded on failure. A failed generation is refunded in full.
- Async. A book takes ~45 minutes. Poll
teneo_book_status, or passcallback_urlfor a completion webhook. Download URLs expire in ~1 hour; re-poll for fresh ones.
Not for
A single short answer, a blog post, or an article — answer those directly instead. Fiction and novels are not supported by this API.
Develop
npm test # unit tests for the HTTP client (mocked fetch, no network)
npm start # run the MCP server over stdio
client.mjs is a dependency-free HTTP client; server.mjs wraps it as MCP tools. Both
mirror the published
OpenAPI contract.
Links
- Agent front door: https://teneo.io/agents
- Capability manifest: https://teneo.io/api/agent/capabilities
- OpenAPI: https://teneo.io/openapi/agent-book-generation.yaml
- Also installable as an agent skill:
npx skills add https://teneo.io - Official MCP registry:
io.github.Traviseric/teneo-book-mcp
License
MIT