Skip to content

Configuration schema

Use this page to scan the public Caplets configuration shape. The linked JSON Schema remains the canonical editor integration target.

Canonical schema: https://caplets.dev/config.schema.json

Status values are Required or Optional according to the schema’s top-level required array.

Minimal user config:

{
"$schema": "https://caplets.dev/config.schema.json",
"mcpServers": {}
}

Keep options.exposure at the default code_mode unless your client cannot run Code Mode. Add backend maps such as mcpServers, openapiEndpoints, graphqlEndpoints, httpApis, cliTools, or capletSets only for the capability sources you actually want agents to see.

Stdio MCP server:

{
"$schema": "https://caplets.dev/config.schema.json",
"mcpServers": {
"github": {
"name": "GitHub",
"description": "Inspect repositories, issues, pull requests, and workflow runs.",
"command": "github-mcp-server",
"args": ["stdio"]
}
}
}

Public OpenAPI endpoint:

{
"$schema": "https://caplets.dev/config.schema.json",
"openapiEndpoints": {
"status-api": {
"name": "Status API",
"description": "Read public service health from the status API.",
"specUrl": "https://api.example.com/openapi.json",
"baseUrl": "https://api.example.com",
"auth": { "type": "none" }
}
}
}
FieldStatusTypeDescription
$schemaOptionalstringOptional JSON Schema URL for editor validation.
versionOptionalnumberCaplets config schema version.
defaultSearchLimitOptionalintegerDefault maximum number of same-server search results.
maxSearchLimitOptionalintegerMaximum accepted search_tools limit.
completionOptionalobjectShell completion discovery timeout and cache settings.
optionsOptionalobjectGlobal Caplets runtime options.
mcpServersOptionalobjectDownstream MCP servers keyed by stable server ID.
openapiEndpointsOptionalobjectOpenAPI endpoints keyed by stable Caplet ID.
googleDiscoveryApisOptionalobjectGoogle Discovery APIs keyed by stable Caplet ID.
graphqlEndpointsOptionalobjectGraphQL endpoints keyed by stable Caplet ID.
httpApisOptionalobjectHTTP APIs keyed by stable Caplet ID.
cliToolsOptionalobjectCLI tools keyed by stable Caplet ID.
capletSetsOptionalobjectNested Caplet collections keyed by stable Caplet ID.

Shell completion discovery timeout and cache settings.

FieldStatusTypeDescription
discoveryTimeoutMsOptionalintegerTimeout in milliseconds for downstream discovery checks.
overallTimeoutMsOptionalintegerOverall timeout in milliseconds for completion discovery.
cacheTtlMsOptionalintegerMilliseconds successful discovery results stay fresh.
negativeCacheTtlMsOptionalintegerMilliseconds failed discovery results stay cached.

Global Caplets runtime options.

FieldStatusTypeDescription
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
exposureDiscoveryTimeoutMsOptionalintegerTimeout in milliseconds for exposure discovery.
exposureDiscoveryConcurrencyOptionalintegerMaximum number of Caplets inspected concurrently during exposure discovery.

Downstream MCP servers keyed by stable server ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable server display name.
descriptionRequiredstringCapability description shown to agents before downstream tools are disclosed.
transportOptional”stdio” | “http” | “sse”Downstream MCP transport. Defaults to stdio when command is present.
commandOptionalstringExecutable command for stdio servers.
argsOptionalarrayArguments passed to the stdio command.
envOptionalobjectEnvironment variables for stdio servers. Supports ${VAR} and $env:VAR.
cwdOptionalstringWorking directory for stdio servers.
urlOptionalstringRemote MCP server URL for http or sse transport.
authOptionalobjectAuthentication settings for a remote MCP server.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
startupTimeoutMsOptionalintegerTimeout in milliseconds for starting or checking a downstream server.
callTimeoutMsOptionalintegerTimeout in milliseconds for downstream tool calls.
toolCacheTtlMsOptionalintegerMilliseconds downstream tool metadata stays fresh. Set 0 to refresh every time.
disabledOptionalbooleanWhen true, omit this server from Caplets discovery and do not start it.

OpenAPI endpoints keyed by stable Caplet ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable OpenAPI display name.
descriptionRequiredstringCapability description shown to agents before OpenAPI operations are disclosed.
specPathOptionalstringLocal OpenAPI specification path.
specUrlOptionalstringRemote OpenAPI specification URL.
baseUrlOptionalstringOverride base URL for OpenAPI requests.
authRequiredobjectExplicit OpenAPI request auth config. Use {“type”:“none”} for public APIs.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
requestTimeoutMsOptionalintegerTimeout in milliseconds for OpenAPI HTTP requests.
operationCacheTtlMsOptionalintegerMilliseconds OpenAPI operation metadata stays fresh. Set 0 to refresh every time.
disabledOptionalbooleanWhen true, omit this OpenAPI Caplet from discovery.

GraphQL endpoints keyed by stable Caplet ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable GraphQL display name.
descriptionRequiredstringCapability description shown to agents before GraphQL operations are disclosed.
endpointUrlRequiredstringGraphQL HTTP endpoint URL.
schemaPathOptionalstringLocal GraphQL SDL or introspection path.
schemaUrlOptionalstringRemote GraphQL SDL or introspection URL.
introspectionOptionalbooleanLoad schema through endpoint introspection.
operationsOptionalobjectConfigured GraphQL operations keyed by stable tool name.
authRequiredobjectExplicit GraphQL request auth config. Use {“type”:“none”} for public APIs.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
requestTimeoutMsOptionalintegerTimeout in milliseconds for GraphQL HTTP requests.
operationCacheTtlMsOptionalintegerMilliseconds GraphQL operation metadata stays fresh. Set 0 to refresh every time.
selectionDepthOptionalintegerMaximum depth for auto-generated GraphQL selection sets.
disabledOptionalbooleanWhen true, omit this GraphQL Caplet.

HTTP APIs keyed by stable Caplet ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable HTTP API display name.
descriptionRequiredstringCapability description shown to agents before HTTP actions are disclosed.
baseUrlRequiredstringBase URL for HTTP action requests.
authRequiredobjectExplicit HTTP API request auth config. Use {“type”:“none”} for public APIs.
actionsRequiredobjectConfigured HTTP actions keyed by stable tool name.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
requestTimeoutMsOptionalintegerTimeout in milliseconds for HTTP action requests.
maxResponseBytesOptionalintegerMaximum HTTP action response body bytes to read.
disabledOptionalbooleanWhen true, omit this HTTP API Caplet.

CLI tools keyed by stable Caplet ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable CLI tools display name.
descriptionRequiredstringCapability description shown to agents before CLI actions are disclosed.
actionsRequiredobjectConfigured CLI actions keyed by stable tool name.
cwdOptionalstringDefault working directory for CLI actions.
envOptionalobjectDefault environment variables for CLI actions.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
timeoutMsOptionalintegerDefault timeout in milliseconds for CLI actions.
maxOutputBytesOptionalintegerDefault maximum combined stdout and stderr bytes to keep.
disabledOptionalbooleanWhen true, omit this CLI tools Caplet.

Nested Caplet collections keyed by stable Caplet ID.

FieldStatusTypeDescription
nameRequiredstringHuman-readable Caplet set display name.
descriptionRequiredstringCapability description shown before child Caplets are disclosed.
configPathOptionalstringChild Caplets config.json path.
capletsRootOptionalstringChild Markdown Caplets root directory.
defaultSearchLimitOptionalintegerDefault maximum number of child Caplet search results.
maxSearchLimitOptionalintegerMaximum accepted child Caplet search result limit.
toolCacheTtlMsOptionalintegerMilliseconds child Caplet metadata stays fresh. Set 0 to refresh every time.
tagsOptionalarrayOptional tags for grouping or searching Caplets.
exposureOptional”direct” | “progressive” | “code_mode” | “direct_and_code_mode” | “progressive_and_code_mode”How this Caplet is exposed to agents.
shadowingOptional”forbid” | “allow”Whether attached local Caplets may shadow this remote Caplet ID.
useWhenOptionalstringWhen agents should prefer this Caplet or configured action.
avoidWhenOptionalstringWhen agents should avoid this Caplet or configured action.
setupOptionalobjectOptional setup and verification metadata.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
disabledOptionalbooleanWhen true, omit this Caplet set.