Skip to main content
OPEN STANDARD

One install. Every agent gets the tool.

MCP — the Model Context Protocol — is the open standard that lets agents call external apps and services as if they were built-in tools. Connect a server once and every agent in your workspace can use it. No per-agent wiring, no API wrapper code, no secrets sitting on disk unprotected.

How it works at runtime

Watch an agent discover and call a tool.

Agents never hardcode tool names. They search the live catalog, read the description, and call the right tool — lazy discovery means you can add a new MCP server and agents find its tools automatically, no prompt-editing required.

chat · maya — “post a Slack update about the deploy”
tool · search_mcp_tools · “send slack message”
result3 tools matched in the connected MCP catalog:
slack_post_messagePost a message to a Slack channel or DM
slack_post_thread_replyReply inside an existing Slack thread
slack_update_messageEdit a message you previously posted
tool · describe_mcp_tool · “slack_post_message”
resultRequired: channel (string), text (string). Optional: blocks (array). OAuth scope: chat:write.
tool · slack_post_message · #deploys
mayaPosted to #deploys: “v2.4.1 is live — rollout complete, no errors in the first 5 min window.”
Lazy discovery. Agents call search_mcp_tools at runtime — they never need a hardcoded list of tool names. Add a server and it is automatically findable.
Describe before calling. describe_mcp_tool fetches the full schema for a specific tool — required parameters, types, and OAuth scopes — so the agent calls it correctly the first time.
One server, every agent. The Slack server was installed once at the workspace level. Maya found and called it without any per-agent setup.
Real unlocks

What one server connection unlocks.

Install a server, authorize once, and your agents can act on live data the same hour — no integration code, no export pipeline.

Dario · Sales
Connects the Linear MCP server. His standup agent queries open issues, pulls cycle progress, and posts a 10-line digest to Slack before the 09:00 call — without Dario touching the board.
saves ~25 min/day
June · E-commerce
Connects the Stripe MCP server. Her support agent looks up payment intent status and charge history mid-chat, so refund decisions happen in the same conversation — no dashboard tab-switching.
live in 10 min
Sam · Solo founder
Connects the Notion MCP server. After each call, his meeting agent writes a structured note — attendees, decisions, next actions — directly into the right Notion database page, filed and linked before Sam closes the window.
saves ~3 hrs/wk

Your agents act on your live tools — not on a stale copy of your data exported last Tuesday.

MCP design principle · every tool call reaches the real system

Live health

Reading the status dots.

Every server in the installed strip shows a live dot. Actionist polls connection state every 2 seconds after any change, for up to 5 minutes, so the dot reflects real runtime state — not a stale cache. The pulse behavior itself signals urgency.

Connected

The server is running and its tools are available to agents. Steady — no pulse needed.

no action required
Connecting…

Actionist is spinning up or negotiating the connection. Wait — it will resolve to Connected or Error.

wait a moment
Needs auth

The OAuth token is missing or expired. Open the drawer and click Connect to start a fresh PKCE flow — no reinstall.

click Connect in drawer
Disabled

You or a policy turned the server off. Its tools are hidden from agents. Toggle it back on to reconnect without re-entering credentials.

toggle on in drawer
Error

The server process exited or returned an error. Open the drawer to read the error message, then reconnect or edit the config.

read error in drawer
Actionist · MCP drawer · Needs auth
SlackNeeds auth

Post messages, manage channels, and read workspace data. Requires OAuth — sign in to authorise Actionist.

Needs auth — OAuth token missing or expired

Mock illustration — replace with the real screenshot when available.

Transports

Three ways a server connects.

Every MCP server communicates over one of three transports. Actionist handles all three — the transport determines where the server runs and how Actionist reaches it.

STDIO
Transport STDIO — Actionist spawns the server as a child process on your machine
Command uvx
Arguments mcp-server-filesystem /Users/me/data
Env vars WORKSPACE_ROOT=/Users/me/data

When to use: Any server packaged as a CLI binary — Python-based servers via uvx, Node-based via npx, Go binaries, and custom scripts. The server process lives on your machine; Actionist communicates over its stdin/stdout. Needs a runtime dependency (uv, node, etc.) — see Dependency management below.

HTTP
Transport HTTP — Actionist sends JSON-RPC requests to a remote URL
Auth header Authorization: Bearer {token}
Timeout 30 s (default)

When to use: Hosted MCP servers — your own backend, a team-shared service, or any third-party endpoint that speaks the MCP HTTP transport. No local runtime needed. Credentials go through the vault — check the Secret checkbox for the token and select Authorization Bearer as the Project-as transform.

SSE
Transport SSE — Actionist keeps a persistent event-stream connection open
Reconnect automatic — 5 s back-off
Auth header or query param

When to use: Servers that push state changes to the agent — live data feeds, notification bridges, streaming workflows. The connection stays open; Actionist auto-reconnects with exponential back-off if the stream drops. Credentials are vaulted identically to HTTP.

Navigation

Where to find it.

MCP management lives inside the Apps section — follow the path below to get there.

Left sidebarclickApps tabclick MCPs sub-tabMCPs page · /apps/mcps
Installed stripStatus dots per server
Bundled tab (default)Live catalog — search, sort, install
Custom tabAdd custom MCP server

At the top of the page, the installed strip shows every server you have added with a colored status dot. Below it, the Bundled tab is active by default — this is the live catalog managed by Actionist. The Custom tab shows servers you have added yourself.

Search the catalog using the bar labeled “Search MCPs by name, description, tags”. Sort results by Relevance, Most installed, Highest rated, or Newest. To browse the full community collection, click Explore Marketplace.

Install flow

Install from the catalog.

The steps below follow a Slack installation — an OAuth server — as the example. Servers that do not require OAuth skip steps 5–6.

Slack MCP · OAuth · catalogInstalling…Needs auth — click ConnectConnecting…connected 14 tools available

Open Apps, then MCPs

Click Apps in the left sidebar, then click the MCPs sub-tab at the top of the panel.

Find the server

In the Bundled catalog, type in the search bar or browse by category. Click a server card to open its drawer.

Click Install

Click Install in the drawer. If the server needs a local runtime (e.g., uv for a Python-based server), Actionist checks for it — see Dependency management below.

Fill in required config

If the server has required fields (environment variables, API base URLs), the Configure modal appears automatically. Fill in the fields and click Save.

Authorize via OAuth if required

OAuth-protected servers show an orange Needs auth dot after install. Click Connect in the drawer. Actionist opens your default browser for the OAuth PKCE flow. Authorize the app and return — the token saves automatically.

Confirm the green dot

Once authorized, the status dot turns green and shows Connected. The server’s tools are now available to every agent in your workspace.
Actionist · Apps · MCPs · /apps/mcps
SlackConnected · 14 tools
LinearNeeds auth
FilesystemDisabled
BundledCustom
Explore Marketplace
Search MCPs by name, description, tags
GitHubVersion control
NotionKnowledge
JiraProject mgmt
StripePayments
PostgresDatabase
FigmaDesign

Mock illustration — replace with the real screenshot when available.


Custom servers

Add your own server.

Click Add custom MCP on the MCPs page. The modal opens with two input modes — pick the one that fits your situation.

Use the Form view when you are configuring a server from scratch. Every field has its own labeled input.

Open the modal

Click Add custom MCP on the MCPs page. The Add custom MCP server modal opens showing the Form view by default.

Name and describe the server

Enter a Name (e.g., “Internal KB”) and a short Description so you know what this server exposes later.

Choose the transport

Select STDIO, HTTP, or SSE. For a local subprocess, choose STDIO and fill in the Command (e.g., uvx) and Arguments (e.g., mcp-server-filesystem /data).

Add credentials

In the Credentials section, add any environment variables the server needs. For API keys and tokens, check the Secret checkbox next to each sensitive value — see Secret credentials and the vault below.

Test the connection

Click Test. Actionist spins up a temporary connection and shows “Connected · N tools” on success, or an error banner if something is wrong. Nothing is saved until you confirm.

Save the server

Click Add server. The server appears in the installed strip and its tools are immediately available to agents.
Actionist · Add custom MCP server · Form view
FormJSON
Name
Internal KB
Transport
STDIO
Command
uvx
Arguments
mcp-server-filesystem /data
API_KEYsk-••••••••
Secret
TestAdd server

Mock illustration — replace with the real screenshot when available.

Security

Secret credentials and the vault.

Every credential field in the Add Custom modal has a Secret checkbox. When you check it, Actionist routes the value through the credentials vault — it never lands in mcp-servers.json as plaintext. Unchecked values are stored verbatim on disk.

Always mark API keys, tokens, and passwords as Secret before saving. Unchecked values are written to mcp-servers.json in plain text. If you saved a key without checking Secret, rotate it and re-save with Secret checked.

Once a value is vaulted, you can rotate it from Settings → Credentials Vault and every MCP server bound to that credential picks up the new value automatically — no per-server edit required.

Secret checkboxYou mark a credential field as Secret in the Add Custom modal.
Vault entryThe value is stored encrypted in Settings → Credentials Vault — never in mcp-servers.json.
Project-asYou choose how the vault injects the secret: env var, Bearer header, custom header, or JSON wrapper.
Runtime injectAt spawn time the real value is injected silently. Rotate in the vault once; every bound server updates.

Project-as transforms

After marking a credential as Secret, choose how Actionist injects it into the server process using the Project as dropdown:

Direct

The raw credential value is passed as-is — as an environment variable or inline in the command. Use this for servers that accept the token directly.

Bearer

Wraps the value in an Authorization: Bearer <token> header at spawn time. Use for HTTP/SSE servers expecting a standard Bearer auth header.

Custom

Define a custom header name and value template. Use when the downstream server expects a non-standard auth header (e.g., X-Api-Key: <token>).

JSON

Wraps the credential in a JSON object and injects it as a single environment variable. Useful for servers that accept a structured JSON blob as their auth config.

Manage

Managing installed servers.

Click any server in the installed strip to open its drawer. From there you can inspect it, adjust it, or remove it.

Actionist · MCP drawer · Connected
GitHubConnected · 8 tools

Interact with GitHub repos, issues, pull requests, and actions from any agent.

github_create_issue
github_list_pull_requests
github_merge_pull_request
github_get_file_contents
github_search_code

Mock illustration — replace with the real screenshot when available.

Re-authenticate an OAuth server

If a server shows Needs auth (orange) or Error with an authentication cause, you do not need to uninstall and reinstall. Open the drawer and click Connect (or Reconnect if shown). Actionist restarts the PKCE OAuth flow in your browser and overwrites the stale token. The status dot returns to green once you authorize.
Disable (toggle in the drawer) stops the server process and hides all its tools from agents — without deleting any config or credentials. Toggle it back on to reconnect instantly. Use this when you want to temporarily pause an integration.Uninstall removes the server. The behavior differs by server type — see the table below.
The uninstall action means something different depending on where the server came from:
Server typeWhat happens on uninstall
BundledCannot be removed. Disabling is the only option — it stops the connection and hides its tools until re-enabled.
CustomThe server’s entry in mcp-servers.json is deleted. This is not reversible from the dialog.
MarketplaceEnds the marketplace subscription and removes the local config. You can reinstall any time from the catalog.
Click Edit config in the drawer to update a custom server’s command, URL, environment variables, or credentials without removing it. After reconnecting, the Discovered tools section lists every tool the server exposed, so you can verify the connection picked up what you expected.
From any custom server’s drawer, click Publish to submit it to the community marketplace. This makes it available for other Actionist users to install from the catalog.
Runtimes

Dependency management for local servers.

STDIO servers run as local subprocesses and need a runtime on your machine. Actionist checks for the required runtime before connecting — and for some runtimes, it can install them for you.

If a server needs uv, uvx, deno, bun, or bunx and those are not present, Actionist shows the DependencyInstallModal with an install button and a live log tail inside the app.

See the install prompt

Click Install on a catalog server. If the required runtime is missing, the DependencyInstallModal opens showing the runtime name and an Install button.

Install in-app

Click Install. The modal tails the install logs live — you can watch the runtime download and configure without leaving the app.

Connect automatically

Once the install completes, Actionist proceeds to connect the server. No terminal required.
Actionist · DependencyInstallModal · uv

Runtime required: uv

This server requires the uv Python package manager. Actionist can install it for you — no terminal needed.

Checking for uv on PATH…Not found. Starting install…Downloading uv 0.4.18 for darwin-arm64…Extracting archive…Successfully installed uv 0.4.18
Install

Mock illustration — replace with the real screenshot when available.


The idea

A single plug for the whole internet.

Instead of writing hard-coded integrations, Actionist connects to MCP servers. The growing catalog means new integrations arrive without waiting for an app update. Agents make no distinction between a native Actionist action and an MCP tool at runtime.

Connect a server once and every agent you have can call its tools. No per-agent configuration, no duplicated credentials.

Instead of writing HTTP client code for each service, Actionist connects to MCP servers and agents call their tools through the standard protocol.

API keys and OAuth tokens are encrypted at rest in the vault. Rotate once in Settings; every bound server picks up the new value silently.

Agents search the tool catalog at runtime — add a new server and its tools are findable without rewriting a single agent instruction.

Tools from all connected servers are available by default, but the Agent Studio Tools tab lets you restrict which servers each agent is allowed to use.

MCP is an open protocol. Any conformant server works with Actionist — community, enterprise, or your own.

MCP management — adding custom servers, viewing the Custom tab, and editing configs — requires the Actionist desktop app. The web app can browse the catalog but cannot add or manage custom servers.
Best practices

Tips that save time.

Mark all API keys as Secret before saving

In the Credentials section, check the Secret checkbox next to every API key, token, or password. Checked values go to the vault; unchecked values land on disk as plaintext in mcp-servers.json. If you saved a key without checking Secret, rotate the credential and re-save with the checkbox checked.
The Test button spins up a temporary connection and lists the discovered tools without writing anything to mcp-servers.json. Use it to catch bad URLs, wrong command flags, or missing required env vars before committing. If you see “Connected · N tools,” you know the server is wired correctly.
If an OAuth server shows Needs auth or Error, open the drawer and click Connect or Reconnect. Actionist restarts the OAuth flow and overwrites the stale token — no uninstall/reinstall cycle required.
The toggle in the drawer pauses a server without deleting its config or credentials. If you are testing a different server that does the same job, disable the original rather than uninstalling it — you can switch back instantly.
By default, tools from all connected MCP servers are available to every agent. In the Agent Studio → Tools tab, you can remove specific MCP servers from an agent’s allowed list. Fewer servers mean a cleaner context window and faster, more accurate tool selection for that agent.
If you already have MCP server configs in standard format, switch to the JSON view in the Add Custom modal and paste the JSON. The normalizer detects the format automatically and fills in all fields — no manual re-entry.
Instant access

Start connecting your world.

Install a server from the catalog, mark your credentials as Secret, and every agent you have gains the tools to do real work — without touching a line of integration code.

Credentials routed to the vault never touch disk as plaintext.
Vaulted secrets · OAuth with PKCE · Scoped per agent.

Keep going

Next steps.

Credentials vault

Manage vaulted secrets, rotate API keys once, and see every server they are bound to.

Agents — tools tab

Scope which MCP servers each agent is allowed to use from the Agent Studio Tools tab.

Marketplace

Browse, install, and publish MCP servers to the community catalog.

Skills

Combine MCP tools with instructions into reusable, shareable behavior packs.