Skip to content

Integrations & plugins

Integrations connect a workspace to the outside world — mail, databases, MCP servers, repositories, web search, and more — and let those surfaces be governed with the same groups-and-clearance model as everything else. They're managed from the Admin console's Integrations page, a tile catalogue of everything you can connect.

the Integrations tile catalogue in the Admin console

The model in one paragraph

An integration is a workspace-scoped, group-gated surface backed 1:1 by a connection (the credential vault — see Connections). Credentials are encrypted at rest and never returned in full (only a last4 hint and status). A brain may be bound to an integration to use it, but access is resolved at call time against the chat's group clearance. There is one credential store and one grant model — integrations reuse Connections rather than forking a second system.

What you can connect

The catalogue spans several component kinds. Availability varies — the platform ships real adapters for some and placeholders for others:

KindExamplesStatus
AI System / LLMAnthropic, OpenAI, AWS Bedrock (EU-ZDR), OpenRouter, Google, xAIShipped
Emailoutbound mail via a providerShipped
MCP serverconnect an external MCP server (SSE / stdio)Shipped
API / RESTgeneric HTTP surfaceShipped
DatabasePostgresShipped
Web searchweb search + SmartFetchShipped
Repository / Project managementrepo and project surfacesShipped (base)
VoiceRetell, VAPIShipped (read/status adapters)
VoiceElevenLabs, Bland AI, Twilio, LiveKit, Synthflow, PipecatComing soon (registered placeholders)
HostingRailway, Fly.io, Vercel, Netlify, Cloudflare Pages, RenderComing soon (all placeholders, no live adapter)

Check the tile

Coming-soon tiles render in the catalogue but have no working adapter behind them. The tile tells you: a placeholder is labelled Coming soon.

Connecting an external MCP server

LEMA Chat can consume MCP servers as well as be one. Create an mcp integration with the server's URL (and an optional bearer token, stored as the backing connection's credential). At connect time — or via a manual refresh — LEMA Chat imports the remote server's tools/list into a plugin-shaped manifest, so its operations become usable (and writable-gated) like any other integration.

Per-instance grants, read/write, and expirable write windows

Integrations are governed at a fine grain:

  • Instances — an integration can have per-instance scope (for example a per-repository instance), so you grant access to this repo, not all repos.
  • Read vs write — a group is granted read, write, or admin on an integration.
  • Expirable write windows — a write grant can carry a time window. When the window expires, the effective access lazily resolves back down to read — it fails closed. This is how you hand out a temporary write capability (say, a deploy or a repo push) that automatically lapses.

an integration's grants panel showing a group with a time-limited write window

Granting and binding

From an integration's controls you can:

  • Grant a group read / write / admin.
  • Bind a brain to the integration with read or write intent (the bind edge only records the binding; the credential still lives in the connection, and clearance is re-checked at resolve time).
  • Toggle status active / disabled, and delete the integration.

The per-chat resolver surfaces, for any chat, which integrations are usable and why — without exposing any invocation control.

Brain tool invocation — coming soon

You can create an integration, grant it, and bind a brain to it today. What's not built yet is a brain actually calling an integration — the tool handlers and the curated tool registry are a later phase, pending owner decisions. There is deliberately no in-app tool-invocation UI yet.

One plugin architecture

Under the hood, widgets, integrations, connection providers, and model catalogues all follow one standard plugin architecture (ADR-0011): a single registry, one credential story, and consistent activation semantics — so every component kind is governed the same way rather than growing its own rules. Plugin activation is hierarchical (platform then workspace); see Plugin activation.

LEMA Chat — sovereign, open-source multi-agent chat.