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.
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.
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.
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.
The full MCP installation procedure as plain text. An agent with a shell can get it from one URL and do the steps.
AuthPublic
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.
Sign in from a conversation. You approve the sign-in in your browser.
Save links. Find, read, change, delete and export your saves.
Find a board and export its hook guide.
Make an image with Pop-Cam's model. Each image costs 1 credit.
Get a finished promotion video from a product brief. Each video costs 10 credits. You get the credits back if it fails.
Post a video or photos now, or at a time that you set.
Find free sound effects and download the MP3 files. You do not need a sign-in.
Find royalty-free tracks and download them. Only recommend_music needs your sign-in.
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 --helpIf 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 loginhookova statushookova projectshookova saveshookova accountshookova toolshookova <command> '<json>'hookova updatehookova --helpAll 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 0On 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 0exit 1exit 2Tool 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/mcpThe 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.
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].
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.
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/tokenGET /api/saves · POST /api/savesGET /api/jobs · POST /api/jobsGET /api/projects/[id]/guideGET /api/sfx · GET /api/sfx/[id]GET /api/music · GET /api/music/[id]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 KBThe 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 and sign in from the browser. Then all tools on this page work from a client or from a shell.