Integrations
Connect your accounts once and the agent can act in them — read a Slack thread, draft a Gmail reply, open a GitHub PR, update a Notion page, file a Linear issue, or push a HubSpot deal. Aura Workshop reaches 100+ services through the Composio cloud path — roughly 100 toolkits, connected once and turned into tools the agent picks up automatically. Beyond hosted integrations, you can wire in any MCP server — stdio or HTTP — to add tools of your own.
Connecting an account
Everything lives under Settings → Integrations. Each toolkit shows a Connect button; connecting opens a Composio-hosted consent flow, so you never paste API keys or register apps yourself.
- Click Connect on a toolkit.
- Your browser opens a Composio-hosted consent screen for that service.
- Approve the requested scopes.
- Composio holds the token; Aura mounts the toolkit as an MCP server for that account, and its tools appear automatically in the agent's toolset.
Disconnecting removes the connection everywhere it was in use. Aura keeps only a thin reference
row in the connections table (source of cloud); the
credential itself is held by Composio, which manages its lifecycle.
Supported services
Integrations connect through Composio's roughly 100 toolkits, spanning communication, project management, CRM, calendars, knowledge bases, files, and developer tools — the same surface the bundled skills draw on. Popular examples include:
- Slack, Gmail, Google Calendar, Google Drive
- GitHub, Notion, Linear
- HubSpot, Salesforce, Asana, Airtable
- …and roughly 100 more across the catalog.
Toolkits split into managed-OAuth, API-key, and connect-on-demand styles, and Aura picks the right connect flow for each. Whichever a toolkit uses, Composio brokers the credential and Aura mounts the toolkit as an MCP server per account.
How connections become tools
A connection is only useful if the agent can call it. Aura wires each connection into the agent automatically:
-
MCP servers — connecting a Composio toolkit is mounting an MCP
server for that account, scoped by an
x-composio-user-idheader. Its tools appear in the agent's toolset with no extra config, so the agent can act in the connected service the moment consent completes. - Listeners — bot integrations (Slack, Discord, Telegram, …) resolve their bot token from the connection at start time, and for Composio-managed bots Aura auto-mounts the bot's own toolkit so the agent can act as that bot. See Automation & Workflows.
Composio manages the token lifecycle — refreshing credentials behind the scenes — so long-running agents and schedules don't fall over on an expired token.
MCP servers
Model Context Protocol (MCP) servers extend the agent with tools beyond the built-ins by connecting to external services and data sources. Add and manage them under Settings → MCPs. Aura speaks two transports:
| Transport | How it works |
|---|---|
| stdio | Launches a local process (Node.js, Python, a compiled binary) and speaks JSON-RPC over stdin/stdout. A rolling stderr buffer is kept so a crash surfaces the real traceback, not just a "broken pipe". |
| HTTP | POSTs to a remote MCP endpoint and parses JSON or SSE. Auth resolves from custom headers, then an OAuth token, then a session id, with a 30-second connect/request timeout. |
Adding a server
- Go to Settings → MCPs and click Add MCP Server.
- Name it and choose the transport.
- stdio: enter the launch command (e.g.
npx) and its arguments, plus any environment variables to pass to the child process. - HTTP: enter the server URL and, optionally, OAuth credentials or custom headers (Bearer token, API key, etc.).
- Pick an isolation mode (see below) and click Connect. A status dot shows connected (green) or disconnected (red).
On connect, tool definitions are cached so they appear instantly in the tool picker without re-querying the server each task. You can also import server configs from JSON (standard MCP schema) to share setups across machines or teammates.
# Add an MCP server (stdio transport)
curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "File System MCP",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"],
"env": {},
"isolation": "shared"
}' \
http://localhost:18800/api/mcp/servers
# Add an MCP server (HTTP transport with custom auth header)
curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Cloud MCP",
"transport": "http",
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer my-token" },
"isolation": "per_task"
}' \
http://localhost:18800/api/mcp/servers
Isolation modes
| Mode | Behaviour |
|---|---|
| shared | One connection is reused across all tasks. Efficient, but state persists between tasks. |
| per_task | Each task gets its own server instance for complete state isolation. For stdio servers,
the child is spawned per task with AURA_TASK_ID, AURA_WORKSPACE_DIR,
and a task-scoped data directory, then killed when the task ends. HTTP servers stay
shared. |
Plugins
Installed CLI tools can register as MCP servers without any code changes via a plugin
manifest that carries either a stdio command + args or an HTTP URL + transport. Manage these
under Settings → Plugins, or programmatically via /api/plugins.
Aura as an MCP server
The relationship runs both ways: Aura Workshop also exposes its own tools as an MCP
server at POST /api/mcp/v1, so external MCP clients — such as Claude Code, Cursor,
Kiro, Kilo, or Vibe — can call back into Aura. The exposed surface covers the core file and
search tools: bash, read_file, write_file,
edit_file, glob, grep, list_dir,
web_search, and web_fetch.
Point your client's MCP config at your Aura instance's /api/mcp/v1 endpoint and
authenticate with your AURA_WEB_TOKEN. For the full endpoint reference, see the
API Reference.