Skip to content
AINOX App
Esc
↑↓navigate↵open⌘Jpreview
On this page

Tool reference

Every tool the AINOX App MCP server exposes, with its inputs, its result, and the errors it returns.

Every tool acts on the threads owned by the API key’s account. A threadId that doesn’t exist, or belongs to someone else, fails with Thread <id> not found. Results come back as structuredContent; a failed call sets isError, and content[0].text holds a JSON string with the error in its message field.

list_threads

Lists your 50 most recently updated threads, newest first. Takes no input.

threadsobject[]required
properties
idstringrequired
Thread ID.
titlestringrequired
Thread title.
updatedAtstringrequired
ISO 8601 time of the last update.
deploymentIdstring
Present once the thread’s app has been published.

get_thread

Gets one thread’s state: whether the agent is working, what it’s waiting on, and the deployment.

threadIdbodystringrequired

Thread ID (a UUID) from list_threads or create_thread.

idstringrequired
Thread ID.
titlestringrequired
Thread title.
updatedAtstringrequired
ISO 8601 time of the last update.
urlstring

Link to the thread in the web app. Missing when the server has no public URL configured.

status"idle" | "running" | "waiting"required

running while the agent replies, waiting while it is paused on a tool call, idle when it is ready for send_message.

pendingToolCallsobject[]required

Tool calls waiting on you. Empty unless status is waiting.

properties
runIdstringrequired
Send back to resolve_tool_call.
toolCallIdstringrequired
Send back to resolve_tool_call.
toolNamestringrequired
The tool the agent called, such as ask_user.
kind"answers" | "approval"required
Whether to answer questions or approve the call.
inputunknownrequired
The questions, for answers, or the command and arguments to judge, for approval.
deploymentobject

Present once the thread has been published.

properties
idstringrequired
Deployment ID.
urlstringrequired
The app’s public URL.
statusstringrequired

cloning, uploading, waiting, active, completed, failed, or unreachable. See Deployment status.

create_thread

Starts a new thread. The agent begins building in its own sandbox and the call returns immediately.

promptbodystringrequired

What to build, in plain language.

threadIdstringrequired
The new thread’s ID.
runIdstringrequired
ID of the agent’s run.
urlstring
Link to the thread in the web app.

send_message

Sends a follow-up prompt to an idle thread and returns immediately.

threadIdbodystringrequired
Thread ID.
promptbodystringrequired
What to build or change.
runIdstringrequired
ID of the agent’s run.

Fails with The agent is still replying while the thread is running, and with The agent is waiting on a tool call while it is waiting.

list_messages

Reads a thread’s conversation, oldest first. Tool inputs and outputs are left out; read the code with list_files and read_file.

threadIdbodystringrequired
Thread ID.
messagesobject[]required
properties
idstringrequired
Message ID.
role"system" | "user" | "assistant"required
Who wrote it.
textstringrequired
The message’s text.
toolCallsobject[]required

The tools the agent called in this message, each with toolName and its state, such as output-available.

resolve_tool_call

Answers a tool call listed in pendingToolCalls and resumes the run.

threadIdbodystringrequired
Thread ID.
runIdbodystringrequired
From the pending tool call.
toolCallIdbodystringrequired
From the pending tool call.
actionbody"approve" | "decline" | "answer"required

answer for kind: "answers"; approve or decline for kind: "approval".

answersbodyobject

Required with answer. Keyed by question ID: an option label for single_select, an array of labels for multi_select, text for text, or null to skip a question that isn’t required.

reasonbodystring

With decline, why you declined. The agent reads it.

runIdstringrequired
ID of the resumed run.

Fails with No pending tool call with that runId and toolCallId when the call was already answered or the IDs are wrong; call get_thread for the current ones.

stop_run

Stops the agent’s reply. A tool call it is waiting on stays pending.

threadIdbodystringrequired
Thread ID.
stoppedbooleanrequired
false when nothing was running.

list_files

Lists one directory of the thread’s project. Wakes the thread’s sandbox if it has stopped, so the first call after a while can be slow.

threadIdbodystringrequired
Thread ID.
pathbodystring
Default: .

Directory, relative to the project root.

entriesobject[]required

Each entry has a name and a type of file or directory.

read_file

Reads one text file of the thread’s project. Wakes the sandbox if it has stopped.

threadIdbodystringrequired
Thread ID.
pathbodystringrequired
File path, relative to the project root.
contentstringrequired
The file’s contents, as UTF-8 text.

publish

Publishes the thread’s app to its public URL. The build runs after the call returns; poll get_thread for deployment.status. Later publishes update the same deployment.

threadIdbodystringrequired
Thread ID.
namebodystring

Required on the first publish and ignored after. Up to 100 characters. It becomes the thread’s title and, as a lowercase slug of letters, digits, and hyphens, the URL’s subdomain: My App publishes to https://my-app.app-builder.poring.arkcube.com, or https://my-app-2.app-builder.poring.arkcube.com when that is taken.

deploymentIdstringrequired
Deployment ID.
urlstringrequired
The app’s public URL.

Fails with Name the app before publishing it when the first publish has no name, and with Nothing to publish yet when the thread has no files. Don’t call it again while a build is in progress.

Was this page helpful?