> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Check feature gate

> Check whether a plan allows a feature before offering it, for the caller or for the owner of a project; returns allowed with the required tier, limit and current count, and a denied gate is a result, not an error.

`veryfront__check_feature_gate`

## Access

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

**Call type:** Read-only.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `gate` | `string` | Yes | Provide the gate. Values: `"custom_domains"`, `"dedicated_runtime"`, `"dedicated_gateway"`, `"sso"`, `"dedicated_control_plane"`, `"dedicated_database"`; see schema for the complete list. |
| `current_count` | `integer` | No | Current resource count for count-based gates. Minimum: `0`. |
| `project_reference` | `string` | No | Optional project ID or slug. When supplied for a gate other than projects, checks the project owner and requires project.read. The projects gate always checks the caller. Minimum length: `1`. |

## 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](https://veryfront.com/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__check_feature_gate",
    "arguments": {
      "gate": "custom_domains"
    }
  }
}
```

## Result

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

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `gate` | `string` | Yes | The gate that was checked Values: `"custom_domains"`, `"dedicated_runtime"`, `"dedicated_gateway"`, `"sso"`, `"dedicated_control_plane"`, `"dedicated_database"`; see schema for the complete list. |
| `allowed` | `boolean` | Yes | Whether the plan allows the gate |
| `required_tier` | `string or null` | Yes | Tier required when access is denied. Null when allowed. |
| `limit` | `number or null` | Yes | Numeric limit of a count-based gate. Null for other gates. |
| `current_count` | `number or null` | Yes | The `current_count` the check was given, for a gate checked against a limit. Null otherwise. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "gate": {
      "type": "string",
      "enum": [
        "custom_domains",
        "dedicated_runtime",
        "dedicated_gateway",
        "sso",
        "dedicated_control_plane",
        "dedicated_database",
        "byoc",
        "collaborators",
        "projects",
        "sla"
      ],
      "description": "Provide the gate."
    },
    "current_count": {
      "type": "integer",
      "minimum": 0,
      "description": "Current resource count for count-based gates."
    },
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Optional project ID or slug. When supplied for a gate other than projects, checks the project owner and requires project.read. The projects gate always checks the caller."
    }
  },
  "required": [
    "gate"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the check_feature_gate tool."
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "gate": {
      "type": "string",
      "enum": [
        "custom_domains",
        "dedicated_runtime",
        "dedicated_gateway",
        "sso",
        "dedicated_control_plane",
        "dedicated_database",
        "byoc",
        "collaborators",
        "projects",
        "sla"
      ],
      "description": "The gate that was checked"
    },
    "allowed": {
      "type": "boolean",
      "description": "Whether the plan allows the gate"
    },
    "required_tier": {
      "type": [
        "string",
        "null"
      ],
      "description": "Tier required when access is denied. Null when allowed."
    },
    "limit": {
      "type": [
        "number",
        "null"
      ],
      "description": "Numeric limit of a count-based gate. Null for other gates."
    },
    "current_count": {
      "type": [
        "number",
        "null"
      ],
      "description": "The current_count the check was given, for a gate checked against a limit. Null otherwise."
    }
  },
  "required": [
    "gate",
    "allowed",
    "required_tier",
    "limit",
    "current_count"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the check_feature_gate tool."
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__check_feature_gate` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run tool

  Output JSON

  <pre />
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.