Wraps the Pacer revenue-management platform's API into MCP tools so Claude can pull portfolio rosters, reservations, and year-over-year pacing metrics without you writing integration glue. You get operations for querying unit inventories, analyzing ADR and occupancy deltas against market benchmarks, inspecting Guesty pricing configs and channel promotions, and logging client health briefs that flow into ClickUp and BigQuery. Ships as a single binary with stdio transport, installable via Homebrew on macOS or Scoop on Windows. Requires a personal access token minted by a Pacer admin. Useful if you're managing short-term rental portfolios at scale and want conversational access to operational and performance data without opening the web portal.
PACER_CORE_URLdefault: https://portal.pacerrev.ioBase URL of the pacer/core app (PAT JSON API). Defaults to production (portal.pacerrev.io).
PACER_CORE_TOKEN*secretPersonal access token (pat_...) issued via `pacer pat create`. Requires the employee role or higher.
An MCP server that exposes pacer/core API endpoints as native tools for Claude Code (and any other MCP-aware client). One binary, stdio transport, no fuss.
brew install STR-Consulting/tap/pacer-mcp
scoop bucket add pacer https://github.com/STR-Consulting/scoop-bucket
scoop install pacer-mcp
Non-programmer? See docs/windows-setup.md for a copy-paste prompt to hand to your AI assistant.
For server/automation use. Replace <version> and pick amd64 or arm64:
curl -fsSL https://github.com/STR-Consulting/mcp/releases/latest/download/pacer-mcp_<version>_linux_amd64.tar.gz | tar -xz
sudo install pacer-mcp /usr/local/bin/
Or use the OCI image: ghcr.io/str-consulting/pacer-mcp:latest (linux/amd64 + linux/arm64).
go install github.com/STR-Consulting/pacer-mcp@latest
Add to your MCP config (e.g. .mcp.json in your project or your Claude Code user config):
{
"mcpServers": {
"pacer": {
"command": "pacer-mcp",
"env": {
"PACER_CORE_URL": "https://portal.pacerrev.io",
"PACER_CORE_TOKEN": "pat_..."
}
}
}
}
| Env var | Description | Default |
|---|---|---|
PACER_CORE_URL | Base URL of the pacer/core app (PAT JSON API is mounted here) | https://portal.pacerrev.io |
PACER_CORE_TOKEN | Personal access token, format pat_... | (unset) |
Run health_check after install to confirm the server can reach core.
PATs are minted by a core admin via pacer pat create --user <email> --label <name>; they require an employee-or-higher role and are sent as Authorization: Bearer pat_....
Each tool's full description (caveats, when to use, args) is returned to the MCP client at registration time — agents see them at tool-selection time. The list below is a quick index.
| Tool | What it does |
|---|---|
health_check | Pings the Pacer API and reports config + reachability |
| Tool | What it does |
|---|---|
list_briefable_portfolios | Enumerate active portfolios (optional q name filter) |
list_portfolio_teams | Bulk: notification team (RM/RD/Jon) for every portfolio |
get_portfolio_team | Notification team for a single portfolio |
list_portfolio_units | Unit roster: bedrooms, type, managed/active, location |
list_portfolio_reservations | Reservations in a date range (by check_in/check_out/booked_on) |
| Tool | What it does |
|---|---|
get_portfolio_pacing | Recent reservations w/ YoY rent/ADR/ABW/LOS + anomaly score |
get_portfolio_metrics_ytd | CY vs PY YTD: revenue, ADR, occupancy, RevPAR, LOS, count |
get_portfolio_market_metrics | One-month CY vs PY + market benchmark deltas; optional decomposition |
| Tool | What it does |
|---|---|
guesty_pricing_config | Per-unit pricing intent: base price, fees, min/max nights, factors, channel settings |
guesty_reservation_promotions | Channel-applied promos on reservations in a month (Airbnb, Vrbo, etc.) |
| Tool | What it does |
|---|---|
get_client_health_brief | Latest (or dated) sentiment brief for a portfolio |
upsert_client_health_brief | Log a lightweight sentiment brief (1-5 + stage + payload) |
list_client_health_briefs | Dashboard view: latest brief per portfolio as of a date |
get_client_health_scoring_config | Scoring weights, labels, and tier thresholds |
upsert_intel_brief | Publish a full intel brief (Postgres + ClickUp task + BigQuery mirror) |
| Tool | What it does |
|---|---|
list_managed_keydata_units | Pacer-managed unit UUIDs for a KeyData customer account |
Not wrapped:
POST /portfolios/{p}/intel-brief/attachments(multipart binary upload). MCP has no natural multipart story.
go build -o pacer-mcp .
go test ./...
golangci-lint run --fix ./...
Releases are automated — push a v* tag and GitHub Actions builds darwin-arm64, windows-amd64, and linux-{amd64,arm64} binaries (plus a ghcr.io/str-consulting/pacer-mcp OCI image), then updates the Homebrew tap and Scoop bucket and publishes to the MCP Registry.
MIT
explorium-ai/vibeprospecting-mcp
io.github.compuute/lead-enrichment
dev.workers.selbyventurecap.cf-worker/apollo-salesforce-mapper
io.github.br0ski777/company-enrichment
com.mcparmory/apollo
mambalabsdev/mcp-gtm-tech-stack-signal-scraper