Skip to main content

Bring Your Own Framework

sypho doesn't require a proprietary SDK. Write your agent in whatever framework you already use — LangChain, LangGraph, CrewAI, or anything else that runs in a container — and sypho handles packaging, isolated execution, enforcement, and observability around it.

How it works​

An agent is just a Docker image plus a manifest. There are two pieces you own:

  1. Your agent code, in whatever framework and language you choose.
  2. A sypho.manifest.json, which declares the entrypoint, which tools the agent is allowed to call, and which structured-data namespaces it can access.

sypho reads the manifest at deploy time and enforces it at run time — your code never has to implement authorization, secret handling, or tracing itself.

Connecting to the platform​

Every run injects a small, framework-agnostic set of environment variables. Point your framework's model client and tool client at these instead of calling providers directly:

VariablePurpose
GATEWAY_URLBase URL for the per-run sidecar — the only network path out of the sandbox
SYPHO_MCP_URLMCP endpoint for discovering and calling tools (platform tools and any declared MCP servers)
OPENAI_BASE_URL / ANTHROPIC_BASE_URLWire-compatible model endpoints — point a stock OpenAI or Anthropic client here and it's transparently routed through the run's real, frozen model config and secrets
SYPHO_MODELThe model this run is configured to use
SYPHO_SYSTEM_PROMPTThe system prompt configured for this run
SYPHO_MAX_ITERATIONSThe iteration budget for this run
RUN_ID / STEP_ID / LEASE_IDIdentifiers for the current run, for logging or correlation

Your framework doesn't need to know it's running on sypho. A stock OpenAI or Anthropic SDK client pointed at OPENAI_BASE_URL/ANTHROPIC_BASE_URL, and an MCP-aware tool client pointed at SYPHO_MCP_URL, is enough to get full tool access, enforcement, and tracing for free.

Next steps​