Skip to main content
The Connector Builder is the advanced path. The usual way to bring an internal system to your agents is Connect a system: one base URL, connection reference or MCP URL, discovery, a governed generic surface at once, and named tools promoted from real calls. Reach for the builder when you want to write the tools yourself, endpoint by endpoint or template by template, with parameters, output schemas and a dry run. The builder describes an internal system as data, and Danube compiles it into a private, organization-scoped service whose tools behave like any other: searchable by your agents, credential-injected at call time, covered by policies and the audit log. Two kinds of connector exist.

HTTP connector

For an internal HTTP service with no published OpenAPI document. You describe the base URL, how it authenticates, and each endpoint you want exposed as a tool.

Authentication methods

Every method keeps its secret out of the spec: the spec names the method and its non-secret settings, and the secret is entered once as the connector’s credential (personal or shared with the organization). A connector that runs on the data plane stores each secret as an env:// or vault:// reference that the agent resolves inside your network; the agent signs, mints tokens and presents certificates itself, from the same tool definition Danube uses centrally. Spec example for an S3 bucket read through an internal proxy:
And for an API behind Okta:

GraphQL endpoints

An endpoint with body_type: "graphql" compiles to one POST tool per operation. graphql_query holds the operation; its variables are the endpoint’s body-location parameters, and validation warns about a variable with no parameter or a parameter that is not a variable. Danube sends {"query": ..., "variables": {...}} as JSON and returns the response’s data as the result. A response carrying errors[], on HTTP 200 as GraphQL servers answer, is a failed call with error_type: bad_request, fault: caller and the messages in error; data is kept as the result when the server returned a partial one.

Flow

2

Infer or write the spec

If the service publishes an OpenAPI document, point the builder at the base URL and it proposes a spec. Otherwise list the endpoints to probe; the builder calls each one with your sample parameters and proposes parameters and output shapes from the responses. Nothing is stored at this step; you review and edit the proposal.
3

Validate and test

Validation checks the spec shape and reports the number of tools it will create. Test makes one real call to confirm reachability and authentication.
4

Dry run

The dry run executes each endpoint with sample parameters and reports pass, fail, or skip per check, including output-schema mismatches.
5

Create

The connector becomes a private service in your organization. Its tools are immediately callable by your agents.

Database connector

For read-only questions against Postgres, Redshift, MySQL, Snowflake, BigQuery, Databricks, ClickHouse or Trino. Each query becomes a tool; parameters are typed and bound, never interpolated. On the hosted service a database connector belongs to an organization and runs through its data-plane agent: see Connect a Warehouse for the reference forms, the read-only role per engine and the agent image drivers.
  • Danube never holds the connection string. connection_ref is a reference (env://NAME, vault://<mount>/<path>#<field>) resolved where the query runs. With the data plane that is inside your network; a connection string in that field is refused.
  • Read-only, enforced three ways. The SQL is validated as a single SELECT, the connection is opened read-only where the engine supports it (a read-only role covers the rest), and results are capped at 1,000 rows with a statement timeout.
  • Introspection lists tables and columns so the builder can propose a starting set of queries.

Endpoints