# Hermes

This quickstart shows how to connect Hermes to Swytchcode using the CLI and MCP setup.

## Step-by-step setup

### Step 1: Install the Swytchcode CLI

**npm**

```bash
npm install -g swytchcode
```

**Windows**

```powershell
irm https://cli.swytchcode.com/install.ps1 | iex
```

**macOS / Linux**

```bash
curl -fsSL https://cli.swytchcode.com/install.sh | sh
```

Use `swy` as a shorter alias for `swytchcode`.

### Step 2: Initialize Swytchcode for Hermes

```bash
cd /path/to/your/project
swy init --editor=hermes --mode=sandbox
```

This creates:

- `.swytchcode/` with [`tooling.json`](/configuration/tooling-json/) — the trust boundary that lists exactly which tools Hermes is allowed to call
- `AGENTS.md` in the repo root — the agent contract file describing available tools and conventions for Hermes to follow
- `~/.hermes/config.yaml` with the MCP server configuration

### Step 3: Fetch an integration

Search for available integrations (or browse the full list at [swytchcode.com/apis](https://www.swytchcode.com/apis)):

```bash
swy search
```

Fetch one, such as Stripe:

```bash
swy get stripe
```

### Step 4: Add tools to the trust boundary (`tooling.json`)

Add a specific method:

```bash
swy add method stripe.charge.create
```

Add a workflow:

```bash
swy add workflow stripe.checkout
```

Or add everything from a project:

```bash
swy add method --all stripe
```

Verify the added tools:

```bash
swy list tooling
```

Note: Hermes supports separate `add method` and `add workflow` commands, and these are also exposed as MCP tools such as `swytchcode_add` and `swytchcode_add_workflow`.

### Step 5: Start the MCP server

The MCP server starts automatically when Hermes connects through the config written during initialization. If you want to start it manually:

```bash
swy mcp serve
```

### Step 6: Use Hermes

Open your project in Hermes. The agent now has access to the Swytchcode MCP tools, including workflow-aware tooling.

You can ask prompts such as:

```text
List all available Stripe methods and create a charge.
```

Hermes will:

- call `swytchcode_list` with the `tooling` filter to confirm enabled tools
- call `swytchcode_info` to inspect schemas
- generate runtime code that uses `swy exec`

## Example projects

- [Zoom via MCP](https://github.com/swytchcodehq/swytchcode-examples/tree/main/zoom-swytchcode-demo) - Drives Zoom entirely through Swytchcode as an MCP server in Claude, Cursor, Codex, Copilot, or Windsurf.
