agntz
RuntimeHostedSelf-hostDocsChangelog
Sign inQuickstart
Documentation
View .mdOptimized for LLMs — paste directly into ChatGPT, Claude, or Cursor.

Compatibility matrix

What runs where, today. Embedded means in-process SDK execution: @agntz/sdk for TypeScript and agntz for Python. Hosted means agntz.co and self-hosted workers.

FeatureTS embeddedPython embeddedHosted worker
LLM agents
Sequential / parallel / tool kinds
Local tools✓ (JS/TS)✓ (Python)(use MCP / HTTP instead)
HTTP tools
HTTP tools — OAuth2 / token exchangepartial
MCP tools (raw URL + headers)✓ (HTTP JSON-RPC)
Agent-as-tool
Runtime context namespace grants
resources: manifest declarations✓ if provider wired
Generic resource provider runtimeself-host configurable
memrez memory resource providerself-host configurable
memrez SQLite / Postgres memory storesdeployment-owned
memrez built-in LLM reasoner default
memrez preload context policy
Spawnable subagentsnot yet
Skills (use_skill tool)not yet
Reply tool (intermediate messages)persisted messages only
Sessions✓ (memory or sqlite)✓ (memory or sqlite)✓ (managed)
Runs & traces✓ (ring buffer / sqlite)✓ (memory or sqlite)✓ (Postgres)
Local streaming for LLM agents✓ (full event stream)start / complete snapshotsN/A
Hosted SSE streaming
OpenTelemetry exportnot yet
{{env.X}} template refsnot yetopt-in per server
{{secrets.X}} template refs××
Versioning + pinning××
Multi-user isolation××
API key auth××
Web UI (editor, playground, traces)××
Evals UI××roadmap

Migration paths

Embedded → hosted

Most of the way is a constructor change (see Embedded SDK → Switching to hosted). The main fixes are:

  • Local tools — promote to HTTP endpoints or MCP servers. The YAML tools: block is the only place the change is visible.
  • {{env.X}}{{secrets.X}} — multi-tenant workers do not share an environment with your code. Use {{secrets.X}} and configure values in Settings → Secrets.
  • Resources — make sure the hosted worker has the same provider kinds wired server-side. Runtime context grants still come from trusted application code.

TypeScript embedded → Python embedded

Keep the same YAML manifest. Translate only the host language code:

await client.agents.run({
  agentId: "support",
  input: { message: "Hello" },
  sessionId: "user-42",
});

The Python SDK follows Python naming conventions, so wire names become agent_id and session_id while YAML fields remain unchanged.

Resource and memory APIs use the same pattern: TypeScript passes resources: { memory: memrez.provider() }; Python passes resources={"memory": memrez.provider()}. Both embedded runtimes support memrez's built-in LLM reasoner default plus agent-side preload config.

Hosted → self-hosted

The hosted clients work against any worker — api.agntz.co or your own. Switch by setting baseUrl / base_url and using an API key minted on your self-hosted UI.

Resources

  • GitHub: github.com/aparry3/agntz — source, issues, discussions.
  • npm: @agntz/sdk, @agntz/client, @agntz/store-sqlite, @agntz/store-postgres, @agntz/manifest.
  • Python: agntz package with optional agntz[litellm] local model support.
  • License: MIT.
  • AI-friendly: Every page exposes its raw markdown via the Copy button; the full corpus is at /llms.txt.
← Previous
Models & providers