io.github.Declade/lucairn-mcp-server

السجل الرسمي المالية والمدفوعات

Pseudonymizes PII before your LLM and returns a cryptographically signed receipt per response.

ماذا يمكنك أن تفعل مع io.github.Declade/lucairn-mcp-server؟

  • PII detection runs on every user message in three layers:
  • 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:

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @lucairn/mcp-server
Claude Code
claude mcp add lucairn-mcp-server -e 'LUCAIRN_API_KEY=<your lucairn_api_key>' -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'LUCAIRN_BASE_URL=<LUCAIRN_BASE_URL>' -e 'LUCAIRN_TRANSPORT=<LUCAIRN_TRANSPORT>' -- npx -y @lucairn/mcp-server@1.2.9
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "lucairn-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@lucairn/mcp-server@1.2.9"
            ],
            "env": {
                "LUCAIRN_API_KEY": "<your lucairn_api_key>",
                "ANTHROPIC_API_KEY": "<your anthropic_api_key>",
                "OPENAI_API_KEY": "<your openai_api_key>",
                "LUCAIRN_BASE_URL": "<LUCAIRN_BASE_URL>",
                "LUCAIRN_TRANSPORT": "<LUCAIRN_TRANSPORT>"
            }
        }
    }
}

متغيرات البيئة

  • LUCAIRN_API_KEY إلزامي سري Lucairn gateway API key (lcr_live_*). Issued at https://lucairn.eu/account/keys. Free tier requires BYOK upstream LLM keys (ANTHROPIC_API_KEY or OPENAI_API_KEY).
  • ANTHROPIC_API_KEY سري Upstream Anthropic API key. Used when the requested model is claude-* / anthropic-*. Required if you call Claude models on the free tier (BYOK).
  • OPENAI_API_KEY سري Upstream OpenAI API key. Used when the requested model routes to OpenAI. Required if you call OpenAI models on the free tier (BYOK).
  • LUCAIRN_BASE_URL Override the gateway URL. Defaults to https://gateway.lucairn.eu (production). Set this to point at a self-hosted Lucairn deployment.
  • LUCAIRN_TRANSPORT Transport mode for the MCP server. One of 'direct-http' (default; v1.1+ behavior) or 'stdio-bridge' (v1.2+ opt-in).

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Lucairn SDKs
  2. Quick start (MCP)
  3. What it does
  4. Provider routing
  5. Per-language SDKs
  6. Get an API key
  7. Verify a response
  8. Status
  9. Links
  10. Contributing
  11. License

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-line npx install for Claude Desktop, Cursor, Cline, Continue, …)
  • @lucairn/sdk — TypeScript / Node SDK
  • lucairn — Python SDK
  • github.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-server

Add 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.

What it does

Each request through any Lucairn SDK follows the same pipeline:

  1. 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)
  2. Detected PII is replaced with placeholders ([PERSON_1], [EMAIL_2], [IBAN_3], …) before the request reaches the upstream LLM.
  3. The selected upstream model sees only the sanitized text. It never receives raw personal data.
  4. The response is returned with a signed compliance certificate (Ed25519 witness signature + RFC 3161 timestamp + Sigstore Rekor inclusion proof).
  5. 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 prefixUpstream providerBYOK env var
claude-*, anthropic-*AnthropicANTHROPIC_API_KEY
gpt-*, openai-*, o1-*, o3-*, o4-*OpenAIOPENAI_API_KEY

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

LanguagePackageVersionREADME
MCP server@lucairn/mcp-server1.2.7mcp-server/README.md
TypeScript@lucairn/sdk1.1.1ts/README.md
Pythonlucairn1.4.1python/README.md
Gogithub.com/declade/lucairn-sdks/gov1.3.1go/README.md

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 — see ts/src/verify-certificate/, python/src/lucairn/verify_certificate/, and the internal/verify package under go/.
  • Every claim, not only the witness signature — verifyCertificateChain / verify_certificate_chain / VerifyCertificateChain check each claim's own signature against per-service keys you pin, the claim bytes, the typed copies, the signed upstream-request hashes and the unsigned cert_tier. All three return identical results on the shared 98-case corpus in testdata/parity-corpus/. Render and decide only from the returned verified values; 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.

Contributing

See CONTRIBUTING.md. Security reports: SECURITY.md.

License

MIT — see LICENSE.

الأسئلة الشائعة

ما هو io.github.Declade/lucairn-mcp-server؟

Pseudonymizes PII before your LLM and returns a cryptographically signed receipt per response.

كيف أثبّت io.github.Declade/lucairn-mcp-server؟

يعمل على جهازك. في Claude Code: claude mcp add lucairn-mcp-server -e 'LUCAIRN_API_KEY=<your lucairn_api_key>' -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'LUCAIRN_BASE_URL=<LUCAIRN_BASE_URL>' -e 'LUCAIRN_TRANSPORT=<LUCAIRN_TRANSPORT>' -- npx -y @lucairn/mcp-server@1.2.9. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.Declade/lucairn-mcp-server إلى مفتاح API؟

نعم. يتطلب LUCAIRN_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY، وتضبطها في إعداداته.

هل io.github.Declade/lucairn-mcp-server مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.Declade/lucairn-mcp-server؟

ينشره Declade. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.