Harumi

Tool reference

Every tool and action the Harumi MCP server exposes to ChatGPT and Claude, with the parameters each one takes.

How tools are shaped

Each tool covers one area of Harumi and takes an action argument that picks what it does — the same way the CLI groups commands. Reading and changing are split into separate tools (runs and runs_manage, for example), so your chat app can tell them apart:

  • Read tools change nothing.
  • Write tools change something you can redo.
  • Destructive tools can remove or overwrite something Harumi can't get back. Your chat app asks you to confirm before it runs one.

You don't call these by name — ask in plain language and the model picks the tool. This page is for knowing what's possible.

Most project-level tools take a project_id. You rarely need to supply one yourself: ask for a project by name and the model looks the id up with projects.

Account

profile — read

ActionWhat it does
showYour Harumi id, email, and name.

profile_manage — write

ActionWhat it does
setChange your own profile. Pass only the fields to change: first_name, last_name, bio, avatar.

org — read

ActionWhat it does
listEvery organization you belong to, with your role in each.
membersThe members of one organization (organization_id): name, email, role, and whether their invite is still pending.

Creating or deleting organizations, inviting or removing people, and changing roles are not available.

Projects and runs

projects — read

ActionWhat it does
listEvery project across your organizations, then your personal projects, each with its organization and latest run status. Pass organization_id to narrow to one organization.
getOne project's details, looked up by name, or by project_id when several projects share a name.

runs — read

ActionWhat it does
listA project's runs, newest first: command, time, branch, whether a person or a schedule started it, and status.
getOne run (run_id) in full: status, kernel spec, branch, commit, start time, and duration.
logsA run's log — the last 200 lines by default, with a link to the full log. Pass tail_lines for more.
outputsA run's outputs drawn as the project's dashboard, the way Harumi shows it. Uses the latest completed run when run_id is unset. Pass dashboard (a spec path such as dashboard/costs.toml) to pick one when the project has several.

runs_manage — destructive

ActionWhat it does
startQueue a new run and return at once — it doesn't wait for the run to finish. Optional: branch (the live branch when unset), commit, command, kernel_spec. Check progress afterwards with runs → get.
cancelCancel a running run (run_id). Harumi can't resume a cancelled run. Fails clearly when the run has already finished.

Code

repo — read

Browses a project's git repository. Every action except branches takes an optional ref (a branch, tag, or commit) and uses the live branch when it's unset.

ActionWhat it does
lsEvery file in the repository.
dirOne folder (path, the root when unset), with each entry's latest commit.
branchesThe branches, with the live one — the one schedules run — marked.
commitsOne page of commit history. Pass path for one file or folder, and page / per_page to page through.
readinessWhether the project can run, naming each check that blocks it.
catOne file's content (path). Content over 20,000 characters is trimmed, with a link to the file in Harumi.
downloadThe repository, or one folder (path), as a zip archive. A large archive comes back as a link.

repo_manage — destructive

Changes scratch branches only. It never writes to or removes the live branch, and never promotes a branch to live.

ActionWhat it does
branch-createCreate a branch (name) from from_branch (the live branch when unset).
branch-rmRemove a branch (name). Harumi can't get it back.
putCreate or update one file (path) on branch with content. Content over 20,000 characters is refused, with a link to finish the write in Harumi.
rmRemove one file, or one folder's files (path), from branch.
mvMove or rename a file or folder from from_path to to_path on branch.

Files

A project's files are its non-git file storage — separate from the repository.

files — read

ActionWhat it does
lsEvery file, with its size.
getOne file's content (path). Content over 20,000 characters is trimmed, with a link to the file in Harumi.

files_manage — destructive

ActionWhat it does
putUpload content to path, creating or overwriting that file. Content over 20,000 characters is refused, with a link to finish the upload in Harumi.
rmRemove a file (path). Harumi can't get it back.

Data and automation

datasources — read

ActionWhat it does
listA project's data sources: name, type, and connection target — never a password or connection secret. Pass limit / offset to page through.
getOne data source's details (name).
queryRun one read query against a data source (name) and show the result as a table. Returns at most 100 rows; a longer result is trimmed, with a notice.

Creating, changing, or deleting data sources is not available.

schedules — read

ActionWhat it does
listA project's schedules, with their cron, branch, kernel spec, and status.
getOne schedule (schedule_id) in full.

schedules_manage — destructive

ActionWhat it does
addCreate a schedule that runs on cron. Optional: start_at (ISO 8601, now when unset), git_branch (the live branch when unset), git_commit, command, kernel_spec, output_format, email_to.
updateChange a schedule (schedule_id). Pass only the fields to change; the rest keep their current value.
rmRemove a schedule (schedule_id). Harumi can't get it back.

catalogue — read

ActionWhat it does
specsThe kernel specs a project can use: name, display name, language, and whether it needs a subscription.
templatesThe templates a new project can start from: slug, name, and description.

Secrets and sharing

secrets — read

ActionWhat it does
listA project's secret names. Never a secret's value.

secrets_manage — destructive

ActionWhat it does
setSet the secret name to value, overwriting a secret with the same name.
rmRemove a secret (name). Harumi can't get it back.

share — read

Share links are public links to a project's dashboard.

ActionWhat it does
listA project's share links: id, label, whether enabled, and whether a password is set.
getOne link (link_id) in full, including its share token. Never its password.

share_manage — destructive

ActionWhat it does
addCreate a link with an optional label. Each permission — app_enabled, chat_enabled, run_history_enabled, comparisons_enabled (needs run history), run_control_enabled, io_control_enabled — is off unless set to true.
updateChange a link (link_id). Pass only the fields to change; enabled turns the link on or off.
rmRemove a link. Its URL stops working, and Harumi can't get it back.
rotateGive a link a new share token. The old URL stops working.
set-passwordSet a password a viewer must give to open the link.
rm-passwordRemove the link's password.

Not available

These stay out of the MCP server on purpose, because Harumi has no undo for them. Use the platform instead:

  • Deleting a project, an organization, or a data source.
  • Inviting or removing people, or changing anyone's role.
  • Promoting a branch to live, or writing to the live branch.
  • Anything billing-related.

On this page