# Install from Hub

> Browse the Aerostack Hub, install community MCP servers with one click, configure secrets, and add them to your workspace. No server to run.

The Aerostack Hub hosts 30+ community MCP servers — GitHub, Stripe, Slack, Notion, Linear, Sentry, and more. Install any of them into your workspace with one command. They run on Cloudflare edge via service bindings, so there is no server for you to manage.

---

## Prerequisites

1. An Aerostack account at [aerostack.dev](https://aerostack.dev)
2. The Aerostack CLI installed and authenticated
3. A workspace created (see [Quick Start](/mcp/quick-start))

---

## Browse Available MCP Servers

Browse the full catalog at [aerostack.dev/hub](https://aerostack.dev/hub). Each listing shows:

- Server name and description
- Available tools (e.g., `create_issue`, `list_pull_requests`)
- Required secrets (e.g., `GITHUB_TOKEN`)
- Install count and rating

Click **Install** to add it to your workspace from the web.

```bash
# Search by keyword
aerostack mcp search "github"

# Search by category
aerostack mcp search --category "developer-tools"

# List all available
aerostack mcp list --hub
```

---

## Install an MCP Server

1. **Choose and install**

   ```bash
   aerostack mcp install @aerostack/github-mcp
   ```

   If you have multiple workspaces, specify which one:

   ```bash
   aerostack mcp install @aerostack/github-mcp --workspace my-workspace
   ```

1. **Configure required secrets**

   Most MCP servers need API credentials. The CLI prompts you interactively:

   ```bash
   # -> @aerostack/github-mcp requires the following secrets:
   # -> GITHUB_TOKEN: A GitHub personal access token with repo scope
   # -> Enter GITHUB_TOKEN: ghp_xxxxxxxxxxxx
   # -> Secret stored (AES-GCM encrypted in your workspace).
   ```

   You can also set secrets non-interactively:

   ```bash
   aerostack secrets set github-mcp GITHUB_TOKEN "ghp_xxxxxxxxxxxx"
   ```

   
   Secrets are encrypted with AES-GCM before storage. They are injected as headers at request time. Team members who connect via workspace tokens never see the raw API key. See [Secrets and Security](/mcp/secrets-security) for details.
   

1. **Verify the installation**

   ```bash
   aerostack mcp list
   # Workspace: my-workspace
   # -------------------------------------------------
   # @aerostack/github-mcp    v2.1.0    github__create_issue, github__list_pull_requests, ...
   # @aerostack/slack-mcp     v1.4.2    slack__send_message, slack__create_channel, ...
   ```

   The tools are now available through your workspace gateway URL. No editor config change needed.

---

## Available MCP Servers

A selection of popular servers on the Hub:

| Server | Tools | Required Secrets |
|--------|-------|-----------------|
| `@aerostack/github-mcp` | Issues, PRs, repos, actions, search | `GITHUB_TOKEN` |
| `@aerostack/stripe-mcp` | Customers, charges, subscriptions, invoices | `STRIPE_API_KEY` |
| `@aerostack/slack-mcp` | Messages, channels, users, reactions | `SLACK_BOT_TOKEN` |
| `@aerostack/notion-mcp` | Pages, databases, blocks, search | `NOTION_API_KEY` |
| `@aerostack/linear-mcp` | Issues, projects, cycles, teams | `LINEAR_API_KEY` |
| `@aerostack/sentry-mcp` | Issues, events, releases, projects | `SENTRY_AUTH_TOKEN` |
| `@aerostack/cloudflare-mcp` | Workers, databases, cache, storage, DNS | `CF_API_TOKEN` |
| `@aerostack/postgres-mcp` | SQL queries against any Postgres database | `DATABASE_URL` |
| `@aerostack/resend-mcp` | Send and manage emails | `RESEND_API_KEY` |

Browse the full list at [aerostack.dev/hub](https://aerostack.dev/hub).

---

## Managing Installed Servers

### Update to latest version

```bash
# Update a specific server
aerostack mcp update @aerostack/github-mcp

# Update all servers in your workspace
aerostack mcp update --all
```

### Remove a server

```bash
aerostack mcp remove @aerostack/github-mcp
# -> Removed github__create_issue, github__list_pull_requests, ... from workspace
```

Removing a server also removes its secrets from your workspace.

### Change secrets

```bash
# Rotate an API key
aerostack secrets set github-mcp GITHUB_TOKEN "ghp_new_token_here"
# -> Secret updated. Takes effect on next tool call.
```

---

## How Hub Servers Work

When you install from the Hub, the MCP server runs on Cloudflare edge via service bindings. The flow:

```mermaid
sequenceDiagram
    participant Editor as AI Client (Cursor)
    participant GW as Workspace Gateway
    participant MCP as Hub MCP Server(Cloudflare Edge)
    participant API as External API(github.com)

    Editor->>GW: tools/call github__create_issue
    Note over GW: Authenticate workspace token
    Note over GW: Decrypt secrets (AES-GCM)
    GW->>MCP: Forward request + injected secrets
    MCP->>API: POST /repos/owner/repo/issuesAuthorization: Bearer ghp_...
    API-->>MCP: 201 Created
    MCP-->>GW: { content: [{ type: "text", text: "Issue #42 created" }] }
    Note over GW: Log analytics (user, tool, timestamp)
    GW-->>Editor: Tool result
```

Key points:

- The MCP server runs on Cloudflare edge — no cold starts, globally distributed
- Your API key is decrypted and injected by the gateway, not stored in the MCP server itself
- Every call is logged with the workspace token identity for analytics

---

## Install via Admin Dashboard

You can also install MCP servers from the web:

1. **Go to the Admin dashboard**

   Navigate to **MCP Servers** in the left sidebar.

1. **Click "Browse Hub"**

   This opens the Hub catalog within the dashboard.

1. **Click "Install" on the server you want**

   The dashboard prompts you for any required secrets.

1. **Enter secrets and confirm**

   The server appears in your workspace immediately.

---

## Discover Tools at Runtime

Your workspace gateway includes a built-in `find_skill` meta-tool. Your AI assistant can discover and suggest new MCP servers mid-conversation:

```
You: "I need to check our Sentry errors."
Agent: I found @aerostack/sentry-mcp on the Hub. Want me to install it?
You: "Yes."
Agent: Installed. Fetching your recent Sentry issues now...
```

---

## Next Steps

- [Host your own MCP server](/mcp/host-on-aerostack)
- [Proxy an existing MCP server](/mcp/proxy-existing)
- [Manage secrets](/mcp/secrets-security)
- [Invite team members](/mcp/team-management)
