Capabilities
Capabilities
Section titled “Capabilities”A capability is something your service can do - an API endpoint, an MCP tool, or a manually defined operation. The runtime discovers capabilities automatically and lets you choose which to monetize.
Capability Sources
Section titled “Capability Sources”OpenAPI Spec
Section titled “OpenAPI Spec”The runtime fetches an OpenAPI spec, parses operations, and generates capabilities:
capabilities: source: type: "openapi" url: "https://api.my-service.com/openapi.json"It extracts operation IDs, input/output JSON schemas, descriptions, and auth requirements.
MCP Server
Section titled “MCP Server”The runtime connects to an MCP server and calls tools/list:
capabilities: source: type: "mcp" server: "http://localhost:3001"Manual Definitions
Section titled “Manual Definitions”For curated, high-level capabilities that may combine multiple API calls:
capabilities: source: type: "manual" definitions: - name: "full_audit" description: "Complete security audit of a smart contract" inputSchema: type: "object" properties: contract_code: type: "string" required: ["contract_code"] outputSchema: type: "object" properties: report: type: "string" severity: type: "string"Capability Registry
Section titled “Capability Registry”Regardless of source, all capabilities are normalized into a single registry:
| Field | Type | Description |
|---|---|---|
name | string | Unique identifier |
source | enum | openapi, mcp, or manual |
sourceRef | string | Operation ID, MCP tool name, or config key |
description | string | Human/LLM-readable description |
inputSchema | JSONSchema | What the capability accepts |
outputSchema | JSONSchema | What it returns |
enabled | boolean | Provider toggle |
pricing | PricingConfig | Set by provider |
Spec Change Detection
Section titled “Spec Change Detection”The runtime periodically re-fetches specs and compares content hashes:
- New capability discovered - added to registry as disabled, flagged as “needs pricing”
- Schema changed - flagged for provider review, pricing preserved
- Capability disappeared - flagged as stale, active jobs complete normally, no new work accepted
Managing Capabilities
Section titled “Managing Capabilities”# List all discovered capabilitiesagent-adapter capabilities list
# Set pricing for a specific capabilityagent-adapter capabilities price enrich_lead --amount 0.02 --model per_call
# Set a default price for all unpriced capabilitiesagent-adapter capabilities price-default --amount 0.05 --model per_call
# Disable a capabilityagent-adapter capabilities disable get_company_infoManagement API
Section titled “Management API”PUT /manage/capabilities/enrich_lead/pricing{ "amount": 0.03, "currency": "USDC", "model": "per_call"}Dashboard
Section titled “Dashboard”The dashboard shows all capabilities with their pricing status. Click to edit pricing, enable/disable, or bulk-set defaults.
Dynamic Tool Generation
Section titled “Dynamic Tool Generation”At runtime, the adapter generates cap__* tools for each enabled capability. These tools are available to the embedded agent for executing work:
cap__enrich_lead → executes the enrich_lead capabilitycap__full_audit → executes the full_audit capability