Skip to main content
This flow lets you build an MCP onboarding experience on top of the Platform API: create a connection in draft, hand a secure link to a client or third party so they can authenticate with their own credentials (without a Nekt account), receive a webhook when they finish, then activate the connection. It mirrors the in-app MCPs flow end to end over the API, and it is the same shape as Configure a source with a setup link — a different resource, and a different link prefix (/lcl/ instead of /scl/).
The case this exists for: one connection per end client, each with their own credentials. Create as many connections of the same connector as you have clients — each has its own slug, its own credentials, and its own permissions.

Overview

Prerequisites

  • An API key for authentication.
  • MCPs are available on all paid plans.

Step 1: Pick a connector

List the connectors available to your workspace. Expand the current version to get the JSON Schema that a connection for it is configured against — that is what tells you which fields the third party will be asked for.

Step 2: Create a draft connection with a callback webhook

The connection is created as a draft, pinned to the connector’s current version. Optionally attach a callback_webhook: Nekt POSTs to it once the third party submits the setup form. Use the optional custom header to authenticate the call on your side.

callback_webhook object

callback_webhook is write-only. Responses never echo it back; they expose a read-only boolean has_callback_webhook so you can confirm one is configured. To remove a configured webhook, send "callback_webhook": null on an update.
For security, the URL must use https and resolve to a public host. URLs pointing at localhost, loopback, private (RFC 1918), or link-local addresses are rejected.

Step 3: Create a setup token

Generate a time-limited token scoped to this connection, then build the link as https://app.nekt.ai/lcl/{token} and share it with the third party.
The full token is returned only on creation. When listing tokens it is redacted. To revoke a link, delete the token: DELETE /api/v1/live-connections/{slug}/setup-tokens/{id}/.

Step 4: The third party authenticates

The recipient opens https://app.nekt.ai/lcl/{token} and enters the credentials (or authenticates via OAuth for connectors that support it). No Nekt account is required, and the link is scoped strictly to this connection. When they submit, Nekt POSTs to your callback_webhook (if configured):
Read config_completed, not draft. The connection stays draft until you activate it in the next step, so draft never answers “did my client finish?”. A partially filled form produces config_completed: false with the remaining fields named — send another link to collect them.

Step 5: Activate the connection

Activating clears draft and puts the connection in service: its tools become available to your agents through the Gateway.
Setup links stop working once the connection is active. Any unused link for it is invalidated at that moment, and a link can be used again only if the connection later goes into an error state and needs re-authentication.
By default a setup link exposes the connector’s whole configuration template. connector_config_fields narrows it: the setup page renders only the named fields, and anything else the recipient sends back is ignored rather than written — a hidden field keeps its stored value.
A typical use: your systems already know the account id and region, so you send them as config when you create the connection and restrict the link to the one secret only your client has.
Naming a field the connector’s template does not declare is rejected with 400 when the link is created, listing every unknown path at once — rather than producing a link whose page is silently empty.

Choosing which tools the connection exposes

A connection is created exposing every tool of the connector. Send available_tools at creation, or replace the set later — the payload is the full desired set, so anything missing from the list stops being exposed.
GET the same endpoint to list the connector’s tools with an is_write flag on each, so you can enable write-capable tools deliberately.
The exact endpoints and request/response shapes are available in the OpenAPI schema at api.nekt.ai/api/schema/.