Studio
Visual editor, live event stream, inline debugger, eval panel.
Studio, SDKs, the workflow server, the eval system, two-way MCP. The same platform that runs every workflow Podesta delivers under a services engagement — licensed for your team to build on.
Visual editor, live event stream, inline debugger, eval panel.
TypeScript, Python, Rust. Typed inputs, typed outputs.
Workflow engine, execution persistence, audit trail, REST + SSE + WebSocket.
Case sets, judge scripts, scoring, drift detection — first-class, not bolted on.
Consume external MCP servers as typed tools. Export your workflows as MCP servers for customer agents.
import { AkribesClient } from "akribes-sdk-ts";
const client = new AkribesClient({
baseUrl: "https://podesta.example.com",
token: process.env.PODESTA_API_KEY!,
projectId: 1,
});
const run = client.executions.runStream("contract-clause-extract", {
inputs: { document: pdfBytes, locale: "en-GB" },
});
const output = await run.output;
// output is typed against the workflow's declared output schema.
console.log(output);
import asyncio, os
from akribes_sdk import AkribesClient
async def main() -> None:
async with AkribesClient(
base_url="https://podesta.example.com",
project_id=1,
token=os.environ["PODESTA_API_KEY"],
) as client:
_id, output = await client.executions.run_and_await(
"contract-clause-extract",
inputs={"document": pdf_bytes, "locale": "en-GB"},
)
# output.result is typed against the workflow's declared output schema.
print(output.result)
asyncio.run(main())
use akribes_sdk_rust::AkribesClient;
#[tokio::main]
async fn main() -> akribes_sdk_rust::Result<()> {
let client = AkribesClient::builder("https://podesta.example.com")
.project_id(1)
.token(&std::env::var("PODESTA_API_KEY")?)
.build();
let (_id, output) = client
.project(1)
.executions()
.run("contract-clause-extract")
.execute_and_await(None)
.await?;
// output.result is typed against the workflow's declared output schema.
println!("{:?}", output.result);
Ok(())
}
Prompts live with the workflow, not in your repo. Your code calls a name and gets a result.
When a model improves, the workflow re-tests against your examples. You don't ship a release for a model change.
Workflow tests run in Akribes. Your test suite stays clean — model fragility doesn't bleed into your CI.
MCP is first-class in both directions. A workflow consumes external MCP servers as typed tools (databases, third-party SaaS, anything that speaks the protocol). And a workflow can be exported as an MCP tool — your Akribes script becomes something another team's agent, or another company's, can call without touching your code.
Wire a Postgres, a search index, a SaaS API — anything with an MCP surface — and call it from a workflow with the rest of the type system enforcing the shape.
Your project gets a hostable MCP endpoint with OAuth via Studio or your own SSO. Customer agents call your workflow as a tool. You ship Applied AI as a tool surface, not just a feature.
Every workflow Podesta ships under a services engagement runs on the stack you'd license. We didn't extract Akribes from a side project — we built it for the platform that runs our customer work. The type system, the eval surface, cross-script composition, document ingestion, the audit trail: each piece exists because we needed it to ship correct AI behaviour at scale.
BDPE's first production workflow runs on it. So does the chain that handles their inbound mail. So does the internal evaluation harness — 27 cases, a deterministic judge, the same score that gates every change we ship.
Run on Podesta's shared multi-tenant infrastructure. Fastest to start.
Single-tenant Podesta-hosted environment. SOC-2 evidence, isolation guarantees.
Signed container images run in your cloud account or on-prem. Audit evidence stays with the platform.
Priced on executions, what you're building, deployment, and support. Workflows, benchmark cases, and evals are not metered — see /pricing#license for the full picture.