Capability tools
Enable libraries and packages for a project, request capabilities that need approval, and look up the StellifyJS framework API.
These tools live in the on-demand catalog rather than the default tool list, keeping the connected client's context small. Discover them with search_tools (e.g. search_tools(queries: ["capabilities"])) and run them with execute_tools — or call them directly if your client has already loaded them.
List Capabilities
list_capabilities
read-only
via execute_tools
List the capability catalog - libraries and services that can be enabled for the project (e.g. Sanctum, Livewire, Vue, Stripe).
Each capability includes:
- name, category, description
- type: "composer" (PHP) or "npm" (JavaScript) - determines whether it lands in composer.json or package.json
- packages: the actual dependencies added when enabled (e.g. { "laravel/sanctum": "^4.0" })
- config_keys: required configuration. If non-empty, the capability needs those settings (e.g. API keys via save_setting) BEFORE it can be enabled
- enabled: whether it is currently active for this project
Use this before set_capability to find the correct capability name and check its requirements.
Parameters
-
- Name
category- Type
- string
- Description
-
Optional: filter to a single category (e.g., "auth", "payments", "frontend").
-
- Name
type- Type
- string
- Description
-
Optional: filter by dependency type. "composer" for PHP packages, "npm" for JavaScript packages.
Set Capability
set_capability
via execute_tools
Enable or disable a capability (library/service) for the current project.
Enabling adds the capability to the project so its packages are emitted into composer.json / package.json at build/export time (and may enable related framework features, e.g. Livewire directives).
IMPORTANT:
- Use list_capabilities first to get the exact capability name and check config_keys.
- Capabilities that require configuration (non-empty config_keys, e.g. Stripe/S3 secrets) CANNOT be enabled until those settings are saved (via save_setting). Attempting to enable one returns an error.
- This does not install code/routes - for foundation packages that scaffold routes, use install_package instead.
Parameters
-
- Name
name- Type
- string
- Required
- required
- Description
-
Capability name from list_capabilities (e.g., "sanctum", "livewire", "vue").
-
- Name
enabled- Type
- boolean
- Required
- required
- Description
-
true to enable the capability for the project, false to disable it.
Request Capability
request_capability
via execute_tools
Log a missing framework-level capability. Creates a ticket in the Stellify backlog.
Parameters
-
- Name
capability- Type
- string
- Required
- required
- Description
-
Short name for the capability (e.g., "websocket-support", "s3-uploads", "social-oauth")
-
- Name
description- Type
- string
- Required
- required
- Description
-
Detailed description of what capability is needed
-
- Name
use_case- Type
- string
- Required
- required
- Description
-
The user requirement that triggered this request
-
- Name
workaround- Type
- string
- Description
-
Any temporary workaround, or "blocked" if none exists
-
- Name
priority- Type
- string
- Description
-
Suggested priority based on user need (default: medium)
Install Package
install_package
via execute_tools
Install a foundation package into the current project. Creates routes and other resources defined in the package manifest.
Returns success with installed counts, or error with code:
- PACKAGE_NOT_FOUND: Package name doesn't exist
- PACKAGE_NOT_INSTALLABLE: Package is disabled
- ALREADY_INSTALLED: Package routes already exist in project
- UNKNOWN_MANIFEST_KEY: Package requires newer platform version
- INSTALL_FAILED: Transaction failed
Parameters
-
- Name
name- Type
- string
- Required
- required
- Description
-
Package name (e.g., "file-uploads")
Get Stellify Framework API
get_stellify_framework_api
read-only
via execute_tools
Get Stellify Framework API reference with full type signatures. Import from "stellify-framework".
Returns composables (useForm, useAuth, etc.) with options/returns, utilities (Http, Collection, etc.) with methods/staticMethods, and validation rules.
Each item includes summary, type signatures, and JSDoc descriptions. Collection is iterable with v-for.
Parameters
-
- Name
module- Type
- string
- Description
-
Optional: specific module to get API for (e.g., "useForm", "Http", "rules"). Omit to get full API.