Check integration readiness

veryfront__check_integration_readiness

Requires project.integrations.read.

Access

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

Call type: Read-only.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug. The caller needs project.integrations.read on it. A run token or a service account is refused as forbidden. Minimum length: 1.
namestringYesIntegration name, for example "salesforce". Minimum length: 1. Maximum length: 128.
tool_namestringYesQualified tool name in the namespace of the integration, for example github__list-repos. Minimum length: 1. Maximum length: 256.
connection_idstringNoExact connection to evaluate. Format: uuid.
expected_connection_generation_idstringNoObserved generation of the connection. Requires connection_id. Format: uuid.

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__check_integration_readiness",
    "arguments": {
      "name": "example",
      "tool_name": "example"
    }
  }
}

Result

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

FieldTypeRequiredDescription and constraints
versionnumberYesValue: 1.
selectionobjectYesStructured selection details associated with this tool result.
connectionobjectYesStructured connection details associated with this tool result.
accountobjectYesStructured account details associated with this tool result.
credentialsobjectYesStructured credentials details associated with this tool result.
local_eligibilityobjectYesStructured local eligibility details associated with this tool result.
provider_verificationobjectYesStructured provider verification details associated with this tool result.

Full schemas

json
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Project ID or slug. The caller needs project.integrations.read on it. A run token or a service account is refused as forbidden."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Integration name, for example \"salesforce\"."
    },
    "tool_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Qualified tool name in the namespace of the integration, for example github__list-repos."
    },
    "connection_id": {
      "type": "string",
      "format": "uuid",
      "description": "Exact connection to evaluate."
    },
    "expected_connection_generation_id": {
      "type": "string",
      "format": "uuid",
      "description": "Observed generation of the connection. Requires connection_id."
    }
  },
  "required": [
    "name",
    "tool_name"
  ],
  "additionalProperties": false,
  "description": "Arguments for the check_integration_readiness tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
json
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number",
      "const": 1
    },
    "selection": {
      "type": "object",
      "properties": {
        "integration": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "enum": [
            "selected",
            "missing",
            "ambiguous",
            "unavailable",
            "stale",
            "unknown"
          ]
        },
        "mode": {
          "type": "string",
          "enum": [
            "oauth_connection",
            "project_credentials",
            "service_identity",
            "mock",
            "unknown"
          ]
        },
        "scope": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "user",
                "project"
              ]
            },
            {
              "type": "null",
              "description": "The scope returned by the tool."
            }
          ],
          "description": "Selected connection owner scope. Project connections are shared; user connections belong to the interactive caller."
        },
        "project_id": {
          "type": "string",
          "format": "uuid",
          "description": "Project identifier associated with this result."
        },
        "tool_name": {
          "type": "string"
        },
        "requested_connection_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null",
              "description": "The requested connection id returned by the tool."
            }
          ]
        },
        "connection_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null",
              "description": "The connection id returned by the tool."
            }
          ]
        },
        "connection_generation_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null",
              "description": "The connection generation id returned by the tool."
            }
          ]
        }
      },
      "required": [
        "integration",
        "state",
        "mode",
        "scope",
        "project_id",
        "tool_name",
        "requested_connection_id",
        "connection_id",
        "connection_generation_id"
      ],
      "additionalProperties": false,
      "description": "Structured selection details associated with this tool result."
    },
    "connection": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "connected",
            "expired",
            "disconnected",
            "revoked",
            "missing",
            "unknown",
            "not_applicable"
          ]
        }
      },
      "required": [
        "state"
      ],
      "additionalProperties": false,
      "description": "Structured connection details associated with this tool result."
    },
    "account": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "recorded",
            "unknown"
          ]
        },
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique identifier for the returned record."
        },
        "evidence": {
          "type": "string",
          "enum": [
            "stored_metadata",
            "none"
          ]
        },
        "display_name": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "state",
        "id",
        "evidence",
        "display_name"
      ],
      "additionalProperties": false,
      "description": "Structured account details associated with this tool result."
    },
    "credentials": {
      "type": "object",
      "properties": {
        "evidence": {
          "type": "string",
          "enum": [
            "connection_metadata",
            "complete_key_presence",
            "partial_key_presence",
            "absent",
            "not_applicable"
          ]
        },
        "missing_keys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of missing keys associated with this tool result."
        }
      },
      "required": [
        "evidence",
        "missing_keys"
      ],
      "additionalProperties": false,
      "description": "Structured credentials details associated with this tool result."
    },
    "local_eligibility": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "eligible",
            "blocked",
            "unknown"
          ]
        },
        "basis": {
          "type": "string",
          "const": "metadata_only",
          "description": "Local eligibility is inferred from stored metadata only; it does not verify provider access."
        },
        "blockers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "tool_unavailable",
              "tool_permission_denied",
              "connection_required",
              "connection_selection_required",
              "connection_unavailable",
              "connection_stale",
              "reconnect_required",
              "credentials_missing",
              "technical_configuration_blocked",
              "selector_incompatible_with_mode"
            ]
          },
          "description": "List of blockers associated with this tool result."
        },
        "required_capability": {
          "type": "string",
          "enum": [
            "project.integrations.read",
            "project.integrations.connect"
          ]
        },
        "pending_checks": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "argument_validation",
              "credential_value_validation",
              "provider_authorization",
              "credential_mode_resolution",
              "mock_tool_availability",
              "provider_resource_validation"
            ]
          },
          "description": "List of pending checks associated with this tool result."
        }
      },
      "required": [
        "state",
        "basis",
        "blockers",
        "required_capability",
        "pending_checks"
      ],
      "additionalProperties": false,
      "description": "Structured local eligibility details associated with this tool result."
    },
    "provider_verification": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "const": "not_checked",
          "description": "Provider access has not been verified by this metadata inspection."
        }
      },
      "required": [
        "state"
      ],
      "additionalProperties": false,
      "description": "Structured provider verification details associated with this tool result."
    }
  },
  "required": [
    "version",
    "selection",
    "connection",
    "account",
    "credentials",
    "local_eligibility",
    "provider_verification"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the check_integration_readiness tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}