@kartha-health/client
v0.1.0
Published
Safe clinical-access layer for Kartha Health: cloud-agnostic MCP-JWT signing, Streamable-HTTP MCP client, guardrail executor, observation digest, deterministic temporal windowing.
Readme
@kartha-health/client
Safe clinical access for the Kartha Health Agent SDK — the layer between your
agent and the Kartha MCP FHIR server. Cloud-agnostic MCP-JWT signing, a
Streamable-HTTP MCP client, the guardrail executor (patient-scope floor,
temporal bounds, FHIR summarization, notes-RAG orchestration, idempotency), the
observation digest, deterministic temporal windowing, the DOC_TYPE_CODES
label→LOINC map, and SMART-on-FHIR PKCE helpers. Usable with any agent loop.
npm install @kartha-health/client
# plus one cloud signer SDK for production:
# @aws-sdk/client-kms · @google-cloud/kms · @azure/keyvault-keys @azure/identityimport { JwtAuth, KarthaClient, GuardrailExecutor } from "@kartha-health/client";
const auth = new JwtAuth({
iss: "cust_bcm",
signerFor: (tenantId) => ({ sub: "clinician_42", signer: { type: "kms", kmsKeyId, kid } }),
});
const client = new KarthaClient({ url: process.env.KARTHA_MCP_URL!, auth, tenantId: "t_bcm" });
await client.connect();
const guarded = new GuardrailExecutor(client, { patientId: "p-123" });
const { result, adjustments } = await guarded.execute("fhir_search", {
resourceType: "Observation", queryParams: "category=laboratory",
});The private signing key never leaves your cloud KMS/Key Vault — the signer sends
only a digest to the HSM. Importing this package pulls in no cloud SDK;
signMcpJwt lazy-imports the adapter for your signer type.
- Runtime: ESM, Node ≥ 20
- Docs: the full API reference (schemas, MCP tool payloads, guardrail badges) ships with the SDK — see the Kartha Health Agent SDK.
- License: Apache-2.0
