Create connect session

veryfront__create_connect_session

Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

Call type: Can change resources.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug. A missing or inaccessible project, including a denied scope-dependent project access check, returns not_found. Minimum length: 1.
namestringYesIntegration name, for example github or slack. Minimum length: 1.
scopestringYesConnection owner. Project scope needs the editor role; user scope connects your own account and needs viewer access to the project. API keys also need the integrations write scope. Verified user-session or API-key credentials are required; MCP OAuth grants and runtime credentials are refused. Values: "user", "project".
redirect_uristringYesTrusted web or native URI the browser returns to after consent. Maximum length: 4096.

Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See MCP client setup.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__create_connect_session",
    "arguments": {
      "name": "github",
      "scope": "user",
      "redirect_uri": "veryfront://auth/integrations"
    }
  }
}

Result

The published output shape is summarized below. Inspect both the MCP response content and isError when handling a call.

FieldTypeRequiredDescription and constraints
session_tokenstringYesOne-time connect session token, embedded in connect_url.
connect_urlstringYesURL to open in a browser. It starts provider consent through GET /oauth/connect/{integration}.
expires_atstringYesUTC time (RFC 3339) after which connect_url no longer starts consent. Format: date-time.

Full schemas

json
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Project ID or slug. A missing or inaccessible project, including a denied scope-dependent project access check, returns not_found."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Integration name, for example github or slack."
    },
    "scope": {
      "type": "string",
      "enum": [
        "user",
        "project"
      ],
      "description": "Connection owner. Project scope needs the editor role; user scope connects your own account and needs viewer access to the project. API keys also need the integrations write scope. Verified user-session or API-key credentials are required; MCP OAuth grants and runtime credentials are refused."
    },
    "redirect_uri": {
      "type": "string",
      "maxLength": 4096,
      "description": "Trusted web or native URI the browser returns to after consent."
    }
  },
  "required": [
    "name",
    "scope",
    "redirect_uri"
  ],
  "additionalProperties": false,
  "description": "Arguments for the create_connect_session tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
json
{
  "type": "object",
  "properties": {
    "session_token": {
      "type": "string",
      "description": "One-time connect session token, embedded in connect_url."
    },
    "connect_url": {
      "type": "string",
      "description": "URL to open in a browser. It starts provider consent through GET /oauth/connect/{integration}."
    },
    "expires_at": {
      "type": "string",
      "format": "date-time",
      "description": "UTC time (RFC 3339) after which connect_url no longer starts consent."
    }
  },
  "required": [
    "session_token",
    "connect_url",
    "expires_at"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the create_connect_session tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}