Skip to content

Ikanos — Features

A comprehensive list of features available in the current Ikanos release (v1.0.0-alpha3). For a use-case oriented view see Use Cases; for what's coming next see the Roadmap.


Consumes (HTTP client side)

  • HTTP/HTTPS consumption with templated baseUri and path parameters
  • Authentication — Bearer, API key (header or query), Basic, Digest, OAuth 2.1 client credentials
  • Input parameters in path, query, header, cookie, and body
  • Format conversion for non-JSON payloads (XML, Avro, CSV, TSV, PSV, HTML, Markdown, YAML, Protobuf) → JSON
  • $ref shared consumes — factor common API declarations into separate files
  • JSONPath output mapping with array extraction and nested-path support

Exposes (server side)

MCP (type: mcp)

  • Streamable HTTP and stdio transport
  • Tools, Resources, and Prompts
  • Tool annotations derived automatically from aggregate semantics
  • Mock mode — static value: or Mustache-templated value: with no consumes

Skill (type: skill)

  • Group MCP tools into named skills with descriptions
  • Auto-exposed read-only HTTP catalog:
  • GET /skills
  • GET /skills/{name}
  • GET /skills/{name}/download
  • GET /skills/{name}/contents

REST (type: rest)

  • Path templating with {param} placeholders
  • HTTP verbs (GET, POST, PUT, PATCH, DELETE)
  • Input parameters with explicit in: (path, query, header, cookie, body)
  • Resource-level forward proxy via forward.targetNamespace
  • OpenAPI 3.0/3.1 export

Control (type: control)

  • GET /health — liveness + readiness
  • GET /metrics — Prometheus RED metrics
  • GET /status — runtime diagnostics
  • OpenTelemetry tracing (OTLP exporter)

Aggregates and orchestration

  • Aggregates — reusable functions declared once at capability level
  • ref: from MCP tools and REST operations
  • semantics: (safe, idempotent, cacheable) → automatic MCP hints derivation
  • steps: with type: call and type: lookup
  • In-memory joins via lookup against previous step output
  • Cross-step variables via $.<step-name>.<field> JSONPath references
  • Mustache templates in value: and with: blocks

Inline scripting

  • JavaScript, Python, and Groovy via the GraalVM Polyglot API
  • Sandboxed execution (no host filesystem, no network egress unless allow-listed)
  • Use cases: light data transformation between steps, computed fields

Binds and secrets

  • Externalize variables via binds blocks
  • Sources: file, vault, environment variable
  • Per-namespace key maps for clear ownership

OpenAPI interoperability

  • Importikanos import openapi <file> bootstraps a consumes adapter from any OAS 3.0 or 3.1 document
  • Exportikanos export openapi <capability> emits OAS 3.0 or 3.1 (YAML or JSON) for any REST exposes adapter
  • Auth schemes (Bearer, Basic, API key, Digest) are preserved on round-trip

Cloud-native operations

  • Single, slim Docker image — same image runs every capability
  • Health/readiness endpoints suitable for Kubernetes probes
  • OpenTelemetry traces with one span per consumed call and one parent span per exposed operation
  • Prometheus RED metrics (Rate, Errors, Duration) per adapter and per operation

What's not yet in 1.0.0-alpha3

These are tracked in the Roadmap:

  • Conditional / for-each / parallel-join orchestration steps
  • HTTP client resiliency (circuit breaker, rate limiter, bulkhead)
  • Pagination at the consumes layer
  • Client SDK generation (TypeScript, Python, Java, Go)
  • Webhook, gRPC, and oRPC server adapters