Sections
On this page
Agents and harness
How external agents over MCP, the built-in agent and harness runs work with Artifactory: the artifact_* tools, large file uploads, semantic search, step results.
Artifactory is equally available to people and agents: a file an agent put there is visible to a person on the screen, and an agent finds and reads a person's file through search.
External agent over MCP
An agent connected over MCP (Claude Code, Cursor and others) works
with files through the artifact_* tools. The project comes from the connection, so you don't
need to pass project_id. A file is identified by its slug (AF-ARTF-12).
| Tool | What it does |
|---|---|
artifact_upload | Save a file: text (content) or binary (content_base64) up to 16 MB. A description is required |
artifact_complete_upload | Finish uploading a large file (see below) |
artifact_list | Folder contents, search by name, description and slug, the trash (trash: true) |
artifact_get | File properties and "Where used" |
artifact_read_text | File text up to 1 MB straight into the response; a specific version is possible |
artifact_download_url | A download link for any file, valid for 5 minutes |
artifact_update | Change the name, description, tags, metadata. Tags and metadata are replaced as a whole |
artifact_move | Move one or more files to a folder |
artifact_delete | Delete to the trash; a file in use only with confirm: true |
artifact_folder_create | Create a folder along with any missing parents |
artifact_quota | How much is used, how much is left, whether there's a warning |
The trash (restore, "delete forever"), folder operations other than creating, and version history are available only on the Artifactory screen.
Save a result and refer to it
artifact_upload(folder: "reports/bench/", name: "latency-2026-10-05.md",
content: "# p95 before and after the cache\n…",
description: "p95 of /api/search before and after the Redis cache, 10k requests",
tags: ["bench", "search"])
→ { artifact: { slug: "AF-ARTF-12", … } }
add_comment(slug: "AF-TASK-901", body: "[done] p95 dropped from 480 to 95 ms — benchmark AF-ARTF-12")The description isn't required for bureaucratic reasons: file contents aren't indexed for search, and a month later the file can be found only by its description. Write one or two sentences about what is in the file and why it exists.
New version
Uploading to a taken name without the flag is rejected: "name already exists in this folder".
To update a file while keeping its slug and references, pass new_version: true.
Large files
A file over 16 MB (up to 5 GB) is uploaded in three steps:
artifact_upload(large: true, size_bytes: …, sha256: "…", …)— the agent receives links for uploading in parts.- The agent uploads the parts to the issued links (HTTP PUT).
artifact_complete_upload(upload_id: …, parts: [{part_number, etag}, …])— Flownix checks the size and checksum, and only then creates the file.
An unfinished upload lives for 24 hours. If the checksum doesn't match, the file isn't created.
Semantic search
rag_query(kind_filter: "artifact", query: "why the migration failed in production")It searches the name, folder, description and tags. Open what you find with artifact_get or
artifact_read_text, not get_node. Without kind_filter, files are found together with tasks
and documents.
Node references to files
Besides mentioning a file in text, an agent can explicitly add it to a node's references:
set_references(slug: "AF-TASK-42", ref_slugs: ["AF-TASK-40", "AF-ARTF-31"])The file gets a connection of kind "reference". More about connection kinds: Links and "Where used".
Built-in agent
The agent in the Flownix chat works with Artifactory on its own — the tools are loaded when the conversation involves files.
What it does:
- finds files by meaning and by name, shows their properties and "Where used";
- reads text files up to 1 MB — requirements, logs, reports, Markdown, code;
- gives a download link for images, PDFs, archives and large files;
- saves its reports and summaries as text files with a description and tells you the slug;
- renames, describes and moves files, creates folders, shows the quota;
- creates a new version of an existing file only when you ask;
- deletes only after you click "Allow", and if the file is in use, first explains which references will break.
What it can't do: read a binary file or upload a large one — it has no access to the network
or a file system. So for the agent to work with a requirements document, upload it as text
(.md, .txt), not PDF or DOCX.
Harness
The steps of a harness run exchange files through Artifactory:
- A participant saves a step's result through
artifact_uploadwithharness_run_id— the file's source will be "Harness run". - When completing the step (
work_complete), the participant passes the slugs of its files inresult_artifact_ids. The file lists the run under "Where used" with the kind "result". - The following steps receive these slugs as input automatically — in
input_artifact_ids, along the graph edges, in step order and without duplicates. Starting steps have no input files.
This way the analyst's report reaches the critic on its own, the critique reaches the judge, and every file shows which run produced it.