Skip to content

Capabilities

Capabilities define functions that a character can call. When a character has capabilities attached, it can autonomously decide to invoke them during a conversation — for example, moving to a location, opening a door, or querying an external system.

The Capability object

json
{
  "id": "capability_5X51Einm2JqPi53D",
  "createdAt": "2026-01-15T12:00:00Z",
  "projectId": "project_abc123",
  "name": "goToLocation",
  "description": "Move the character to a specific location in the world.",
  "type": "client_function_fire",
  "parameters": [
    {
      "name": "x",
      "type": "number",
      "description": "X coordinate",
      "required": true
    },
    {
      "name": "z",
      "type": "number",
      "description": "Z coordinate",
      "required": true
    }
  ]
}
FieldTypeDescription
idstringUnique identifier (capability_ prefix)
createdAtstringISO 8601 timestamp
projectIdstringProject this capability belongs to
namestringFunction name (used in tool calls)
descriptionstring | nullWhat this capability does (shown to the AI)
typestringCapability type (see below)
parametersarrayFunction parameters

Capability types

TypeDescription
client_function_fireFire-and-forget call to the client
client_function_callCall to the client that returns a result
server_function_fireFire-and-forget server-side function
server_function_callServer-side function that returns a result

Parameter schema

Each parameter in the parameters array:

FieldTypeDescription
namestringParameter name
typestring"string", "number", "boolean", or "integer"
descriptionstring | nullWhat this parameter is for
requiredbooleanWhether the parameter is required

Create a capability

POST /capabilities

Request body

FieldTypeRequiredDescription
namestringYesFunction name
descriptionstring | nullNoDescription shown to the AI
typestringYesOne of the capability types above
parametersarrayYesArray of parameter definitions
sh
curl -X POST https://api.mindforge.ai/capabilities \
  -H "Authorization: Bearer $MINDFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "goToLocation",
    "description": "Move the character to a specific location in the world.",
    "type": "client_function_fire",
    "parameters": [
      { "name": "x", "type": "number", "description": "X coordinate", "required": true },
      { "name": "z", "type": "number", "description": "Z coordinate", "required": true }
    ]
  }'

List all capabilities

GET /capabilities
sh
curl https://api.mindforge.ai/capabilities \
  -H "Authorization: Bearer $MINDFORGE_API_KEY"

Retrieve a capability

GET /capabilities/{capabilityId}

Update a capability

PATCH /capabilities/{capabilityId}

All fields are optional.

FieldTypeDescription
namestringNew function name
descriptionstring | nullNew description
parametersarrayNew parameter definitions (replaces existing)

Delete a capability

DELETE /capabilities/{capabilityId}
json
{ "id": "capability_5X51Einm2JqPi53D", "deleted": true }