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:
- Your agent code, in whatever framework and language you choose.
- 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:
| Variable | Purpose |
|---|---|
GATEWAY_URL | Base URL for the per-run sidecar — the only network path out of the sandbox |
SYPHO_MCP_URL | MCP endpoint for discovering and calling tools (platform tools and any declared MCP servers) |
OPENAI_BASE_URL / ANTHROPIC_BASE_URL | Wire-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_MODEL | The model this run is configured to use |
SYPHO_SYSTEM_PROMPT | The system prompt configured for this run |
SYPHO_MAX_ITERATIONS | The iteration budget for this run |
RUN_ID / STEP_ID / LEASE_ID | Identifiers 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
- Manifest reference — the full
sypho.manifest.jsonschema - LangChain / LangGraph example — a real, working agent with zero sypho-specific code beyond the environment variables above