Early access is openRequest access
Mowa

MOWA FOR DEVELOPERS

Your prompts are hiding in your code.

Template literals, config objects, stray markdown files. Mowa imports prompts straight out of your repos, keeps them versioned, and hands back typed contracts, a REST API, and an MCP server.

CONTRACTS

Typed interfaces as contracts.

Every prompt carries a typed input and output interface. AI extraction drafts the schema from the prompt text itself, you edit it, and structured outputs hold the model to it at run time.

  • Typed input and output on every prompt
  • AI extraction drafts the interface from the prompt
  • Structured outputs checked against the schema
prompt/support-triage · interfacetyped

input { ticket: string, locale: string }

output { priority: enum, summary: string }

source extracted by AI, edited by you

SURFACES

REST, MCP, and llms.txt.

Everything the dashboard does to prompts and datasets, your code can do over the /api/v1 REST API and your agents can do over an MCP server with 13 tools. llms.txt hands the whole platform to a model in one read. API and MCP are free within plan limits.

  • Workspace-scoped API keys, full CRUD
  • MCP server with 13 tools and an OAuth workspace picker
  • llms.txt and llms-full.txt for machine-readable docs
Read the developer docs
curl api/v1/prompts200

auth: x-api-key, workspace scoped

mcp: mowa.dev/mcp · 13 tools

docs: /llms.txt · /llms-full.txt

GITHUB IMPORT

Nini reads your code, not just your prompt files.

Connect a repo and the Nini agent walks the code to find prompts wherever they live: template literals, config objects, string builders. It imports them as versioned prompts, and refresh re-reads the repo to keep the import current.

  • Finds prompts embedded in application code
  • Imports them as versioned, reviewable prompts
  • Refresh keeps Mowa in sync with the repo

repo connected nini: 9 prompts found in code

MATRIX

The playground is a test matrix.

Dataset rows × prompt versions × models in a single run. Pick rows, compare structured outputs side by side, and read the disagreement tint instead of diffing JSON by eye.

  • Per-instance version and model selection
  • Structured outputs validated against the interface
  • Disagreement tint surfaces the rows worth reading
playground/run72 cells

rows 24 × versions 2 × models 3

outputs: structured, schema checked

disagreement: 4 rows tinted

How it runs

one loop, every record kept

01 prompts

versioned, reviewed

02 datasets

rows + synthetic

03 runs

versions × models

04 scorers

your judgment

05 experiments

pass rates

MOWA FOR DEVELOPERS

Get prompts out of your string literals.

Start free, connect a repo, and put your first prompt under version control. The REST API and MCP server are free within plan limits.