Skip to content

Caplet files

Caplet files are Markdown files with YAML frontmatter. Store a single-file Caplet as osv.md, or use a folder with CAPLET.md when the capability needs nearby assets.

Canonical schema: https://caplets.dev/caplet-frontmatter.schema.json

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

Minimal Markdown Caplet:

---
name: Example Tools
description: Expose a small local MCP server to agents.
exposure: code_mode
mcpServer:
command: npx
args: ["-y", "@modelcontextprotocol/server-everything"]
---
Use this Caplet when an agent needs the example MCP tools.

Use useWhen and avoidWhen to guide agent selection, and add setup metadata when a Caplet needs local commands before it can run.

Project-bound Caplet with setup:

---
name: Repository Checks
description: Run repository-local checks before an agent edits this project.
exposure: code_mode
cliTools:
actions:
test:
description: Run the project test suite.
command: pnpm
args: ["test"]
projectBinding:
required: true
setup:
verify:
- label: Test suite
command: pnpm
args: ["test"]
---
Use this Caplet when an agent needs the current repository's local test signal.
FieldStatusTypeDescription
$schemaOptionalstringOptional JSON Schema URL for editor validation.
nameRequiredstringHuman-readable Caplet display name.
descriptionRequiredstringCompact capability description shown before the full Caplet card is disclosed.
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 explicit setup and verification metadata for this Caplet.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.
mcpServerOptionalobjectMCP server backend configuration for this Caplet.
openapiEndpointOptionalobjectOpenAPI endpoint backend configuration for this Caplet.
googleDiscoveryApiOptionalobjectGoogle Discovery API backend configuration for this Caplet.
graphqlEndpointOptionalobjectGraphQL endpoint backend configuration for this Caplet.
httpApiOptionalobjectHTTP API backend configuration for this Caplet.
cliToolsOptionalobjectCLI tools backend configuration for this Caplet.
capletSetOptionalobjectNested Caplet collection backend configuration for this Caplet.

Optional explicit setup and verification metadata for this Caplet.

FieldStatusTypeDescription
commandsOptionalarraySetup commands users can run before using this Caplet.
verifyOptionalarrayVerification commands users can run to check setup.

Project Binding requirements for Caplets that need an attached project.

FieldStatusTypeDescription
requiredRequiredbooleanWhether this capability requires the declared runtime feature or binding.

Runtime feature and resource requirements for hosted execution.

FieldStatusTypeDescription
featuresOptionalarrayRuntime features this Caplet expects from the host.
resourcesOptionalobjectHosted resource requirements for this Caplet.

MCP server backend configuration for this Caplet.

FieldStatusTypeDescription
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.
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 Caplet from discovery and do not start its MCP server.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.

OpenAPI endpoint backend configuration for this Caplet.

FieldStatusTypeDescription
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.
requestTimeoutMsOptionalintegerTimeout in milliseconds for OpenAPI HTTP requests.
operationCacheTtlMsOptionalintegerMilliseconds OpenAPI operation metadata stays fresh. Set 0 to refresh every time.
disabledOptionalbooleanWhen true, omit this Caplet from discovery.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.

GraphQL endpoint backend configuration for this Caplet.

FieldStatusTypeDescription
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.
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 Caplet from discovery.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.

HTTP API backend configuration for this Caplet.

FieldStatusTypeDescription
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.
requestTimeoutMsOptionalintegerTimeout in milliseconds for HTTP action requests.
maxResponseBytesOptionalintegerMaximum HTTP action response body bytes to read.
disabledOptionalbooleanWhen true, omit this Caplet from discovery.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.

CLI tools backend configuration for this Caplet.

FieldStatusTypeDescription
actionsRequiredobjectConfigured CLI actions keyed by stable tool name.
cwdOptionalstringDefault working directory for CLI actions.
envOptionalobjectDefault environment variables.
timeoutMsOptionalintegerTimeout in milliseconds.
maxOutputBytesOptionalintegerMaximum combined stdout and stderr bytes to keep.
disabledOptionalbooleanWhen true, omit this Caplet from discovery.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.

Nested Caplet collection backend configuration for this Caplet.

FieldStatusTypeDescription
configPathOptionalstringChild Caplets config.json path.
capletsRootOptionalstringChild Markdown Caplets root directory.
defaultSearchLimitOptionalintegerDefault number of search results returned when no limit is provided.
maxSearchLimitOptionalintegerMaximum accepted search result limit.
toolCacheTtlMsOptionalintegerMilliseconds tool metadata stays fresh.
disabledOptionalbooleanWhen true, omit this Caplet from discovery.
projectBindingOptionalobjectProject Binding requirements for Caplets that need an attached project.
runtimeOptionalobjectRuntime feature and resource requirements for hosted execution.