Data Prism

io.github.AindriuB/data-prism

About Data Prism

Data Prism is an MCP server published by the GitHub account AindriuB. Fail-closed privacy layer that pseudonymises enterprise API data for LLM agents and MCP clients.

It runs on your own machine: your AI client starts it from the Docker (OCI) package ghcr.io/aindriub/data-prism-server:0.7.1, with no version pinned.

It asks for no keys or passwords.

It also needs LOADER_PATH, DATAPRISM_SECURITY_JWT_ISSUER, DATAPRISM_SECURITY_JWT_AUDIENCE, DATAPRISM_SECURITY_JWT_JWK_SET_URI, DATAPRISM_SECURITY_CALLER_CLAIMS_PRINCIPAL, DATAPRISM_SECURITY_CALLER_CLAIMS_ROLES, DATAPRISM_SECURITY_CALLER_CLAIMS_INVESTIGATION, DATAPRISM_SECURITY_POLICY_PURPOSES, DATAPRISM_SECURITYPOLICY_ROLES_INVESTIGATOR, DATAPRISM_PRIVACY_PROFILE, DATAPRISM_PRIVACY_SCOPE_LIFETIME, DATAPRISM_PRIVACY_HMAC_KEY_KEY_ID, DATAPRISM_PRIVACY_HMAC_KEY_ENVIRONMENT_VARIABLE, DATAPRISM_AUDIT_SINK, DATAPRISM_AUDIT_WRITER_ID, DATAPRISM_METRICS_SINK, DATAPRISM_HAZELCAST_TOPOLOGY, DATAPRISM_SOURCES_CUSTOMER_BASE_URL and DATAPRISM_SOURCES_CUSTOMER_TIMEOUT set before it starts.

Version 0.7.1 was published on 22 October 2026, and the source code is public, so you can read it before installing.

Written from the registry entry. 7 automated checks on registry metadata: 4 pass, 0 warn, 0 fail, 3 info. How we check.

What it asks for

VariableRequiredSecretDescription
LOADER_PATHYesNoDirectory Spring Boot's PropertiesLauncher scans for extension jars; already set to /app/adapters by the image, but startup still fails with MISSING_SOURCE_ADAPTER until you bind-mount a reviewed DataSourceAdapter/IdentityResolver jar there (see the -v arguments above)
DATAPRISM_SECURITY_JWT_ISSUERYesNoOAuth2/OIDC issuer that mints the caller's JWT; required for every protected deployment
DATAPRISM_SECURITY_JWT_AUDIENCEYesNoExpected JWT audience claim for this deployment; required for every protected deployment
DATAPRISM_SECURITY_JWT_JWK_SET_URIYesNoHTTPS JWKS location used to verify caller JWTs; exactly one of this or DATAPRISM_SECURITY_JWT_ISSUER_DISCOVERY_URI is required, never both
DATAPRISM_SECURITY_JWT_ISSUER_DISCOVERY_URINoNoAlternative HTTPS OIDC issuer-discovery location; set this instead of DATAPRISM_SECURITY_JWT_JWK_SET_URI, never both
DATAPRISM_SECURITY_CALLER_CLAIMS_PRINCIPALYesNoJWT claim name that carries the caller's principal identifier; required, must differ from the roles and investigation claims
DATAPRISM_SECURITY_CALLER_CLAIMS_ROLESYesNoJWT claim name that carries the caller's roles; required, must differ from the principal and investigation claims
DATAPRISM_SECURITY_CALLER_CLAIMS_INVESTIGATIONYesNoJWT claim name that carries the trusted investigation/case identifier; required, must differ from the principal and roles claims
DATAPRISM_SECURITY_POLICY_PURPOSESYesNoComma-separated list of permitted purposes; at least one is required
DATAPRISM_SECURITYPOLICY_ROLES_INVESTIGATORYesNoExample only — declare DATAPRISM_SECURITYPOLICY_ROLES_<ROLE> per operator-defined role (no underscore between SECURITY and POLICY: Spring Boot's map-key enumeration under a hyphenated dataprism.security-policy.roles.<role> segment only binds the concatenated prefix, verified by binding this property directly against Spring Boot 4.1.1), a comma-separated list of known MCP tool capabilities; at least one role-to-capability mapping is required
DATAPRISM_PRIVACY_PROFILEYesNoName of the reviewed privacy profile implementation to apply; required
DATAPRISM_PRIVACY_SCOPE_LIFETIMEYesNoPositive duration (e.g. 8h) a privacy scope's synthetic identities remain valid; required
DATAPRISM_PRIVACY_HMAC_KEY_KEY_IDYesNoIdentifier of the pinned HMAC key used to derive synthetic identities; required
DATAPRISM_PRIVACY_HMAC_KEY_ENVIRONMENT_VARIABLEYesNoName of the environment variable holding the HMAC key material; exactly one of this or DATAPRISM_PRIVACY_HMAC_KEY_PROVIDER_REFERENCE is required, never both, and never a literal key value
DATAPRISM_PRIVACY_HMAC_KEY_PROVIDER_REFERENCENoNoReference to an approved secret provider holding the HMAC key material; set this instead of DATAPRISM_PRIVACY_HMAC_KEY_ENVIRONMENT_VARIABLE, never both
DATAPRISM_AUDIT_SINKYesNoAudit sink implementation: one of approved-sink, slf4j, hash-chained; required, never downgraded to no-op
DATAPRISM_AUDIT_WRITER_IDYesNoWriter/instance identity recorded on every audit entry; required
DATAPRISM_AUDIT_FILE_PATHNoNoPath to the durable, hash-chained audit log; required when DATAPRISM_AUDIT_SINK=hash-chained, refused as MISSING_AUDIT_FILE_PATH if absent for that sink, ignored otherwise
DATAPRISM_METRICS_SINKYesNoMetrics sink binding, currently only micrometer; required in production, never the framework no-op
DATAPRISM_HAZELCAST_TOPOLOGYYesNoCluster read-budget topology: embedded (shared across members that have joined one cluster; set cluster name and join mode) or single-node (enforced per process); required, never defaulted
DATAPRISM_HAZELCAST_CLUSTERNAMENoNoHazelcast cluster name; required when DATAPRISM_HAZELCAST_TOPOLOGY=embedded, never dev, refused if set with single-node
DATAPRISM_HAZELCAST_JOIN_MODENoNoHow cluster members find each other: tcp-ip, kubernetes or none; required when DATAPRISM_HAZELCAST_TOPOLOGY=embedded (none is an explicit single member bound to 127.0.0.1), refused if set with single-node
DATAPRISM_HAZELCAST_JOIN_MEMBERSNoNoComma-separated member addresses (host or host:port); required when DATAPRISM_HAZELCAST_JOIN_MODE=tcp-ip, otherwise unused
DATAPRISM_HAZELCAST_MEMBER_PORTNoNoHazelcast member port, default 5701, never auto-incremented; must differ from the server, management and operator ports. Member traffic is unencrypted, so keep it on a private network. Optional
DATAPRISM_OPERATOR_ENABLEDNoNoEnables the operator surface; optional, off by default
DATAPRISM_OPERATOR_PORTNoNoPort of the operator listener; required when DATAPRISM_OPERATOR_ENABLED=true, must differ from the server, management (OPERATOR_PORT_SHARED otherwise) and member ports, and has no fixed default (publish it explicitly)
DATAPRISM_OPERATOR_REQUIREDAUDIENCENoNoJWT audience an operator token must carry; required when DATAPRISM_OPERATOR_ENABLED=true
DATAPRISM_OPERATOR_REQUIREDSCOPENoNoJWT scope an operator token must carry; required when DATAPRISM_OPERATOR_ENABLED=true
DATAPRISM_SOURCES_CUSTOMER_BASE_URLYesNoExample only — declare DATAPRISM_SOURCES_<NAME>_BASE_URL (HTTPS) per configured source; at least one source, each with its own reviewed DataSourceAdapter bean, is required
DATAPRISM_SOURCES_CUSTOMER_TIMEOUTYesNoExample only — declare DATAPRISM_SOURCES_<NAME>_TIMEOUT (positive duration) per configured source; required alongside its base URL

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/AindriuB/data-prism
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for no secrets
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via GitHub account AindriuB
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Code red flagsInfooci packages are not read yet

Popularity & health: 45 / 100

Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.

Popularity3 / 40

1 GitHub stars, no download count, no Hacker News posts found. Best two of the three, each on a log scale.

Activity15 / 25

Last push 2026-10-29, last release 2026-10-22, 0 commits in 90 days.

Issue health8 / 15

0 closed of 0 issues, too few to judge. No data, so half marks.

Our checks20 / 20

0 warnings, each costing a fifth.

0 forks, 161 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.

What people say

No Hacker News threads link to its source code.

Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.

Facts

Registry nameio.github.AindriuB/data-prism
PublisherGitHub account AindriuB
How the name is verifiedName verified via GitHub account AindriuB. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesoci ghcr.io/aindriub/data-prism-server:0.7.1 no version given (streamable-http)
Version0.7.1
Published
Last updated
Source repositoryhttps://github.com/AindriuB/data-prism
Websitehttps://aindriub.github.io/data-prism/
CategorySearch & web (assigned by keyword rule, not by hand)

Related servers in Search & web