Connectors
Connectors let Keyoku reach external MCP servers and APIs — so your workflows can call deployment tools, ticket trackers, or any service with an OpenAPI spec, with autonomy you control per connector.
Registering a connector
connector_add supports three transports:
| Transport | Config | Behavior |
|---|---|---|
stdio | command, args, env | Spawns a local MCP server process and talks to it over stdio. |
HTTP | url, headers | Connects to a remote MCP server over HTTP. |
OpenAPI | specUrl, allowMutating? | Synthesizes a connector from an OpenAPI 3.x or Swagger 2 spec. Read-only unless allowMutating is set. |
OpenAPI connectors are synthesized from the spec at specUrl and stay read-only unless you explicitly pass allowMutating.
Autonomy levels
Every connector has an autonomy level that gates what connector_call (and workflow mcp_call steps) may do:
| Level | Behavior |
|---|---|
observe | Calls are refused. The connector exists only so its usage can be observed. |
suggest | Keyoku can suggest calls, but does not make them on its own. |
approve | Calls queue as approval requests. Workflow mcp_call steps pause the execution and queue an approval. |
autonomous | Calls go through directly, no queue. |
The approval queue
Approval-gated calls wait in a queue until you decide. Use approval_list, approval_approve, and approval_deny from your agent, or the CLI equivalent:
keyoku approvals # list pending requests
keyoku approvals approve <id> # approve one
keyoku approvals deny <id> # deny oneAudit trail
Every action lands in an append-only audit trail. Read it with audit_list or keyoku audit.
Connectors and learning
Successful connector_call invocations are recorded in the activity trace, and a connector call counts as an action step — so connector usage participates in pattern mining just like shell commands and file edits.
Tool reference
| Tool | Purpose |
|---|---|
connector_add | Register a connector (stdio, HTTP, or OpenAPI) |
connector_list | List registered connectors |
connector_remove | Remove a connector |
connector_tools | List the tools a connector exposes |
connector_call | Call a connector tool — subject to its autonomy level |
connector_set_autonomy | Change a connector's autonomy level |
approval_list | List pending approval requests |
approval_approve | Approve a queued request |
approval_deny | Deny a queued request |
audit_list | Read the append-only audit trail |