Kinetis

Persistent Workers, Non-Blocking I/O.

Optimized for long-running processes, but equally snappy on PHP-FPM and serverless environments. One codebase — any runtime.

  • Typed requests and responses.

  • OpenAPI generated from your code rather than maintained beside it.

  • Genuinely concurrent non-blocking I/O.

  • Native Model Context Protocol (MCP) server, one install away.

What you get

Write an endpoint, get the rest

  • Routes, request binding, and validation declared with native PHP attributes — no YAML, no XML, no config file to keep in step with the code.

  • Typed DTOs in and out. A malformed request is a 422 with every field error at once, before your controller runs.

  • OpenAPI 3.1 and a Swagger UI generated from the same attributes. Nothing to write, nothing to update.

  • Controllers, commands, event listeners, and middleware found automatically anywhere under your own namespace.

True request-level concurrency

  • Real concurrency on PHP Fibers: run four queries, an HTTP call, and a cache read side by side and wait once.

  • Native MySQL, MariaDB, and Postgres drivers that suspend instead of blocking, with connection pooling and TLS.

  • A Revolt-native HTTP client, Redis (cluster) client, and filesystem layer, so nothing in the request path quietly blocks the others.

More functionality in separate packages

  • Data — a fluent query builder with pagination, database migrations, and request-scoped transaction safety.

  • Background work — queues on Redis, SQL, Amazon SQS, or RabbitMQ, with retries, delays, priorities, and graceful shutdown.

  • Auth — bearer tokens or JWT, password hashing, refresh tokens, and per-user revocation.

  • Web essentials — sessions with CSRF protection, rate limiting, CORS, security headers, and a body-size cap, all opt-in middleware.

  • Infrastructure — file storage on local disk or S3, mail, OpenSearch, AWS request signing, and OpenTelemetry tracing that spans your queue workers too.

Built for agents, not adapted for them

  • A native Model Context Protocol server (kinetis/mcp), over stdio or HTTP — installing the package is the whole setup.

  • Tools and resources declared with attributes and validated exactly like HTTP routes — one definition, two audiences.

Long-running or classic, same code

Kinetis targets FrankenPHP’s worker mode first: one warm process serving request after request. The same application code runs unchanged under classic nginx and PHP-FPM — and on AWS Lambda via Bref — because the runtime is an adapter Kinetis talks to, not an assumption baked into the framework. Deploy the way you deploy today, and move to a worker when it suits you.

Built to a standard you can check

Every change runs through GitHub Actions before it merges: PHPUnit, PHPStan, Psalm with taint analysis, mutation testing via Infection, and integration tests against real MySQL, MariaDB, Postgres, Redis, RabbitMQ, and LocalStack rather than mocks. SonarQube Cloud rates the project A for security, reliability, and maintainability, with test coverage above 90%. The benchmarks are public and reproducible, infrastructure included.

Start here

Tutorial

Start here. Install Kinetis, write a controller, then build a real-time application on it — a database, a queue, a scheduled command, live updates over a WebSocket, and a tool an AI agent can call.

Tutorial
Core Concepts

The runtime-agnostic Kernel, the request lifecycle, and why persistent workers change the rules.

Core Concepts
Routing & Validation

Attribute-based routes, typed DTOs, constraint validation, and zero-config OpenAPI.

Routing & Validation
Concurrency

Run a database query, an HTTP call, and a cache read side by side inside one request, instead of one after another.

Concurrency