Custom connectors

Create custom connector

Authors a new org-owned connector, either from a catalog config or — bring your own — from a remote streamable-HTTP MCP server (remote_mcp). Send exactly one of the two. Requires connector:create and the custom_connectors plan feature. The config is schema-validated: a malformed one answers 422 with the exact issues. The slug is permanent and must be unique within the catalog. A remote MCP connector is private to its creator until shared (the ordinary connector grants), and its tools are discovered per connection, not at creation. remote_mcp.url must be https, must not name Elaichi itself, and is immutable afterwards. auth_mode says how members sign in: oauth_auto (Elaichi registers itself with the server's authorization server — Client ID Metadata Document first, else dynamic registration; 400 when neither exists), oauth_client (your own client_id and optional client_secret), custom (an auth_config declaring a token form, no OAuth) or none. Absent, it is inferred: client_id means oauth_client, auth_config means custom, and otherwise the server is probed (OAuth metadata means oauth_auto, even when it also answers anonymously; a server with no sign-in at all answers 400 sign_in_not_offered unless you send auth_mode: "none"; anything else answers 400 remote_mcp_auth_required). A field that does not belong to the mode is a 400. The OAuth client is stored as the organization's own app for the connector, never in the connector entry. An organization may hold 25 remote MCP connectors (409 remote_mcp_server_limit). The 201 is the connector detail, with kind: "remote_mcp", remote_mcp (url, auth_mode, oauth_registration) and auth (what sign-in the connector declares, names only — never a secret).

post/connector

Request

  • Base URL: https://api.elaichi.ai
  • URL: https://api.elaichi.ai/connector
  • Auth: HTTP bearer

Headers

X-Organization-Idstring

Target organization (org_…). Required for cookie/session auth on org-scoped routes; optional for API tokens, which carry their organization, and rejected when it names a different one.

Request body

logostring

remote_mcp only. An https URL.

descriptionstring

remote_mcp only.

slugstring required

Lowercase letters, digits and hyphens. new is reserved.

labelstring required
categorystring nullable
configobject

Connector definition (resources, methods, auth). Mutually exclusive with remote_mcp; config.remote_mcp is reserved.

Response

Created

object required

Changes

No recorded changes to this operation across all 1 revision of this API.