// blog/ai & llm/
Back to Blog
AI & LLM · Published September 13, 2026 · 8 min read · By Toine

ToolForte for People Building AI Agents: Deterministic Tools, Memory and Workflows

ToolForte for People Building AI Agents: Deterministic Tools, Memory and Workflows

There is a difference between using an assistant and building an agent. The assistant has you in the loop; the agent runs while you are asleep, and every wrong guess it makes is a wrong row somewhere by morning. The parts of ToolForte in this post exist for the second case, and the common thread is that they take decisions away from the model and give them to code.

* * *

Tools that compute

The MCP server at https://toolforte.com/api/mcp exposes 150 deterministic utilities at the time of writing: IBAN, VAT and email validation, JSON formatting and schema validation, cron parsing, regex testing, UUIDs and hashes, unit and timestamp conversion, and Dutch test data. Each is the same function the tool page and the REST API run, so an agent's answer matches what a person would get by hand.

For an agent the useful property is that these are safe to call blindly. A validator has no side effects, and its output is either the value or a refusal with a reason. Build the loop as "ask the tool, act on the answer", never "decide, then confirm with the tool", because a model that has already decided reads confirmation into anything. The JSON schema validator in particular is worth calling on every payload the agent is about to send elsewhere.

Detailed view of a computer screen displaying code with a menu of AI actions, illustrating modern software...
Detailed view of a computer screen displaying code with a menu of AI actions, illustrating modern software...
* * *

A memory that survives the session

Four tools: memory_set, memory_get, memory_list and memory_delete. A key, a value, on your account. An agent uses them to remember the last id it processed, the seed it used for a test batch, or the answer to a question you gave it once so it stops asking. Memory is free and unmetered; it is kept for 30 days on a free account and for a year on Pro, and it is deleted with the account.

It is a small memory on purpose. It is not a vector store and not a document archive. It is the note on the monitor that says "last run: 2026-09-15, batch 41", and that note is what turns a stateless prompt into something that can pick up where it left off.

Key takeaway

Four tools: `memory_set`, `memory_get`, `memory_list` and `memory_delete`.

* * *

Workflows: a proven chain as one call

Once an agent has done the same four tool calls in the same order a few times, that chain belongs in a workflow. You build it once in the builder (up to 12 steps, 10 declared inputs, 25 seconds per run), and the agent calls workflow_run with the inputs. One call instead of four, a fixed order the model cannot reshuffle, and one place to change the chain when the requirement changes. workflow_list tells the agent which workflows exist and what each one wants, so a prompt can say "use the billing check workflow" and the agent can find it.

The workflows post has the details. The short version for agent builders: put the parts you have verified into a workflow, and leave the model the parts that need judgement.

Elegant 3D visualization of neural networks showcasing abstract connections in a digital space
Elegant 3D visualization of neural networks showcasing abstract connections in a digital space
* * *

What it costs to run overnight

One credit per utility call or workflow step, 10 per AI tool call, 25 per render, 0 for memory. A free account has 1,000 credits a month; Pro has 7,500 for €19; extra credits cost 100 for €1.00, 1,000 for €5.00, 5,000 for €20.00 and never expire.

An agent that validates two hundred records a night and writes one memory entry uses about 200 credits a night, so a free month covers five nights and Pro covers the month. If you want it never to stop, turn on the automatic top-up with a ceiling. The ceiling is the setting that matters for an unattended agent: it is a hard stop, not a warning, and it is the difference between a failed run at 03:00 and an invoice you did not expect. The credits post explains the ceiling and what happens when the balance is empty (the tool result says so in words, and the agent can read it).

Key takeaway

One credit per utility call or workflow step, 10 per AI tool call, 25 per render, 0 for memory.

* * *

Two things to design for

Refusals are answers. When the balance is empty, or a render is asked to fetch a private address, the tool result is a plain refusal with a reason. Make the agent surface it rather than retry it. Every retry of an empty balance is another refusal.

Links expire. Render outputs come back as a signed link valid for 24 hours. An agent that stores the link instead of the file has nothing the next morning. Download, then store.

A robotic hand grasping black keyboard keys in a minimalist setting
A robotic hand grasping black keyboard keys in a minimalist setting

Images by Pexels