It is code you own
Your agent is real TypeScript in a private repo you own, shown back as an editable graph. The manager is code, not an LLM.
one command to start
Run agent.studio locally and open its browser workspace to shape and inspect agents beside your code.
npx @sapiom/agent-studio@latest
Starts locally and opens the agent.studio workspace in your browser.
why developers pick sapiom
Your agent is real TypeScript in a private repo you own, shown back as an editable graph. The manager is code, not an LLM.
Search, scraping, browser automation, compute, data, storage, messaging, images and audio through one Sapiom key, without separate vendor keys.
Input, output, directive, error, retry state, timing, and cost stay attached to each recorded step attempt.
Both speak MCP and answer to the same account. What differs is where each one runs.
Scaffolds, validates the graph offline, runs it on stubs, and deploys when it is green.
$ claude mcp add sapiom -- npx -y @sapiom/mcp
Every capability as a direct tool over HTTP, and the only way in for a hosted client.
$ claude mcp add sapiom --transport http https://api.sapiom.ai/v1/mcp
agent.studio · authoring contract
An agent is defineAgent({ name, entry, steps }). Each step calls capabilities on ctx.sapiom and returns the step that runs next.
agent runtime · durable execution
The gate step approve? parks until digest.approved arrives, then resumes on the same state, in the same trace. Both arms end in a recorded state.
capabilities · one entry point
Discover and call Sapiom capabilities from remote MCP or a typed agent step, with usage attributed to the agent and trace.
Search the web and return answers with sources or raw results.
Scrape, crawl, map, or extract structured content from the web.
Research across sources and return a structured, cited result.
Extract structured fields from a page.
Follow a site and return its relevant pages.
Execute code through the Sapiom compute surface.
Start an isolated environment for agent work.
No capabilities match.
Start in your coding agent, terminal, or agent.studio. Sapiom handles the setup.
Clone an agent and run it locally.
Check, link, and deploy the TypeScript you have.
Describe the job and scaffold a typed agent.
/plugin marketplace add sapiom/sapiom-js /plugin install sapiom Registered the sapiom-dev MCP server. Added the sapiom-agent-authoring skill. Run sapiom_authenticate once to sign in.
{
"mcpServers": {
"sapiom": {
"command": "npx",
"args": ["-y", "@sapiom/mcp"]
}
}
}
codex mcp add sapiom -- npx -y @sapiom/mcp Added MCP server "sapiom". Restart Codex to load its tools.
claude mcp add sapiom \ --transport http \ https://api.sapiom.ai/v1/mcp The hosted capability server. Use it when the client cannot run npx, including ChatGPT.
docs and community
Quickstart, capabilities, Runtime, schedules, and signals, kept current with what ships.
Open the docsEvery argument of defineAgent and defineStep, every directive, and the full ctx.sapiom surface.
Read the referenceThe packages, the MCP server, and the template gallery. Read the source, file an issue, send a patch.
Star on GitHubClaude Code takes the plugin pair, /plugin marketplace add sapiom/sapiom-js then /plugin install sapiom, or the direct claude mcp add sapiom -- npx -y @sapiom/mcp. Codex takes codex mcp add sapiom -- npx -y @sapiom/mcp. Cursor and Claude Desktop take the JSON block with "command": "npx" and "args": ["-y", "@sapiom/mcp"]. Hosted clients take claude mcp add sapiom --transport http https://api.sapiom.ai/v1/mcp.
/plugin marketplace add sapiom/sapiom-jsclaude mcp add sapiom -- npx -y @sapiom/mcpNo. Scaffolding, offline graph validation, and local runs with stubbed Sapiom capability calls work signed out and cost nothing. Authenticate once in the browser when you want to deploy or run against real capabilities.
sapiom_dev_agents_run_localAuthor with the local one. @sapiom/mcp registers as sapiom-dev, speaks stdio, and drives the whole build loop from a checkout. Reach for the hosted server at https://api.sapiom.ai/v1/mcp for a single capability call with no agent around it, or when the client cannot run npx.
claude mcp add sapiom --transport http https://api.sapiom.ai/v1/mcpOne defineAgent({ name, entry, steps }) and a defineStep({ name, next, run }) per step, both from @sapiom/agent. A step calls capabilities on ctx.sapiom, keeps anything the next step needs on ctx.shared, and returns a directive that names where the run goes next.
npm install @sapiom/agentA gate step can pause until a named signal arrives. The runtime keeps the execution state, then resumes on the branch selected by that signal.
npx @sapiom/cli agents signal execution-id --name approved --correlation-id review-idYes. Your agent lives in a private git repository Sapiom provisions and you own. It is ordinary TypeScript built on @sapiom/agent, so you can read it, review it in a pull request, and leave with it.
npx @sapiom/cli agents init my-agentBuild and validate locally for free. Production capability calls are metered by their published units.