Cofounder

Company Knowledge

Give your agent what it needs to know about the company by saving it to the Library, and manage Library files.

Put what your agent needs to know about the company in the Library: the pitch, the market, customer notes, and decisions. Every agent on the company reads it.

Add What You Already Know

Save a document as a text file, or have your agent save a web page:

MCPCLIAPI

From a terminal, cofounder library write <local-file> <department/path> copies a local file in. Start with the pitch, the audience, the constraints, and the competitors, since your agent uses them for every task after.

The Library

The Library holds files: specs, exports, decks, code, anything your agent might read or run later. Paths look like marketing/notes/plan.md, where the first folder is a department: general, engineering, sales, marketing, design, research, support, ops, finance, legal, or my_agents.

These CLI commands read and write local files:

CLIWhat it does
Browse folders and files in a department
Print a text file
Create or replace a text file from a local file; replays a lost response
Upload any file, including images and PDFs; replaces the file at the exact path
Save a Library file locally; overwrites

The same operations as tools:

MCPCLIAPI
  • files list --query matches names and details. search looks inside files.
  • urls ingest saves a web page or document by URL.
  • files delete archives the file so it no longer shows up.

To edit a file without overwriting someone else's change, take the version token that files get returns with the text and pass it to files content publish as --base-revision-token. If someone changed the file since, the edit is refused. Read it again, or add --overwrite-stale-content to replace it anyway.

If library write or library_text_write times out, retry with the same --idempotency-key (idempotency_key on MCP). You get back the file the first write made instead of a second copy.

Upload From an Agent

cofounder library upload uploads in one command. An agent calling tools uploads in three steps, for files up to 32 MiB:

MCPCLIAPI
  1. start returns an upload URL. Keep it private, because anyone with it can write to it.
  2. PUT the file's bytes to that URL.
  3. Call finalize with the part number and ETag from each PUT. Nothing is saved until then. If the transfer fails, cancel frees the file name.

If the path is taken, the file is saved as name_2.ext instead. Pass overwrite to start (--overwrite on library upload) to replace the existing file. The agent must be able to read the file itself, so a hosted agent can't upload a file from your machine.

Agents on MCP can also read Library files as resources. See MCP Beyond Tools.

Generate Images, SVGs, Video, and Speech

Generated media is saved to the Library, and the CLI also downloads it to your current folder.

MCPCLIAPI
cofounder media generate --kind image --prompt "flat illustration of a rocket, brand colors" --size 1536x1024 -o hero
cofounder media generate --kind image --prompt "landing hero, brand colors" --to design/studies/hero.png
cofounder media generate --kind svg --prompt "square app icon: a paper airplane, two-tone" -o icon
cofounder media generate --kind video --prompt "slow pan across the product dashboard" --from ./screenshot.png --no-wait
cofounder media generate --kind audio --prompt "Welcome to our weekly update." --voice Kore --instructions "Warm and calm." -o welcome.wav
cofounder media generate --kind audio --prompt "Your order is ready." --to marketing/order-ready.wav
cofounder media get --job-id <job-id>

Generation costs money. When an estimate is available, the CLI prints an upper-bound cost when the job starts. The final charge is based on actual usage.

  • Images usually finish while the command waits.
  • SVG makes a vector file for logos, icons, and illustrations: quiverai/arrow-2 by default (under a minute), or --model quiverai/arrow-2-telos for complex designs (several minutes). Describe the canvas shape in the prompt. SVG takes --reference but not --from or --size.
  • Video takes longer. Start it with --no-wait, then run media get, which downloads the files once they're done.
  • Speech makes a WAV file. Put exactly the words to speak in --prompt. --voice selects the speaker voice (Kore by default). Use --instructions for tone, accent, or pace; these directions are not spoken. The default audio model is google/gemini-3.8-flash-tts; use --model to choose another. Company brand settings do not change speech.
  • For visual media, --reference (repeatable) adds style or identity images. --from animates a still image. Local files you pass are uploaded to the Library first. Speech does not take --reference, --from, or --size.

Each request makes one output. Without --to, it gets a generated name under your department (general/ for CLI and API-key callers). With --to, it is saved at that exact path. The extension must match the kind (.png, .jpg, .jpeg, or .webp for images; .svg for SVG; .mp4, .webm, or .mov for video; .wav for speech), and an existing file at that path is rejected before anything is generated. --to skips the local download unless you also pass -o.

If a request fails unclearly, the CLI prints a key. Retry with that --idempotency-key to get the original result instead of paying for another. On MCP, pass kind: "image", kind: "svg", kind: "video", or kind: "audio" and your own idempotency_key to media_generate. For speech, put the words to speak in prompt, choose the speaker with voice, and put delivery directions in instructions. Omitted voice uses Kore, and speech is saved as WAV audio. A to destination for speech must end in .wav.