Hookova
Open Hookova
This page uses Simplified Technical English (ASD-STE100): short sentences and simple words.
Developer documentation

Use Hookova from your code

This page shows all parts of Hookova that an assistant, a script or your own code can use. There is one MCP server. A command line runs its tools from a shell. An installation procedure is written for AI agents. All of these use the HTTP API. Each section tells you what a part does and gives the link to its setup page.

You can also tell an assistant with a terminal: install www.hookova.com/install/mcp. The assistant then does the installation.

9
modules in one MCP server: auth, library, projects, images, promotion videos, publish, sound effects and music.
45
tools in these modules. You can run each tool from a shell.
1
token type. The apps, the extension and MCP use the same bearer token.
0
build steps. Bun runs the TypeScript files directly.

The parts that you can use

There are four parts. This list shows them in the usual order of use. We support the MCP server. The command line is the same server in a different mode. The MCP server and the command line both use the API.

Hookova MCP server →45 tools · v1.14.0

An assistant uses these tools to work with your saves, your inspiration boards and your posts. It can also make images and promotion videos, and get free sound effects and music. There are eight modules: auth, library, projects, images, automated, publish, sfx and music.

AuthYour account. Sign in through the connect tool in your browser, or use a token. The sound and music tools do not need a sign-in. The exception is recommend_music.

CLI guide →hookova login · status · projects

This is the same server. It runs one tool at a time from a shell. You do not need a client, a registration or a restart.

AuthThe same sign-in as the server. It reads the same saved token.

Agent install runbook →text/plain

The full MCP installation procedure as plain text. An agent with a shell can get it from one URL and do the steps.

AuthPublic

HTTP API →JSON over HTTPS

All clients use the API. The iOS app, the macOS app, the Chrome extension and the MCP server send requests to the same routes.

AuthA bearer JWE from POST /api/auth/token, or the session cookie

The Hookova MCP server

The Hookova MCP server is a local server that uses stdio. It gives an assistant 45 tools. With these tools, an assistant can use your saves, your inspiration boards and their hook guides. It can publish to your connected accounts. It can also get free sound effects and music. Bun runs the server from one TypeScript file. The server uses the same routes as the apps. The setup guide gives the installation, all tools and their arguments, other clients, environment variables and troubleshooting. This section gives only an overview.

Auth

Sign in from a conversation. You approve the sign-in in your browser.

auth_statussign_inconnectsign_out
Library

Save links. Find, read, change, delete and export your saves.

save_linklist_savesget_saveupdate_savedelete_saveexport_savestranscribeget_transcription
Projects

Find a board and export its hook guide.

list_projectsget_hook_guide
Images

Make an image with Pop-Cam's model. Each image costs 1 credit.

generate_image
Promotion videos

Get a finished promotion video from a product brief. Each video costs 10 credits. You get the credits back if it fails.

make_promo_videolist_promo_videos
Publish

Post a video or photos now, or at a time that you set.

list_publish_accountslist_publish_groupscreate_publish_groupupdate_publish_groupdelete_publish_grouppublish_postlist_postsget_postupdate_postschedule_draftcancel_post
Sound effects

Find free sound effects and download the MP3 files. You do not need a sign-in.

search_soundslist_soundslist_sound_groupsget_sounddownload_sounddownload_sounds
Music

Find royalty-free tracks and download them. Only recommend_music needs your sign-in.

search_musiclist_musiclist_music_tagsrecommend_musicget_trackdownload_trackdownload_tracks

The installation has three steps. A person uses the setup guide. An agent uses the runbook. Both have the same commands. This page does not show the commands. Thus they cannot become incorrect here.

The server reads data. It does not start the pipeline. The server cannot start an analysis or a transcription. You start them in the app. The server reads the data that exists, saves links, exports boards and publishes finished media. It also downloads sound effects and music.

CLI guide

Use hookova in your terminal. With it, you can sign in, look at your saves, export a project guide and publish finished media. The name hokova also works. Both names run the same commands. You do not need an AI client.

Install the CLI

Download the Hookova zip and extract it. Then run these commands in its folder. If you have an older installation, first extract the latest zip into your installed folder. The CLI commands need v1.7.0 or later.

bun install
bun link
hookova --help

If the terminal shows “command not found”, add the directory from bun pm bin -g to your PATH. On macOS or Linux, run export PATH="$(bun pm bin -g):$PATH". Add that line to your shell profile, for all new terminals. On Windows, add that directory to your user Path. Then open a new terminal. Do not delete the extracted folder, because the commands use it. To get the latest release, run hookova update. Your next command uses the new version. Restart all MCP clients that are open to load it.

Commands

hookova login
Sign in. The command opens the approval page in your browser. Then it waits for your approval.
hookova status
Show your account, your plan and the allowance that remains.
hookova projects
Show a list of your inspiration projects.
hookova saves
Show your saves.
hookova accounts
Show the publishing accounts that you connected.
hookova tools
Show all tools and their descriptions.
hookova <command> '<json>'
Give the options as one JSON object in single quotes. Example: hookova saves '{"limit":5}'.
hookova update
Download and install the latest CLI in the same folder. The command keeps your saved sign-in.
hookova --help
Show all commands and examples. hookova --version shows the installed version.

All examples also work with hokova. For advanced use, hookova call <tool> '<json>' runs a tool with its MCP name. Your current MCP client configurations continue to work.

These are typical commands, in the usual order for a first session:

# who am I, what plan, what's left today
hookova status

# the boards, then one board's hook guide written to a folder with its stills
hookova projects
hookova guide '{"projectId":"<id>","dir":"./hook"}'

# save a link, then search for it
hookova save '{"url":"https://www.youtube.com/shorts/…"}'
hookova saves '{"q":"sourdough","limit":5}'

# what a post can go to, then a draft
hookova accounts
hookova publish '{"files":["./final.mp4"],"caption":"…","draft":true}'

Sign in from the shell

Run hookova login. Then approve the account in your browser. The command waits for a maximum of five minutes. It saves your sign-in for all later commands and MCP clients.

hookova login
# Open this URL to approve (Chrome or Edge): https://www.hookova.com/connect/mcp?port=…&state=…
# …waits, up to five minutes, then prints {"connected":true, …account, "savedTo":…} and exits 0

On macOS, Windows and Linux, the command opens the URL. If it cannot, open the URL that it shows. Use Chrome or Edge. Safari does not let an https page connect to a loopback port. Approve in a browser that is signed in to Hookova. Accounts that use Google sign-in also work. The command writes the token to ~/.hookova/mcp.json with mode 0600. The MCP server and all later shell commands read the token from that file. The command never shows the token. An assistant that runs this command must give it a long timeout, or run it in the background.

Exit codes and output

exit 0
The tool gave an answer. The result is on stdout, usually as JSON.
exit 1
The tool did not do the task. For example, you are not signed in, the project is not yours, or an upstream error occurred. The message is on stderr.
exit 2
The command is not correct. For example, the command is unknown, the tool name is missing, or the arguments are not one JSON object. The usage line is on stderr.

Tool commands write their answers as JSON. Thus you can use | jq. Login also writes the approval URL. Help and tools write text. The CLI uses the same environment variables as the server. HOOKOVA_TOKEN has priority over the saved sign-in. HOOKOVA_API sends the requests to a different origin. HOOKOVA_TOKEN_FILE changes the location of the saved token.

Installation by an agent

www.hookova.com/install/mcp gives the full installation as text/plain. It is written for the program that controls the shell, not for a person. It gives the zip to download and the folder for it. It gives the registration line with the absolute path, and the JSON block for other clients. It also gives the shell commands to use until the client restarts. Tell an assistant “install www.hookova.com/install/mcp”. The assistant gets the file and does the steps. At the end, you do the sign-in in the browser. The file is not in /api/. Thus a program that obeys robots.txt can read it.

curl -s https://www.hookova.com/install/mcp

The board pages use the same route. Each inspiration project has an AI prompt button. It gives one block of text to paste. The block installs the server, signs in and exports the hook guide of that board. Then the work continues in the same session.

Sound effects and music

Two modules of the server give sound effects and music. Neither module needs an account. With them, an agent that makes a video can get its own audio. For example: “find a boom and put it in ./sfx” or “find calm piano music, less than one minute long, for ./music”. On the local server, each download tool gives the absolute path of the MP3 file that it wrote. ffmpeg or an editor can use this path directly. The hosted server at www.hookova.com/mcp cannot write to your disk. Thus it does not have the four download tools. Each result from its search tools and its get tools gives the URL of the MP3 file.

Sound effects

Approximately 1,000 short clips in 16 groups. A model listened to each clip and gave it tags. The module uses the public routes /api/sfx and /api/sfx/[id].

search_soundslist_soundslist_sound_groupsget_sounddownload_sounddownload_sounds
Music

1,442 tracks by Kevin MacLeod, with tags for mood, use and feel. The module uses the public routes /api/music and /api/music/[id]. recommend_music reads a brief. It is the only tool that needs your sign-in.

search_musiclist_musiclist_music_tagsrecommend_musicget_trackdownload_trackdownload_tracks

You do not install these modules separately. Install the Hookova MCP server one time, with the setup guide. The sound and music tools then operate before you sign in. The exception is recommend_music.

The HTTP API

One backend serves the web app, the iOS app, the macOS app, the Chrome extension and the MCP server. All of them use the same authentication. In the browser, this is a NextAuth session cookie. Other clients send an Authorization: Bearer header with the JWE from POST /api/auth/token. A bearer token identifies the user. It does not limit what the client can do. The MCP server is the supported client, and we designed the routes for it. This list shows the routes that it uses. Use them if you write your own client.

# mint a bearer (30 days)
curl -s https://www.hookova.com/api/auth/token \
  -H 'content-type: application/json' \
  -d '{"email":"you@example.com","password":"…"}'
# → {"token":"…", …}

# use it
curl -s https://www.hookova.com/api/saves -H "authorization: Bearer $TOKEN"
POST /api/auth/token
credentialsMakes a bearer token that is valid for 30 days. It accepts an email and password, a Google id_token or an Apple identity token. All clients start here.
GET /api/saves · POST /api/saves
bearerGet the library, or add a save to the queue. Saves have no cost, but there is a daily limit. The queue gets the content.
GET /api/jobs · POST /api/jobs
bearerGet the analyses, or add one to the queue. An analysis uses one credit only if it is successful. A download failure or a model failure uses no credit.
GET /api/projects/[id]/guide
bearerGives a board as a hook guide, with markdown, references and patterns. It exports analyses that you paid for before. It does not call a model.
GET /api/sfx · GET /api/sfx/[id]
publicFinds sound effects in the catalog, the best match first. The second route gives the MP3.
GET /api/music · GET /api/music/[id]
publicFinds tracks in the music library, the best match first. The second route gives the MP3. POST /api/music/recommend reads a brief and needs a bearer token.

Two routes accept only the session cookie, never a bearer token: POST /api/mcp/connect and POST /api/mac/connect. These routes make credentials. If a route gave a new bearer token in exchange for a bearer token, a stolen token could renew itself. Thus these routes need a browser that is signed in. The credit rules are the same everywhere. An analysis uses a credit only if it is successful. Saves have no cost. The MCP server and the hook guide never use credits.

Versions and downloads

The server is a zip of plain TypeScript. bun install gets its two dependencies. The version on the zip is the same as the version in its package.json. We do not release a new zip until the two versions are the same.

hookova-mcp.zip · v1.14.0 · 75 KB
Download · the server for the library, projects, posts, sound effects and music, with the command line

The iOS app, the macOS app and the Chrome extension are on the Downloads page.

Frequently asked questions

Which part do I use first: the MCP server, the CLI or the API?

Use the MCP server first, if you do not have a different requirement. It is the supported part. The server examines the arguments of each tool against a schema. Its answers are easy for an assistant to read. The sign-in occurs in your browser. The CLI is the same server, but it runs one tool at a time. Use it in a shell script, or in the session that installed it. The MCP server and the CLI both use the HTTP API. Use the API when you write your own client.

Do the CLI and the MCP client use the same sign-in?

Yes. Both read the token that the connect tool or the sign_in tool saved in ~/.hookova/mcp.json (mode 0600). Both use HOOKOVA_TOKEN from the environment first. Sign in one time with one of them. Then the other is also signed in.

Can these tools start an analysis, make a transcript or make a video?

The MCP server and the CLI cannot start an analysis or a transcription. You start them in the app. The tools only read the data that exists. The HTTP API can add an analysis to the queue (POST /api/jobs). The analysis uses a credit if it is successful. No part of this page makes a video. The hook guide is an export. It gives your own tools the brief and the still images.

Can I paste a token, and not use the browser sign-in?

Yes. Go to Settings → MCP server (Connect to My AI). Copy prompt makes a token and writes it into an installation block. There is also a token generator for JSON configurations. Give the token as HOOKOVA_TOKEN. But the browser sign-in through connect keeps the token out of the conversation.

Are the sound-effect tools and the music tools free, with no account?

Yes. These tools find and download files through public routes. Thus they operate before you sign in to the server. There is one exception: recommend_music. It uses a model call to read your brief. Thus it needs your Hookova sign-in.

Where is the source code?

The server is a zip of plain TypeScript, and Bun runs it directly. There is no build step, and nothing is compiled. Thus the source code is the same as what you install. Extract the zip. Then read index.ts and the files in the modules/ folder.

Install the server. Then use your library from a conversation.

Install the server and sign in from the browser. Then all tools on this page work from a client or from a shell.