@lucairn/mcp-server
Send privacy-sanitized chat requests to Anthropic or OpenAI through Lucairn's MCP gateway.
Use the
chat_via_lucairntool with requiredmodel,max_tokens, andmessages.Route to Anthropic (
claude-*,anthropic-*) or OpenAI (gpt-*,openai-*,o1-*,o3-*,o4-*) based on the model name.Provide cross-provider BYOK via
ANTHROPIC_API_KEYand/orOPENAI_API_KEYin the MCP client env.Automatically detect and replace PII with placeholders before the upstream LLM sees the prompt.
On Developer tier, get raw placeholders; on Pro/Enterprise, enable automatic re-linking to original values.
Optionally set a system prompt and
temperature; wire format follows the Anthropic Messages API.
Routes chat requests to OpenAI's API via the Lucairn privacy gateway, with PII redaction and compliance certificate generation. Supports gpt-, openai-, o1-, o3-, and o4-* model prefixes.
Lucairn SDKs
Official client libraries for Lucairn — an EU-based privacy-preserving AI gateway. Lucairn sits between your application (or AI agent) and the upstream LLM provider you choose, removes personal data from prompts before the model ever sees them, and returns a signed Lucairn Certificate proving what was redacted, when, and by which sanitizer layer.
This monorepo hosts four packages at parity:
@lucairn/mcp-server— Model Context Protocol server (one-linenpxinstall for Claude Desktop, Cursor, Cline, Continue, …)@lucairn/sdk— TypeScript / Node SDKlucairn— Python SDKgithub.com/declade/lucairn-sdks/go— Go SDK
Quick start (MCP)
For most agent use cases, the fastest path is the MCP server. No build step, no install — npx runs it on demand:
npx -y @lucairn/mcp-serverAdd it to your MCP client config (Claude Desktop's claude_desktop_config.json, Cursor's mcp.json, Cline's cline_mcp_settings.json, Continue, etc.):
{
"mcpServers": {
"lucairn": {
"command": "npx",
"args": ["-y", "@lucairn/mcp-server"],
"env": {
"LUCAIRN_API_KEY": "<your_lucairn_api_key>",
"ANTHROPIC_API_KEY": "<optional_byok_anthropic_key>",
"OPENAI_API_KEY": "<optional_byok_openai_key>"
}
}
}
}Restart your client. The chat_via_lucairn tool becomes available immediately. See mcp-server/README.md for full details.
Related MCP server: ArkForge Trust Layer
What it does
Each request through any Lucairn SDK follows the same pipeline:
PII detection runs on every user message in three layers:
Layer 1 — Known-entity matching (your tenant's named entities)
Layer 2 — Presidio NER (names, emails, IBANs, addresses, phone numbers, customer IDs, …)
Layer 3 — GPU-hosted custom-trained PII shield (Enterprise tier only, optionally trained on your domain corpus)
Detected PII is replaced with placeholders (
[PERSON_1],[EMAIL_2],[IBAN_3], …) before the request reaches the upstream LLM.The selected upstream model sees only the sanitized text. It never receives raw personal data.
The response is returned with a signed compliance certificate (Ed25519 witness signature + RFC 3161 timestamp + Sigstore Rekor inclusion proof).
Response handling depends on tier:
Developer (free) — placeholders are returned verbatim. Useful for testing the redaction surface.
Pro / Enterprise — placeholders are re-linked back to the originals on the gateway before the response reaches your application.
For Lucairn-hosted Developer-tier callers, on-gateway pseudonymization happens before your LLM sees the request. Enterprise self-host deployments can run the entire stack inside the customer environment, in which case no raw identity data leaves that environment at all.
Provider routing
The gateway picks the upstream provider from the model parameter you send:
Model prefix | Upstream provider | BYOK env var |
| Anthropic |
|
| OpenAI |
|
Cross-provider BYOK shipped in @lucairn/mcp-server@1.1.0 — set one or both keys in the same MCP config and the server forwards the matching one as X-Upstream-Key per request, so your provider account is billed directly.
Per-language SDKs
Language | Package | Version | README |
MCP server |
| 1.2.7 | |
TypeScript |
| 1.1.1 | |
Python |
| 1.4.1 | |
Go |
| v1.3.1 |
All SDKs are at parity at the observable level. Cross-language byte-equivalence is locked via shared Go-assembler-generated fixtures, so a certificate signed via one SDK verifies identically via the other two.
Get an API key
Sign up at https://lucairn.eu/account/signup. Free Developer tier: 500 requests/month, no credit card required.
Pro adds response re-linking, programmatic certificate JSON access, audit-event export, and higher quota. Enterprise adds self-host, BYOK with provider-side billing isolation, and the optional custom-trained PII shield (priced per scope).
See https://lucairn.eu/pricing for the full tier comparison.
Verify a response
Every response through any SDK gets a signed Lucairn certificate. Two surfaces:
HTML summary — DPO-friendly, available on every tier including Developer (free). Use
getCertificateSummary(TS) /get_certificate_summary(Python) /GetCertificateSummary(Go), or paste the certificate URL into https://lucairn.eu/verify.JSON certificate + local Ed25519 verify — Pro tier and above. Use
getCertificate+verifyCertificate(and language equivalents). The verifier is in-tree — seets/src/verify-certificate/,python/src/lucairn/verify_certificate/, and theinternal/verifypackage undergo/.Every claim, not only the witness signature —
verifyCertificateChain/verify_certificate_chain/VerifyCertificateChaincheck each claim's own signature against per-service keys you pin, the claim bytes, the typed copies, the signed upstream-request hashes and the unsignedcert_tier. All three return identical results on the shared 98-case corpus intestdata/parity-corpus/. Render and decide only from the returnedverifiedvalues; pass the expected request id so another turn's certificate is refused.
External RFC 3161 + Sigstore Rekor anchor verification is currently surfaced as pass-through metadata; full external anchor verification lands in a follow-up release.
Status
Production packages are versioned independently and tagged per the table above. Cross-language byte-equivalence is locked via shared fixtures. Follow CHANGELOG.md for release notes.
Links
Main site: https://lucairn.eu
Sign up (free Developer tier): https://lucairn.eu/account/signup
Pricing: https://lucairn.eu/pricing
MCP setup guide: https://lucairn.eu/developer/mcp
OpenAI SDK setup guide: https://lucairn.eu/developer/openai
Verify a certificate: https://lucairn.eu/verify
Glama listing: https://glama.ai/mcp/servers/Declade/lucairn-sdks
mcp.so listing: https://mcp.so/server/lucairn-privacy-gateway/Declade
npm —
@lucairn/mcp-server: https://www.npmjs.com/package/@lucairn/mcp-servernpm —
@lucairn/sdk: https://www.npmjs.com/package/@lucairn/sdkPyPI —
lucairn: https://pypi.org/project/lucairn/
Contributing
See CONTRIBUTING.md. Security reports: SECURITY.md.
License
MIT — see LICENSE.
Available Tools
1 toolchat_via_lucairnA
Send a chat request through the Lucairn privacy gateway with cross-provider BYOK (Anthropic + OpenAI). PII is detected and replaced with placeholders before reaching the upstream LLM. The gateway picks the upstream provider based on the model parameter: claude-* / anthropic-* use ANTHROPIC_API_KEY; gpt-* / openai-* / o1-* / o3-* / o4-* use OPENAI_API_KEY. Wire format follows the Anthropic Messages API. Developer-tier responses contain raw placeholders; Pro and Enterprise tiers can enable automatic re-linking back to the original values.
Inputs: model (required), max_tokens (required), messages (required), system, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguous selection. The single tool clearly defines its action and scope, so agents cannot confuse it with anything else.
The sole tool name, `chat_via_lucairn`, follows a clean snake_case verb-phrase convention. There are no other names present, so there are no conflicting naming styles to navigate.
One tool is slightly below the typical 3–15 tool range, but it is a substantial operation rather than a trivial placeholder. For a narrow privacy-gateway chat use case, the single-tool scope is reasonable.
The tool fully covers the server's apparent purpose: sending chat requests through the Lucairn gateway with provider routing and PII handling. There are no dead ends in the core workflow, and configuration concerns are handled through parameters and environment keys.
Maintenance
Related MCP Connectors
Zero-retention GDPR PII redaction gate (IBAN, Tax-ID, HRB, Names) with signed Ed25519 VC.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Deterministic trust gate for AI output: leaked-secret, prompt-injection & PII in one call.
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides cryptographic signing and verification for AI decisions to generate verifiable, Ed25519-signed receipts for compliance and auditing. It automatically maps AI actions to regulatory frameworks like HIPAA and SOX with high-performance, sub-3ms signing.4MIT
- AlicenseAqualityBmaintenanceThird-party certifying proxy — sign any HTTP call (AI agents, webhooks, microservices) with an independent Ed25519 signature, RFC 3161 timestamp, and Sigstore Rekor anchor.496 PyPI3MIT
- FlicenseNot gradedqualityDmaintenanceSecurity middleware for LLM apps and AI agent pipelines. Detects prompt injection attacks (22 signatures, 7 languages) and anonymizes PII (17 entity types). Deterministic, sub-25ms, GDPR Art.30 compliant.-
- AlicenseNot gradedqualityDmaintenanceProvides a pre-flight/post-flight firewall for LLM calls with comprehensive detection, classification, policy enforcement, reversible redaction, output safety, and immutable audit logging.1MIT