Connect a data source
Register a connector (GitHub, Postgres, and more) so it materialises read-only into your project workspace for agents to read.
Updated 7/26/2026
A connector mounts an external source read-only into your project's
/workspace/connectors/<mount_prefix>/. You register it once, refresh it
to pull content, and from then on any agent on the project reads the
files with sh. The connection lives in the core — scoped to the project
and audited like everything else — not scattered across scripts. For the
concepts behind it (project scoping, how auth is handled), see
About connectors.
Register and materialise
connector.add registers the instance; it does not fetch. connector.refresh
materialises it into the workspace. For a GitHub repo:
connector.add {
"account_slug": "acme",
"project_slug": "demo",
"connector_name": "github",
"mount_prefix": "app-repo",
"config": { "owner": "acme", "repo": "app", "ref": "main" },
"credentials_ref": "acme-app-gh" // resolves to a stored credential
}
connector.refresh {
"account_slug": "acme",
"project_slug": "demo",
"mount_prefix": "app-repo"
}
The agent can now read the tree immediately:
sh "ls /workspace/connectors/app-repo/"
sh "cat /workspace/connectors/app-repo/README.md"
A Postgres source uses the same shape with connector_name: "postgres";
it dumps schema and tables as CSV into the workspace so the agent reads
them without a live database connection.
What you get
- One place for the connection. Register once; every agent on the project reads the same materialised view.
- Read-only by default. Connectors pull in; the source is never mutated.
- Governed. Access is scoped to the project and audited. Check what's
mounted anytime with
connector.list.
Where to go next
- Create an agent that acts on the source you just connected.
- The public MCP server to run the
connector.*tools from an external MCP client.
Ask Zero
Ask a question about connect0 and get an answer grounded in the docs, with links to the sources. Signed in? Zero answers with your account in mind.