# RepeaterBook

Looks up amateur radio repeaters on RepeaterBook.com by location, band and mode. Useful when the agent is putting together a frequency list for a trip.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: MicaelJarniac
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/MicaelJarniac/repeaterbook
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/repeaterbook

## What it does

RepeaterBook registers as an MCP server in Claude, Codex, Cursor, GitHub Copilot, Windsurf, Cline, Zed and Gemini CLI, handing your agent repeater data from RepeaterBook.com. Queries narrow by location, band and mode; the agent decides what to show.

The server runs as `uvx repeaterbook`, so `uv` has to be on the machine. A `REPEATERBOOK_APP_TOKEN` is required — pass it as an environment variable when you register the server, otherwise it will not start. The Cursor and GitHub Copilot configs also carry `REPEATERBOOK_WORKING_DIR` and `REPEATERBOOK_APP_CONTACT`.

Claude Code takes two forms of registration: a short one with just the token, and a fuller one that sets all three variables and spells out `--transport stdio`. Behind a proxy or a private package mirror, configure that in your environment or the tool's config file rather than on the install line.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `REPEATERBOOK_APP_TOKEN`, `REPEATERBOOK_WORKING_DIR`, `REPEATERBOOK_APP_CONTACT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env REPEATERBOOK_APP_TOKEN=<REPEATERBOOK_APP_TOKEN> --env REPEATERBOOK_WORKING_DIR=<REPEATERBOOK_WORKING_DIR> --env REPEATERBOOK_APP_CONTACT=<REPEATERBOOK_APP_CONTACT> --transport stdio repeaterbook -- uvx repeaterbook
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from repeaterbook <command>

### Codex

**Platform CLI**
```bash
codex mcp add repeaterbook --env REPEATERBOOK_APP_TOKEN=<REPEATERBOOK_APP_TOKEN> --env REPEATERBOOK_WORKING_DIR=<REPEATERBOOK_WORKING_DIR> --env REPEATERBOOK_APP_CONTACT=<REPEATERBOOK_APP_CONTACT> -- uvx repeaterbook
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from repeaterbook <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "repeaterbook": {
            "command": "uvx",
            "args": [
                "repeaterbook"
            ],
            "env": {
                "REPEATERBOOK_APP_TOKEN": "<REPEATERBOOK_APP_TOKEN>",
                "REPEATERBOOK_WORKING_DIR": "<REPEATERBOOK_WORKING_DIR>",
                "REPEATERBOOK_APP_CONTACT": "<REPEATERBOOK_APP_CONTACT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from repeaterbook <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "repeaterbook": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "repeaterbook"
            ],
            "env": {
                "REPEATERBOOK_APP_TOKEN": "<REPEATERBOOK_APP_TOKEN>",
                "REPEATERBOOK_WORKING_DIR": "<REPEATERBOOK_WORKING_DIR>",
                "REPEATERBOOK_APP_CONTACT": "<REPEATERBOOK_APP_CONTACT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from repeaterbook <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e REPEATERBOOK_APP_TOKEN=<REPEATERBOOK_APP_TOKEN> -e REPEATERBOOK_WORKING_DIR=<REPEATERBOOK_WORKING_DIR> -e REPEATERBOOK_APP_CONTACT=<REPEATERBOOK_APP_CONTACT> repeaterbook uvx repeaterbook
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from repeaterbook <command>

## When to use it
- pull up repeaters near a given location
- filter repeaters by band and mode
- build a frequency list for travel
- check which repeaters cover an area
- query RepeaterBook without leaving the chat

## Example prompts
- Find repeaters within 50 km of my city on the 2 m band
- Show DMR repeaters in this region
- List 70 cm repeaters for my trip

## Similar
- [parallel-data-enrichment](https://affpapa.org/en/nevibecode/skills/parallel-data-enrichment.md) — skill · 13500 installs
- [parallel-monitor](https://affpapa.org/en/nevibecode/skills/parallel-monitor.md) — skill · 12300 installs
- [okx-cex-earn](https://affpapa.org/en/nevibecode/skills/okx-cex-earn.md) — skill · 9200 installs
- [office-mcp](https://affpapa.org/en/nevibecode/skills/office-mcp.md) — skill · 6900 installs
- [Asana Automation](https://affpapa.org/en/nevibecode/skills/asana-automation.md) — skill · 6900 installs
- [automation-flow-generate](https://affpapa.org/en/nevibecode/skills/automation-flow-generate.md) — skill · 6400 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
