Plugin Directory
Browse all official Atlas plugins — datasources, sandboxes, interactions, actions, and context providers.
Atlas plugins extend the agent with new capabilities. Each plugin is a factory function registered in atlas.config.ts. The Plugin SDK (@useatlas/plugin-sdk) provides type definitions and helpers for all five plugin types.
Official Plugins
BigQuery
OfficialGoogle Cloud data warehouse via REST API with service account and ADC authentication.
@useatlas/bigqueryClickHouse
OfficialColumn-oriented analytics database via HTTP transport with readonly enforcement.
@useatlas/clickhouseDuckDB
OfficialEmbedded analytics engine — file-based or in-memory, zero network overhead.
@useatlas/duckdbMySQL
OfficialMySQL and MariaDB via connection pool with read-only session enforcement.
@useatlas/mysqlSnowflake
OfficialSnowflake Data Cloud via SDK connection pool with warehouse and role configuration.
@useatlas/snowflakeSalesforce
OfficialSalesforce CRM via SOQL — query Salesforce objects like database tables.
@useatlas/salesforceVercel Sandbox
OfficialFirecracker microVM isolation on Vercel — highest security tier (priority 100).
@useatlas/vercel-sandboxE2B
OfficialCloud-hosted Firecracker microVM — ephemeral sandbox with network and filesystem isolation.
@useatlas/e2bDaytona
OfficialManaged cloud sandbox with ephemeral workspaces and full Linux environments.
@useatlas/daytonansjail
OfficialLinux namespace sandbox — no network, read-only mounts, zero host access.
@useatlas/nsjailSidecar
OfficialHTTP-isolated container sidecar for Railway and similar platforms.
@useatlas/sidecarMCP
OfficialModel Context Protocol server — expose Atlas tools to Claude Desktop, Cursor, etc. Monorepo-only (not yet published to npm).
@useatlas/mcpObsidian
OfficialObsidian plugin — query databases with natural language and embed results in your notes.
obsidian-atlasSlack
OfficialSlack bot integration with slash commands, threaded conversations, and OAuth.
@useatlas/slackSend email reports via Resend with approval-gated delivery controls.
@useatlas/emailJIRA
OfficialCreate JIRA tickets from agent findings with customizable project and issue types.
@useatlas/jiraYAML Context
OfficialInject semantic layer knowledge (entities, glossary, metrics) into the agent prompt.
@useatlas/yaml-contextInstall a Plugin
1. Install the package
bun add @useatlas/clickhouseSome plugins have optional peer dependencies for their database driver or SDK. These are loaded lazily at runtime — if a driver is missing, the plugin tells you exactly what to install when it first tries to use it. Install peer dependencies separately:
# Example: ClickHouse plugin needs @clickhouse/client
bun add @clickhouse/clientPeer dependencies are optional at install time — the plugin loads them lazily at runtime. If a required driver is missing, you'll get a clear error message telling you exactly what to install (e.g. "ClickHouse support requires the @clickhouse/client package. Install it with: bun add @clickhouse/client").
2. Register in atlas.config.ts
Import the plugin factory and add it to the plugins array:
// atlas.config.ts — register plugins in the plugins array
import { defineConfig } from "@atlas/api/lib/config";
import { clickhousePlugin } from "@useatlas/clickhouse";
export default defineConfig({
plugins: [
// Each plugin is a factory function — config is validated at startup
clickhousePlugin({ url: process.env.CLICKHOUSE_URL! }),
],
});Plugin config is validated at startup — invalid options (wrong URL format, missing required fields) fail fast with a clear error before the server starts.
3. Start the server
bun run devAtlas logs each registered plugin at startup. Check the logs to confirm your plugin loaded successfully.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Plugin config validation failed | Invalid config passed to the plugin factory | Check the error details — they list which fields failed and why |
requires the X package. Install it with: bun add X | Missing optional peer dependency | Run the suggested bun add command |
is already registered or duplicate id | Two plugins share the same id | Remove the duplicate from atlas.config.ts |
| Import error on plugin | Package not installed or wrong export name | Verify bun add @useatlas/<name> completed, check the import name in the plugin README |
See the Plugin Authoring Guide for a step-by-step tutorial on creating custom plugins. For real-world patterns and advanced recipes, see the Plugin Cookbook.
Community Plugins
Community plugins are welcome. If you've built a plugin you'd like to share, open a pull request or start a discussion on GitHub.