This release is a pre-release and may not be stable for production use.
kx-auth-core
The lean, deliberately fastmcp-free auth core shared by the KX MCP composition container
(kx-mcp-core), the backend bundles, and the client-side kx auth CLI (kx-auth-cli). It holds
the auth mechanisms so every consumer binds to one implementation:
- Inbound config + verification —
AuthSettings(theKX_MCP_AUTH*contract) and a joserfcverify_tokenreturning a categorised verdict (ok/error/auth_required/denied). joserfc is the same JOSE library FastMCP'sJWTVerifieruses, so server and CLI verification cannot drift. - Outbound identity —
exchange(config, subject_token)over theregister_outbound_strategyregistry (passthrough/rfc_8693/service_account/ custom), with theOutboundConfig/OutboundCredentialshapes. Pure token→credential; no fastmcp. - Authorization contract —
AuthzRequest/AuthzDecision(boolean-first, with anobligationsslot for scope-down), theAuthzAdapterprotocol, and theregister_authz_adapter/decideregistry behind the container's@authorizeseam. - Identity assertion projection —
project_principal/project_from_claims, the fastmcp-free (and pykx-free) claims→dict projection the kdb-x identity-assertion path ferries to q.
Who should depend on it
Backend bundles (for exchange and the authz contract) and client-side tooling (the kx auth
CLI). If you are assembling a server, depend on kx-mcp-core instead — it re-exports these
seams. Two invariants to respect when contributing: this package never imports fastmcp (it ships
where the agent/client runs), and verify_token must stay in agreement with the container's
JWTVerifier (pinned by contract tests in the parent repo).
Documentation
Full reference in the kx-mcp-server-container repository: the auth guide under docs/ (inbound
modes, outbound strategies, authorization) and the design specs (token-exchange, identity-assertion,
authorization). All workspace packages version in lockstep from release tags.
Release files for kx-auth-core 0.5.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kx_auth_core-0.5.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / kx_auth_core-0.5.0b1-py3-none-any.whl
| Download URL | kx_auth_core-0.5.0b1-py3-none-any.whl |
|---|---|
| Size | 19.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
455f597be2a7f5891a80f59aa1df9a46a6910aedfb9515983c7f34e655e8ce88
|
|
BLAKE2b-256 checksum How to use checksums |
a1990911883221c820294cf9cddfd428dd2f1c6f30ddeea2ec1fd01d15d5a016
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|