Give your AI agent a scoped key to your park’s tenant and it can keep occupancy in sync with your PMS, read per-day availability and check your direct-booking price bands — over MCP, from the tools you already use.
Paste the prompt into any agent: it reads /agents/prompt.md and configures itself — after asking you for your tenant host and agent key.
Every guide uses the same two placeholders: your tenant host (<tenant>.pitchpace.app) and your agent key (ppag_…). Any other MCP client works with the generic config below.
Terminal-based agent by Anthropic. One command registers the PitchPace tenant server; tools appear scoped to your key.
TerminalView guide →Claude as a chat-first desktop app for macOS and Windows — no terminal needed once the bridge is configured.
Desktop appView guide →AI-first IDE built on VS Code. A project-level mcp.json makes the PitchPace tools available to its agent.
IDEView guide →Copilot agent mode with native MCP support. The inputs block prompts for your key once and keeps it out of the repo.
IDEView guide →OpenAI’s coding agent for terminal and IDE. Registers HTTP MCP servers with bearer auth from an environment variable.
TerminalIDEView guide →Google’s open-source terminal agent. Streamable HTTP servers register with one command or a settings.json entry.
TerminalView guide →Agentic IDE with Cascade. Remote MCP servers are configured with serverUrl in mcp_config.json.
IDEView guide →Open-source terminal agent that works with 75+ models. Remote MCP servers with custom headers.
TerminalOpen sourceView guide →Rendered from the same capability registry the endpoint serves — what you see here is exactly what tools/list returns for a fully scoped key. The precise contracts live in skill.md.
| TOOL | WHAT IT DOES | SCOPE | ACCESS |
|---|---|---|---|
| list_units | List unit types | occupancy:read | READ |
| get_occupancy | Read per-day occupancy | occupancy:read | READ |
| set_occupancy | Set per-day occupancy | occupancy:write | WRITE |
| list_availability_blocks | List availability blocks | occupancy:read | READ |
| get_price_grid | Read the price grid | rates:read | READ |
List unit types, read per-day occupancy, list availability blocks.
Declare externally sold occupancy (OTA, PMS, walk-ins) per day — reduces public availability immediately.
Read the direct-booking price grid: nightly bands, extras, minimum stay, tourist tax.
The ppag_ key both authenticates and selects your tenant. There is no tenant parameter in the protocol, so a manipulated prompt cannot redirect reads or writes to another park.
A key carries only the scopes you asked for; tools outside them are invisible and uncallable. Revoking a key cuts access immediately. Only a hash of the secret is stored.
The only write, set_occupancy, declares externally sold occupancy per day. It never touches your manual blocks, iCal feeds or direct bookings — and you see every agent record, with its note, in the cockpit.
Running a park on PitchPace? Mint and revoke keys yourself in your cockpit under Direct → AI agents — the key is shown once, we keep only its hash. Not on PitchPace yet? Tell us your park and the scopes you need.
Request an agent keyTreat the key like a password: environment variables or your client’s secret prompt, never a repo, never a URL. Start with read-only scopes; add occupancy:write once you have seen the reads behave.
Streamable HTTP, stateless JSON, POST only, bearer auth. Any MCP client that can send a header connects with this:
{
"mcpServers": {
"pitchpace": {
"type": "http",
"url": "https://<tenant>.pitchpace.app/api/agent/mcp",
"headers": { "Authorization": "Bearer ppag_<key-id>.<secret>" }
}
}
}First thing to ask once connected: “List my PitchPace unit types and this week’s per-day occupancy.”