Anthra developer platform

Build with Anthra

Anthra exposes two programmatic surfaces on top of the same studio that powers /dashboard:

  • REST API at /api/v1/* — JSON in, JSON out (plus streamed text/plain for chapter generation).
  • MCP server at /api/mcp — connect Claude, Cursor, or any Model Context Protocol client with a personal access token and Anthra appears as a set of callable tools.

Both surfaces use the same authentication, the same scopes, and the same underlying database — you can mix them freely.

Start here

What you can do

CapabilityRESTMCP toolScope
List / read booksGET /v1/bookslist_books, get_bookbooks:read
Create or edit a bookPOST /v1/books, PATCH /v1/books/{id}create_book, update_bookbooks:write
Generate outlinePOST /v1/books/{id}/outlinegenerate_outlinegeneration:run
Write / rewrite a chapterPOST …/chapters/{cid}/write (stream)write_chapter, rewrite_chaptergeneration:run
Narrate with ElevenLabsPOST …/chapters/{cid}/narratenarrate_chaptergeneration:run
Publish / unpublishPOST /v1/books/{id}/publishpublish_book, unpublish_bookpublish:write
Reader analyticsGET /v1/books/{id}/analyticsget_reader_analyticsanalytics:read
Account + token usageGET /v1/account, GET /v1/usageget_usageaccount:read
Planning surface (theme, promise, comp, locks)GET / PATCH /v1/books/{id}/planget_plan, set_planbooks:read · books:write
Characters (want / fear / lie)GET / POST /v1/books/{id}/characterslist_characters, create_characterbooks:read · books:write
Writer's bible (characters, plot, world, glossary…)GET /v1/books/{id}/documents, GET / PUT /v1/books/{id}/documents/{kind}list_book_documents, read_book_document,write_book_document, draft_book_documentbooks:read · books:write
Beat sheets (Save the Cat, Freytag, …)GET /v1/books/{id}/beat-sheetslist_beat_sheetsbooks:read
Sensitivity flagsGET / POST /v1/books/{id}/sensitivityrun_sensitivity_scan, list_sensitivity_flags, dismiss_sensitivity_flaggeneration:run · analytics:read
Background jobsGET /v1/jobs, GET /v1/jobs/{jobId}list_jobs, get_job_statusaccount:read
Narration voice directoryGET /v1/voiceslist_voicesbooks:read
Batch narration (whole book)loop POST …/chapters/{cid}/narratenarrate_bookgeneration:run
Cover art / chapter illustrationsPOST /v1/books/{id}/cover-image, POST /v1/books/{id}/back-cover, POST /v1/books/{id}/spine, POST /v1/books/{id}/cover/compose, POST /v1/chapters/{cid}/imagegenerate_cover_art, generate_back_cover,generate_spine, compose_cover_spread,generate_chapter_image, choose_cover_colorgeneration:run
Chapter restructuringPATCH /v1/books/{id}/chapters/{cid}list_chapters, update_chapter, split_chapter, merge_chapters, reorder_chapters, set_chapter_meta, list_chapter_revisions, restore_chapter_revisionbooks:read · books:write
Manuscript export (EPUB / DOCX / PDF / Markdown)POST /v1/books/{id}/produceexport_book_markdown, produce_book, get_production_job_statusgeneration:run
Translation (clone into another language)POST /v1/books/{id}/translatetranslate_bookgeneration:run
Editorial & quality (lint, critique, continuity, drift, repetition, cliches)lint_prose, critique_chapter, check_continuity, find_repetition, suggest_cliche_replacements, spoken_readability, style_drift, set_forbidden_wordsbooks:read · generation:run
Collaborators & author preferenceslist_collaborators, invite_collaborator, remove_collaborator, list_author_preferences, set_author_preferencebooks:read · books:write · account:read

Planning surface (added 2026-06)

The studio's planning workbench is now fully programmable. Both REST and MCP can:

  • Read and write the theme statement, reader promise, comp authors, beat sheet, POV / tense locks, and POV depth dial.
  • Manage the character roster with Truby-style want / fear / lie axes and the inter-character conflict matrix.
  • Generate and apply outline variants, grade the current outline, run the premise-sharpening interview, pick one of three premise pitches, auto-detect genre, and run era research with citation links.
  • List tone / mood references and roll the outline back via snapshots.

Versioning

The REST surface is namespaced by version (/api/v1). Anthra will introduce a new namespace before making any breaking change; v1 is stable and additive-only.