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.
Agent keys are issued per park and per integration during the pilot. Tell us your park, tenant host and the scopes you need — you get the key once, we keep only its hash.
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.”