Skip to main content

Connect AdaL to Tools via MCP (Model Context Protocol)

Connect AdaL to Linear, GitHub, Notion, Canva, databases, and more using MCP (Model Context Protocol) — the open standard for connecting AI agents to external tools and data sources.

Quick Start (2 minutes)​

# 1. Start AdaL
adal

# 2. Add a server (shortcut)
/mcp add linear
# Browser auth opens automatically when required

For OAuth-capable servers, auth opens automatically during add. Example:

/mcp add canva --transport http --url https://mcp.canva.com/mcp
✦ Adding custom server: canva
⎿ Server added: canva
(opening browser for authentication...)

Done! Ask AdaL: "Create a Linear issue for the login bug".

Two Ways to Add Servers​

MethodSyntaxWhen to Use
Shortcut/mcp add <name>Pre-configured servers managed by AdaL CLI team
Custom/mcp add <name> ...Any MCP server (npm package, Python, remote HTTP/SSE)

Add Shortcut Servers​

Pre-configured by the AdaL CLI team. Just use the name - no flags needed.

ShortcutAuth TypeCommand
linearOAuth/mcp add linear
notionOAuth/mcp add notion
sentryOAuth/mcp add sentry
slackOAuth/mcp add slack
glasserOAuth/mcp add glasser
githubAPI Key/mcp add github
gitlabAPI Key/mcp add gitlab
postgresConn String/mcp add postgres <connection_string>
filesystemNone/mcp add filesystem
playwrightNone/mcp add playwright
chrome-devtoolsNone/mcp add chrome-devtools
brave-searchAPI Key/mcp add brave-search

Setting Up Shortcuts​

OAuth Servers (linear, notion, sentry, slack, glasser):

/mcp add linear
# Starts authentication automatically; opens your browser if sign-in is needed
# Existing valid credentials are reused. If authentication fails or is cancelled:
/mcp
# → Select server → Authenticate
# Browser opens → Approve → Done!

API Key Servers (github, gitlab):

# Set token BEFORE starting AdaL
export GITHUB_TOKEN="ghp_xxxx" # macOS / Linux
# OR
$env:GITHUB_TOKEN="ghp_xxxx" # Windows PowerShell

adal
/mcp add github

Database (postgres):

/mcp add postgres postgresql://user:pass@localhost:5432/mydb

Add Custom Servers​

For any MCP package not in the shortcut list.

# Basic syntax
/mcp add <name> --transport http --url <https://...>

# Real example
/mcp add canva --transport http --url https://mcp.canva.com/mcp

# Example with header
/mcp add secure-api --transport http --url https://api.example.com/mcp --header "Authorization:Bearer ${API_TOKEN}"

Option 2: Add a remote SSE server (legacy/deprecated where HTTP exists)​

# Basic syntax
/mcp add <name> --transport sse --url <https://...>

# Example
/mcp add asana --transport sse --url https://api.example.com/sse

Option 3: Add a local stdio server (npm/python/local scripts)​

# NPM package
/mcp add airtable --command npx --args "-y,airtable-mcp-server" --env "AIRTABLE_API_KEY=xxx"

# Python package
/mcp add py-tool --command uvx --args "python-mcp-server"

Important: option ordering​

Place MCP flags before values they configure, and keep command payload values quoted when needed:

  • --transport + --url for remote servers
  • --command + --args for stdio servers
  • use --env / --header for credentials and auth headers

Flags Reference​

FlagPurposeExample
--commandExecutable for stdio server--command npx
--argsArguments passed to command--args "-y,pkg@latest"
--transportRemote transport (http or sse)--transport http
--urlRemote server URL--url https://...
--headerHTTP auth/custom header--header "Authorization:Bearer ${TOKEN}"
--envEnvironment variables--env "KEY=value"

Managing Servers​

/mcp
# Open server list

Actions (select server → Enter):

  • Enable/Disable - Load only servers you need.
  • Authenticate - Start/continue auth flow.
  • Test Connection - Verify server is working.
  • Remove - Delete server configuration.

Server Card Status (Source of Truth)​

After add/auth, use server card status to confirm readiness:

  • Connected - Ready to use
  • Needs Auth - Authenticate required
  • Error - Connection/config/credential issue
  • Disabled - Not currently active

Authenticate Servers​

OAuth Servers (linear, notion, sentry, slack, glasser, and compatible remote OAuth servers)​

How it works now:

  1. Add server
  2. Config is saved
  3. AdaL starts authentication automatically. Valid saved credentials are reused; otherwise the browser opens for sign-in.
  4. If authentication fails or is cancelled, the server stays saved. Retry from /mcp → select the server → Authenticate.
  5. After approval, server becomes usable (tools discovered/available).

Startup, status checks, and background discovery do not open authentication windows. On SSH or headless systems, browser opening may be unavailable; use the manual authentication flow in an environment with browser access.

If the server rejects the saved credentials (HTTP 400, 401 or 403 on connect), AdaL discards that access token and marks the server Needs Auth. Authenticate then opens the browser for a fresh sign-in instead of sending the rejected token again. You no longer have to remove and re-add the server to recover.

/mcp add linear
# Opens the browser if sign-in is needed
# Retry after a failed or cancelled sign-in:
/mcp
# → Select server → Authenticate

Token storage: ~/.adal/mcp-auth/. Delete folder to re-authenticate.

API Key Servers (github, gitlab)​

How it works:

  1. AdaL reads env vars (GITHUB_TOKEN, etc.) at startup
  2. If token is added after AdaL starts, restart AdaL and re-open session flow
# Set token (AdaL must be closed)
export GITHUB_TOKEN="ghp_xxxx"

# Verify
echo $GITHUB_TOKEN

# Start and add
adal
/mcp add github
ServerEnvironment VariableGet Token
githubGITHUB_TOKENgithub.com/settings/tokens
gitlabGITLAB_TOKENgitlab.com/-/profile/personal_access_tokens
brave-searchBRAVE_API_KEYbrave.com/search/api

Make token permanent:

echo 'export GITHUB_TOKEN="xxx"' >> ~/.zshrc
source ~/.zshrc

Examples​

Linear:

"Create a high-priority issue titled 'Fix auth timeout' in Backend"

GitHub:

"Show my open pull requests"

Slack:

"Summarize what was discussed in #launch this week and post the summary there"

Postgres:

"Count users by status in the users table"

Canva:

"Create a social post design draft for product launch"

Why MCP with AdaL?​

MCP (Model Context Protocol) is the emerging open standard for connecting AI agents to external tools. AdaL's MCP support means you can:

  • Use the same MCP servers you'd use with Claude Desktop, Cursor, or other MCP-compatible clients
  • Manage servers from the CLI — no config files to edit manually
  • OAuth built-in — one-step add flow with automatic auth where supported
  • Enable/disable on the fly — load only what you need

Related: Skills & Plugins · Slash Commands · Keyboard Shortcuts