Skip to main content

AI Hub Configuration

The AI Hub is the part of Global Configurator that stores the reusable building blocks an AI agent uses at runtime. When the AI Agent node runs inside a workflow, it references these objects by id — it does not carry the configuration inline.

There are four configuration entities, each with its own CRUD surface:

EntityWhat it definesReferenced by
Guardrail policyEnforced safety and resource limits for an agent runguardrails on the AI Agent node
MCP serverA registered Model Context Protocol server and its discovered toolstoolsConfig.mcpServers[]
AI skillA reusable instruction document (a SKILL.md) injected into the agentagentConfig.skillIds[]
Tool instanceA named, pre-configured catalog operation the agent may calltoolsConfig.tools[]

Each entity is a stored document with a unique name. Create it once in Global Configurator, then reference it from any number of workflows.

note

Two features that existed in earlier drafts are no longer part of the product: AI Prompt Templates and per-entity versioning. Neither is documented here because neither exists in the current AI Hub.


Guardrail Policies​

A guardrail policy is a named object that constrains what an agent run may do and how much it may consume. A run references one policy; the engine enforces it on every tool call and model response.

Fields​

FieldTypeDefaultDescription
namestring--Unique policy name
descriptionstring--Human-readable summary
tagsstring[][]Free-form labels for search
requireApprovalForDestructiveActionsbooleantrueWhen true, destructive tool calls are gated
destructiveApprovalModestringaskask pauses the run for human approval; deny blocks the call outright
blockShellExecByDefaultbooleantrueDenies shell_exec
sqlReadOnlyEnforcementbooleantrueDenies sql:* operations that write
limitHttpToInternalDomainsbooleanfalseDenies http:* calls to external domains
blockedToolsstring[][]Explicit deny list of tool ids
maxToolCallsPerRunint50Hard cap on tool calls in a single run
maxConcurrentRunsint10Maximum simultaneous runs under this policy
agentRunTimeoutSecondsint300Run wall-clock timeout
maxTokensPerResponseint4096Hard clamp on tokens per model response
inputScanbooleanfalseRun a prompt-injection scan on the input before the first iteration
blockOnInjectionbooleanfalseBlock the run when the input scan detects injection
piiDetectionbooleanfalseDetect PII (requires the Presidio service)
piiRedactionbooleanfalseRedact detected PII from the final answer
toolOutputScanbooleanfalseAudit-only injection scan on tool and MCP results

How a policy becomes permissions​

The engine turns the policy into an ordered list of permission rules and evaluates each tool call against them.

  • First match wins. Rules are evaluated in order; the first rule that matches the tool decides the outcome.
  • Strength order is deny > ask > allow. A deny rule is never softened by a later allow.
  • A trailing allow * rule lets any tool not otherwise restricted run.
  • ask means pause. A matched ask rule pauses the run for human approval (see Building AI Agents).

In plain language, the toggles map to rules like this:

ToggleEffect when enabled
requireApprovalForDestructiveActions + destructiveApprovalMode=askDestructive operations pause for approval
requireApprovalForDestructiveActions + destructiveApprovalMode=denyDestructive operations are blocked
blockShellExecByDefaultshell_exec is denied
sqlReadOnlyEnforcementWriting sql:* operations are denied; reads pass
limitHttpToInternalDomainshttp:* calls to external domains are denied
blockedToolsEach listed tool is denied

Combining multiple guardrails​

When more than one guardrail applies to a run, the engine merges them into the tightest effective policy:

  • Permission rules union, keeping the strongest outcome per tool (deny > ask > allow).
  • Numeric limits take the smallest value across policies.
  • maxTokensPerResponse is a hard clamp — the agent cannot exceed the tightest value even if a model request asks for more.

The R5 safety toggles (inputScan, blockOnInjection, piiDetection, piiRedaction, toolOutputScan) are nullable and OR-union across policies. A null value means "use the engine default," which is not the same as false — leaving a toggle unset defers to the engine rather than forcing it off.


MCP Servers​

An MCP server entry registers an external Model Context Protocol server so the agent can call the tools it exposes. See MCP Server for the concept and the discovery flow; the stored fields are summarized here.

Fields​

FieldTypeDefaultDescription
namestring--Unique server name (duplicate returns 409)
urlstring--Server endpoint
descriptionstring--What the server provides
authTypestringNONENONE, BEARER, API_KEY, BASIC, or CUSTOM
authConfigmap{}Credentials; sensitive keys are Vault-encrypted (see below)
statusstringUNKNOWNONLINE, OFFLINE, or UNKNOWN
toolCountint0Number of tools found at last discovery
discoveredToolsobject[][]Each { name, description, inputSchema }
tagsstring[][]Free-form labels
lastCheckedAttimestamp--When discovery last ran

Sensitive authConfig keys (token, apiKey, apikey, password, secret, clientSecret, privateKey) and nested header values are encrypted with Vault Transit before storage. Values already prefixed with vault: are left untouched. A normal read never returns decrypted credentials.

Tool discovery runs through POST /ai-hub/mcp-servers/{id}/discover, which delegates to connectivity-validator to perform the JSON-RPC initialize and tools/list handshake. See MCP Server for details.


AI Skills​

An AI skill is a reusable instruction document — a Markdown SKILL.md — that the agent loads as guidance. The Markdown body is the source of truth for the skill's behavior.

Fields​

FieldTypeNotes
namestringUnique; capped at 100 characters on install
descriptionstringCapped at 500 characters on install
contentstringThe full SKILL.md body (source of truth)
systemPromptstringDeprecated; existing values are migrated into content
typestringBUILTIN or CUSTOM (default CUSTOM)
tagsstring[]Up to 20, taken from the document front matter

Installing a skill​

POST /ai-hub/skills/install downloads a Markdown document and stores it as a CUSTOM skill. Install rules:

  • HTTPS only. Plain HTTP sources are rejected.
  • Markdown only. The source must be a .md file.
  • GitHub-aware. A github.com blob or repo URL is rewritten to its raw.githubusercontent.com form using the ref and path.
  • SSRF-guarded. Private, loopback, link-local, and site-local addresses are rejected.
  • Size-limited. The document must be 128 KB or smaller.
  • Front matter required. The document must include YAML front matter with name and description.

The downloaded Markdown is stored as content, and up to 20 tags are read from the front matter. POST /ai-hub/skills/{id}/duplicate clones a skill, appending " Copy" to the name.


Tool Instances​

A tool instance is a named, pre-configured catalog operation the agent may call. It binds a catalog operation id to a connection and a set of parameters, so the agent invokes a ready-to-run tool rather than assembling one.

Fields​

FieldTypeNotes
namestringUnique
toolTypestringStored lowercased on upsert
entitystringCatalog operation id the tool runs
descriptionstringWhat the tool does
configurationmapRuntime config: connectionId, resource/operation, parameters, and {{...}} expressions
tagsstring[]Free-form labels

The configuration map carries the connection reference (connectionId, whose credentials are decrypted at call time), the resource and operation to run, and any parameter values. Parameter values may contain {{...}} expressions that are resolved from workflow data before the call. See MCP Tools Reference for the full model and the honest test behavior.


Key Endpoints​

All AI Hub endpoints live under /ai-hub/* in Global Configurator and require the matching GlobalConfigurator:<Entity>:<perm> authority.

MethodPathPurpose
POST/ai-hub/guardrails/upsertCreate or update a guardrail policy
POST/ai-hub/guardrails/searchSearch guardrail policies
GET/ai-hub/guardrails/{id}Fetch a guardrail policy
DELETE/ai-hub/guardrails/deleteDelete a guardrail policy
POST/ai-hub/mcp-servers/upsertCreate or update an MCP server (Vault-encrypts credentials)
POST/ai-hub/mcp-servers/searchSearch MCP servers
GET/ai-hub/mcp-servers/{id}Fetch an MCP server
POST/ai-hub/mcp-servers/{id}/discoverDiscover the server's tools
DELETE/ai-hub/mcp-servers/deleteDelete an MCP server
POST/ai-hub/skills/installInstall a skill from an HTTPS Markdown source (201)
POST/ai-hub/skills/upsertCreate or update a skill
POST/ai-hub/skills/searchSearch skills
GET/ai-hub/skills/{id}Fetch a skill
POST/ai-hub/skills/{id}/duplicateClone a skill
DELETE/ai-hub/skills/deleteDelete a skill
POST/ai-hub/tools/upsertCreate or update a tool instance (lowercases toolType)
POST/ai-hub/tools/searchSearch tool instances
GET/ai-hub/tools/{id}Fetch a tool instance
POST/ai-hub/tools/{id}/testTest a tool instance (destructive operations are validated, never executed)
DELETE/ai-hub/tools/deleteDelete a tool instance