# Set up RecordMeeting for your agent

These are the official RecordMeeting setup instructions. Work through them in order, run the commands yourself, and tell the user what you are doing as you go.

RecordMeeting records Google Meet, Zoom, Teams, WebEx, Telegram, Discord and WhatsApp calls, then transcribes and summarizes them. Connecting it over MCP lets you list the user's meetings, read their transcripts, search across them, and pull the notes for a call.

## Step 1: Get an API key

The MCP server authenticates with a RecordMeeting API key.

Ask the user for their key. If they do not have one, tell them to open https://recordmeeting.com/app/settings, create a key in the API keys section, and paste it back to you. Wait for the key before continuing. A key is shown once at creation, so if the user has lost theirs they need to create a new one.

Once the key is in place, never print it back to the user, never echo it in a command you show them, and never write it into a file that is tracked by version control.

## Step 2: Install the MCP server

The server URL is `https://api.recordmeeting.com/mcp`. It speaks streamable HTTP and takes the key as a bearer token. There is no OAuth flow and no local process to run, so ignore any instinct to install a package or wrap the server in a stdio bridge.

Pick the section that matches the user's tool. Replace `YOUR_API_KEY` with their key everywhere it appears.

### Claude Code

```bash
claude mcp add recordmeeting --transport http --url https://api.recordmeeting.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
```

Ask the user to restart Claude Code so the server is picked up.

### Cursor

Write `.cursor/mcp.json` in the project, or `~/.cursor/mcp.json` to make it available everywhere:

```json
{
  "mcpServers": {
    "recordmeeting": {
      "url": "https://api.recordmeeting.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
```

If the file already exists, merge the `recordmeeting` entry into the existing `mcpServers` object instead of overwriting the file.

### Claude Desktop

Same shape, in `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "recordmeeting": {
      "url": "https://api.recordmeeting.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
```

The file lives at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS and `%APPDATA%\Claude\claude_desktop_config.json` on Windows. Ask the user to quit and reopen Claude Desktop afterwards.

### Codex

Add to `~/.codex/config.toml`, or to `.codex/config.toml` for a single project:

```toml
[mcp_servers.recordmeeting]
url = "https://api.recordmeeting.com/mcp"
http_headers = { Authorization = "Bearer YOUR_API_KEY" }
```

### ChatGPT desktop

ChatGPT desktop shares the Codex configuration, so the block above applies. The user can also add the server through Settings, then MCP servers.

### Any other agent

If the tool supports remote MCP servers over HTTP, point it at `https://api.recordmeeting.com/mcp` and set the header `Authorization: Bearer YOUR_API_KEY`. That is all the server needs.

## Step 3: Check that it works

Confirm the connection before telling the user you are done.

1. Call `list_recordings` with `status` set to `COMPLETED` and `limit` set to `1`.
2. Take the `id` from the result and call `get_transcript` with it as `recording_id`.

If both calls return data, the setup is working. Report the title of the recording you found so the user can see it reached their real account.

If a call fails with a 401, the key is wrong, expired, or was revoked. Send the user back to https://recordmeeting.com/app/settings for a fresh one. If the user has no completed recordings yet, `list_recordings` returns an empty list, which still confirms the connection is good.

## What you can do once connected

| Tool | Purpose |
| --- | --- |
| `list_recordings` | List recordings, filtered by status, date, folder or organization |
| `get_recording` | Details for one recording, including the meeting notes |
| `get_transcript` | Transcript segments for a recording |
| `search_recordings` | Search by keyword across titles and transcripts |
| `get_recording_by_date` | Find recordings from a date or date range |
| `update_recording` | Change a recording title or its meeting notes |
| `delete_recording` | Delete a recording permanently |
| `get_share_link` | Create or replace a sharing link |
| `list_organizations` | Organizations the user belongs to |
| `list_folders` | Folders in an organization |
| `list_members` | Members of an organization |

`delete_recording` is irreversible and `get_share_link` makes a recording reachable by anyone holding the link. Confirm with the user before calling either one.

## Resources

- MCP guide: https://support.recordmeeting.com/user-guide/mcp-server
- API authentication: https://support.recordmeeting.com/api-reference/authentication
- API keys: https://recordmeeting.com/app/settings
- This file: https://recordmeeting.com/agent-setup/prompt.md
